DNS解析过程
DNS简介
DNS:TCP/IP是基于IP的,网络通信时需要将域名转换为IP地址。DNS服务器由给定的域名给出对应的IP地址。
根域
根域服务器是具有13个IP地址,但服务器的个数不止13个.
这些IP地址通过任播技术,可以在全球任意地方设立这些IP地址的镜像站点.
域的划分
根域下来就是顶级域名(一级域名).
划分:
- 按照行业性质: .com , .gov , .net ...
- 按照国家划分: .cn , .us ...
每个域都有域名服务器(权威服务器).
如:
baidu.com
就是一个顶级域名,而www.baidu.com
是baidu.com
这个域里叫做www的主机.
一级域之后还有二级域,三级域...
域名服务器
提供域名解析的服务器.
记录的类型为A记录(Address),NS记录(Name Server),MX(Mail)和CNAME等.
- A记录: 将域名指向一个IPv4弟子,需要增加A记录.
- CNAME记录: 将域名指向域名,实现与被指向域名相同的访问效果,需要增加CNAME记录.
- MX记录: 建立电子邮箱服务,将指向邮件服务器地址,需要设置MX记录.
- NS记录: 域名解析服务器记录,若要将子域名指定为某个域名服务器来解析,需要设置NS记录.
解析过程
- 若没有指定DNS服务器,则由ISP分配一个DNS服务器,其相当于一个代理的DNS解析服务器,帮用户迭代权威服务器返回的应答,并将最终查到的IP返回给用户.
- 若指定DNS,则用户向该DNS服务器发起查询指定域名的请求.
- DNS服务器收到请求后,先检查缓冲中是否存在指定的地址.若存在,则直接返回.
- 若缓存中没有,则DNS服务器从配置文件中读取13个根域名服务器的地址,并向其中的一个发起请求.
- 根服务器收到请求后,返回所属的顶级域名对应的NS记录.
- DNS再次向这些顶级域名服务器中的一台发起请求.
- 收到请求的顶级域名服务器查找其所属的域,返回对应域的NS.
- DNS收到对应域的地址后,再次向对应域的权威服务器发起请求.
- 权威服务器收到请求后,查找对应的主机,发送对应的IP地址.
- DNS收到后返回给客户,并保存在高速缓存中.
DNS中的安全性
- 对DNS服务进行分布式拒绝服务(DDoS)带宽洪泛攻击:攻击者向每个DNS根服务器发送大量的分组,使得大多数合法DNS请求得不到回答.(解决:配置的分组管理器阻挡所有指向根服务器的ICMP ping报文)
- 向顶级域名服务器发送大量的DNS请求.(通过本地DNS服务器的缓存技术可部分被缓解)
- 中间人攻击:攻击者截获来自主机的请求并返回伪装的应答.
- DNS毒害攻击:攻击者向一台DNS服务器发送伪造的回答,诱使服务器在缓存中接收伪造的记录,从而使得Web用户重定向到伪造的站点.(需要截获分组)
- 利用DNS基础设施对目标主机发起DDoS攻击:攻击者向权威DNS发送DNS请求,每个请求具有目标主机的假冒源地址.DNS服务器直接向目标主机发送回答.
参考: