DNS
DNS概述
域名系统(Domain Name System,DNS)在Internet上具有 举足轻重的作用,负责在域名和IP地址之间进行转换。
因特网的域名系统被设计成为一个联机分布式数据库系统,并采用客户服务器方式运行。
因特网域名系统采用层次树状结构的命名方法,任何一个连接到因特网的主机或路由器都有一个唯一的层次结构的名字,即域名(Domain Name) · · ·.三级域名.二级域名.顶级域名
DNS协议
DNS既可以使用TCP,又可以使用UDP,端口为53。 DNS主从服务器之间区传送传输时使用TCP协议。 客户端与DNS服务器之间传输时用的是UDP协议。
DNS工作流程
递归查询
客户机和服务器之间
反复查询(迭代查询)
服务器之间
DNS安全威胁
安全漏洞体现在
(1) DNS报文只使用序列号来进行有效性鉴别,序列号由客户程 序设置并由服务器返回结果,客户程序通过它来确定响应与查询 是否匹配,这就引入了序列号攻击的危险。
(2) 从协议定义上来看,在DNS应答报文中可以附加信息,该信 息可以和所请求的信息没有直接关系,这样,攻击者就可以在应 答中随意添加某些信息,如:指示某域的权威域名服务器的域名 及IP,导致在被影响的域名服务器上查询该域的请求都会被转向 攻击者所指定的域名服务器上去,从而对网络的完整性构成威胁。
(3) DNS的缓存机制,当一个客户端/DNS服务器,收到有关域名 和IP的映射信息时,它会将该信息存放在缓存中,当再次遇到对 此域名的查询请求时就直接使用缓存中的结果而无需重新查询。 可以通过ipconfig /displaydns命令查看本地DNS缓存信息。
恶意攻击
欺骗
缓存中毒
缓冲区溢出
黑客利用DNS服务器软件存在的漏洞实施攻击,比如特定的输入 没有进行严格检查,那么就有可能被攻击者利用,攻击者构造特 定的畸形数据包来对DNS服务器进行缓冲区溢出攻击。 攻击者不仅可以获得DNS服务器所在域的数据信息,还可以任意修改该域的数据。针对这种攻击需要及时发现BIND的版本漏洞,并进行升级。
危害
1、更改MX记录,造成邮件被截获、修改或删除。 2、更改A记录,将www服务器的域名指向黑客具有的同样www内 容的主机,诱使访问者登陆,获取访问者的密码等相关信息 3、利用这台主机作为攻击其他机器的跳板
拒绝服务攻击
黑客主要利用一些DNS软件的漏洞,如BIND 9版本(版本9.2.0 以前的9系列)。如果向运行BIND的设备发送特定的DNS数据包 请求,BIND就会自动关闭。攻击者只能是BIND停止提供域名解 析服务而不能在服务器上执行任何口令。
造成的危害是:域名无法解析为IP地址,用户无法访问互联网
信息泄露
BIND软件默认设置是允许主机间进行区传送(ZoneTransfer)。 区传送的主要目的是用于主DNS和辅DNS之间的数据同步,使辅 DNS可以从主DNS获得新的数据信息。
危害:一旦启用区传送,而不做任何限制,很可能造成信息泄露,黑客可以获得整个授权域内的所有主机信息,判断主机功能及安全性,从中发现目标进行击。
DNS安全防范
选择安全的没有缺陷的BIND版本
DNS服务器配置正确可靠
隔离DNS服务器:DNS服务器上不应该再运行其他服务
为BIND创建chroot:将某进程限制在指定的目录中,保证该进程只能对该目录及其子目录有所动作,从而保证整个服务器的安全。
隐藏BIND版本号
请求限制:限制DNS服务器的服务范围很重要
限制区传送
关闭动态更新:虽然DNS动态更新规定了怎样的系统才允许更新一台DNS服务器中的记录,但是DNS仍然可能受到威胁,比如攻击者利用IP欺骗,伪装成DNS服务器信任的主机对系统进行更新或者损害,删减、增加、修改资源记录。
其他加固措施
事物签名技术:名主要目的是防止黑客利用IP欺骗对DNS服务器进行攻 击,迫使其进行非法区传送。
DNSSEC:依靠公钥技术对包含在DNS中的信息创建密码签名。它们允许客 户端和域名服务器对任何DNS数据的来源进行验证。
配置DNS Flood Detector:针对DNS服务器的SYN Flood攻击的检测工具,用于侦测恶意的使用DNS的查询功能。
DNS over TLS
DNS over HTTPS