某厂商防止DNS拦截的办法
Categories:
近日发觉 DNS 公共服务有 IP 有异常访问行为, 每秒数十次重复的请求一个域名, 完全不遵循 DNS 协议, 不理会全局生存时间 (TTL)值.
开始时以为该 IP 是攻击者, 观察流量后发现, 主要是某厂商的 App 在疯狂请求 DNS. 后端设置的TTL=10
表示接收到的 DNS 查询返回值生命周期为 10 秒, 这 10 秒内请求者都应该使用这个返回值, 而不是再次请求 DNS 服务器. 但该 App 每秒数十个相同请求, 说明该 App 没有按照 DNS 协议正确处理 TTL 值. 后台拦截请求统计里, 有 90%以上的请求都是该域名的请求.
可能该厂商知道有 DNS 拦截的手段, 采取了你不让我访问, 我就让用户 App 直接 DoS 攻击你的 DNS 服务器的方式. 由于后端同时设置了每秒只允许 20 次突发请求, 该莽撞行为同时会影响到用户的其它正常 DNS 查询, 影响其它 App 的正常使用.
运维看到这样单 IP 疯狂请求同一域名的行为, 不想放行也得放行了.