DNS是互联网的电话簿,把域名翻译成IP地址。但正因为它太基础了,一旦被恶意利用,影响面特别大。恶意DNS攻击的种类很多,有劫持、投毒、隧道、放大,每种的原理和防护手段都不一样,做网络安全和运维的都得了解。
最常见的是DNS劫持。用户访问某个域名,本来应该解析到正常的IP,结果被改成了攻击者的IP,用户就被引导到钓鱼网站或者广告页面。劫持的手法有几种:一种是改路由器的DNS设置,用户连WiFi后自动用攻击者的DNS;一种是运营商层面的劫持,返回带广告的页面;还有一种是本地hosts文件被篡改。防护上,用可信的DNS比如114、阿里DNS、Google DNS,开启DNSSEC验证域名签名,能挡住大部分劫持。
DNS投毒比劫持更隐蔽。攻击者利用DNS协议的漏洞,向缓存服务器注入伪造的解析记录,让缓存服务器把错误的结果返回给所有查询这个域名的用户。著名的Kaminsky攻击就是利用了DNS事务ID的可预测性,伪造响应包。防护手段包括增大事务ID的随机性、源端口随机化、部署DNSSEC,运营商和大型DNS服务商一般都做了这些加固。
DNS隧道是另一种威胁,把数据偷偷藏在DNS请求和响应里传出去,绕过防火墙的内容检测。比如把要外传的数据编码成子域名,向攻击者控制的DNS服务器发查询,服务器再把数据放在响应里传回来。因为DNS流量一般防火墙是放行的,所以这种手段很难被发现。防护上要做DNS流量的深度检测,看查询的子域名长度、频率、熵值是否异常,再配合白名单限制内部主机能查询的域名。
DNS放大攻击属于DDoS的一种。攻击者发大量伪造源IP的DNS查询请求,而且请求的是记录很大的ANY类型,DNS服务器返回的响应比请求大几十倍,放大效应把受害者的带宽撑爆。防护上,DNS服务器要禁用递归查询给未授权用户,或者做响应率限制,运营商侧要做源地址验证,防止伪造源IP的包。
个人和企业的防护策略不一样。个人用户主要是用可信DNS、定期检查路由器和hosts文件、装安全软件。企业要做的更多:内部部署自己的DNS服务器,配置转发器指向可信上游,开启DNSSEC,做DNS日志审计,部署DNS防火墙或者威胁情报,发现可疑域名及时阻断。重要的内部系统可以用固定的hosts或者私有DNS,不依赖公网解析。
DNS安全这块这几年越来越受重视,DNS-over-HTTPS和DNS-over-TLS逐渐普及,能防止中间链路的窃听和篡改。但协议升级是双刃剑,DoH把DNS流量藏在HTTPS里,企业的安全设备就看不见了,管理和审计反而更难。所以部署的时候要平衡安全和可控性,不能一刀切。
上一篇:TI DM365图像处理平台入门:达芬奇系列视频编解码方案
下一篇:没有了