DNSSEC(DNS Security Extension)----DNS安全扩展,主要是为了解决DNS欺骗和缓存污染问题而设计的一种安全机制。
客户端(pc)发起域名(例如:www.baidu.com)请求的时候,如果在本地缓存没有的情况下,会往递归服务器发送域名查询请求(我们也称之为localdns),递归服务器再一层层递归从.到com.再到baidu.com.(即到.的权威服务器-->com.的权威服务器-->baidu.com.的权威服务器),最终取到www.baidu.com.对应的解析A记录返回给客户端。在整个查询过程中,攻击者可以假冒任何一个应答方:递归服务器-->.的权威服务器-->com.的权威服务器-->baidu.com.的权威服务器,给请求方发送一个伪造的响应(UDP包极其容易伪造),其中响应的解析记录给了一个错误的IP地址或者其他类型的解析记录(比如NXDomain、ServFail或者cname到错误的域名地址去等)。客户端或者是解析服务器在没有经过数据来源正确性校验的情况下接受了伪造的应答,直接将导致客户端无法正常访问网站或者其他资源或者客户端请求重定向到了伪造的网站上去。另外由于DNS当中存在着缓存,这种错误的记录将随着攻击者设定的TTL进行存活缓存,如果是递归服务器受到DNS欺骗那将会导致自身以及大面积的客户端缓存了错误的解析记录(可以通过清除缓存解决)。
DNSSEC依靠数字签名来保证DNS应答报文的真实性和完整性。简单来说,权威服务器使用私钥对资源记录进行签名,递归服务器利用权威服务器的公钥对应答报文进行验证。如果验证失败,则说明这一报文可能是有问题的。
举个栗子:
一台支持dnssec的递归服务器向支持dnssec的权威服务器发起paypal.com.的A记录请求,它除了得到A记录以外还得到了同名的RRSIG记录,其中包含了paypal.com.这个ZONE的权威数字签名,它使用paypal.com.的私钥来签名。为了验证这一签名是否正确,递归服务器再次向paypal.com.权威查询其公钥,即请求paypal.com.的dnskey类型的记录。递归服务器就可以使用公钥来验证收到的A记录是否是真实且完整的。但是注意:这种状态下,这台权威服务器可能是假冒的,递归服务器请求这台假冒的权威服务器,那么对于解析结果的正确性和完整性的验证上认为是正确的,但其实这个解析结果是假冒的,怎么发现?DNSSEC需要一条信任链,即必须要有一个或者多个相信的公钥,这些公钥被称为信任锚。理想情况下,假设dnssec已经实现了全部署,那每个递归服务器只需要保留根域名服务器的dnskey。
如下:
为了实现资源记录的签名和验证,DNSSEC增加了四种类型的资源记录:RRSIG(Resource Record Signature)、DNSKEY(DNS Public Key)、DS(Delegation Signer)、NSEC(Next Secure)
RRSIG资源记录存储的是对资源记录集合(RRSets)的数字签名。如下:
DNSKEY资源记录存储的是公开密钥,下面是一个DNSKEY的资源记录的例子:
在实践中,权威域的管理员通常用两个密钥配合完成对区数据的签名。一个是Zone-Signing Key(ZSK),另一个是Key-Signing Key(KSK)。ZSK用于签名区数据,而KSK用于对ZSK进行签名。这样做的好处有二:
(1)用KSK密钥签名的数据量很少,被破解(即找出对应的私钥)概率很小,因此可以设置很长的生存期。这个密钥的散列值作为DS记录存储在上一级域名服务器中而且需要上级的数字签名,较长的生命周期可以减少密钥更新的工作量。
(2)ZSK签名的数据量比较大,因而破解的概率较大,生存期应该小一些。因为有了KSK的存在,ZSK可以不必放到上一级的域名服务中,更新ZSK不会带来太大的管理开销(不涉及和上级域名服务器打交道)。
如下:
DS(Delegation Signer)记录存储DNSKEY的散列值,用于验证DNSKEY的真实性,从而建立一个信任链。DNSKEY存储在资源记录所有者所在的权威域的区文件中,但是DS记录存储在上级权威域名服务器中,比如paypal.com的DS RR存储在.com的区中。如下:
NSEC记录是为了响应那些不存在的资源记录而设计的。为了保证私有密钥的安全性和服务器的性能,所有的签名记录都是事先生成的。服务器显然不能为所有不存在的记录事先生成一个公共的“不存在”的签名记录,因为这一记录可以被重放(Replay);更不可能为每一个不存在的记录生成独立的签名,因为它不知道用户将会请求怎样的记录。
下面是针对paypal.com.的一个解析过程,抓包过程有丢包,但是不影响对于dnssec解析过程的大致理解
1、192.168.2.4向192.168.2.3发起paypal.com.的A记录请求
2019-01-23 11:41:40.002540 IP 192.168.2.4.37912 > 192.168.2.3.53: 2900+ [1au] A? paypal.com. (39)
2、192.168.2.3向192.203.230.10(即根)发起paypal.com.的A记录请求
2019-01-23 11:41:40.004033 IP 192.168.2.3.10751 > 192.203.230.10.53: 14674 [1au] A? paypal.com. (39)
3、192.168.2.3向192.203.230.10(即根)发起.的NS请求
2019-01-23 11:41:40.004292 IP 192.168.2.3.59293 > 192.203.230.10.53: 36252 [1au] NS? . (28)
4、192.203.230.10(即根)未直接响应给192.168.2.3关于paypal.com.的A记录,而是在授权块区域给出com.的NS记录,并在附加块区域附上了各个NS对应的A记录(包含192.41.162.30和192.35.51.30)
2019-01-23 11:41:40.226658 IP 192.203.230.10.53 > 192.168.2.3.10751: 14674- 0/15/27 (1170)
5、192.203.230.10(即根)直接响应给192.168.2.3关于.的NS记录,并在附加块区域附上了各个NS对应的A记录(包含193.0.14.129),同时返回了关于这条记录的RRSIG记录
2019-01-23 11:41:40.226694 IP 192.203.230.10.53 > 192.168.2.3.59293: 36252*- 14/0/27 NS a.root-servers.net., NS b.root-servers.net., NS c.root-servers.net., NS d.root-servers.net., NS e.root-servers.net., NS f.root-servers.net., NS g.root-servers.net., NS h.root-servers.net., NS i.root-servers.net., NS j.root-servers.net., NS k.root-servers.net., NS l.root-servers.net., NS m.root-servers.net., RRSIG (1097)
6、192.168.2.3向192.41.162.30(即com.权威)发起paypal.com.的A记录请求
2019-01-23 11:41:40.227317 IP 192.168.2.3.62225 > 192.41.162.30.53: 11496 [1au] A? paypal.com. (39)
7、192.168.2.3向193.0.14.129(即根.)请求.根的DNSKEY
2019-01-23 11:41:40.227641 IP 192.168.2.3.23728 > 193.0.14.129.53: 15843 [1au] DNSKEY? . (28)
8、192.41.162.30(即com.权威)未直接响应192.168.2.3关于paypal.com.的A记录,而是在授权区域给出paypal.com.的NS记录(pdns100.ultradns.net/com;ns1/ns2.p57.dynect.net),并在附加块附上了各个NS的A记录(包含156.154.64.100)
2019-01-23 11:41:40.521013 IP 192.41.162.30.53 > 192.168.2.3.62225: 11496- 0/6/7 (482)
9、192.168.2.3向156.154.64.100(即paypal.com.权威)请求paypal.com.的A记录
2019-01-23 11:41:40.521495 IP 192.168.2.3.26989 > 156.154.64.100.53: 25643 [1au] A? paypal.com. (39)
10、192.168.2.3向193.0.14.129(即根权威)请求ns1.p57.dynect.net.的A记录
2019-01-23 11:41:40.521632 IP 192.168.2.3.24382 > 193.0.14.129.53: 44277% [1au] A? ns1.p57.dynect.net. (47)
11、192.168.2.3向193.0.14.129(即根权威)请求ns1.p57.dynect.net.的AAAA记录
2019-01-23 11:41:40.521752 IP 192.168.2.3.55138 > 193.0.14.129.53: 36889% [1au] AAAA? ns1.p57.dynect.net. (47)
12、192.168.2.3向193.0.14.129(即根权威)请求ns2.p57.dynect.net.的A记录
2019-01-23 11:41:40.521838 IP 192.168.2.3.35682 > 193.0.14.129.53: 5069% [1au] A? ns2.p57.dynect.net. (47)
13、192.168.2.3向193.0.14.129(即根权威)请求ns2.p57.dynect.net.的AAAA记录
2019-01-23 11:41:40.521951 IP 192.168.2.3.51833 > 193.0.14.129.53: 9181% [1au] AAAA? ns2.p57.dynect.net. (47)
14、192.168.2.3向193.0.14.129(即根权威)请求pdns100.ultradns.net.的A记录
2019-01-23 11:41:40.522134 IP 192.168.2.3.21689 > 193.0.14.129.53: 9198% [1au] A? pdns100.ultradns.net. (49)
15、192.168.2.3向193.0.14.129(即根权威)请求pdns100.ultradns.net.的AAAA记录
2019-01-23 11:41:40.522239 IP 192.168.2.3.6931 > 193.0.14.129.53: 63608% [1au] AAAA? pdns100.ultradns.net. (49)
16、156.154.64.100(即paypal.com.权威)直接响应给192.168.2.3关于paypal.com.的A记录,同时给出了关于此记录的RRSIG记录
2019-01-23 11:41:40.567276 IP 156.154.64.100.53 > 192.168.2.3.26989: 25643*- 3/5/1 A 64.4.250.37, A 64.4.250.36, RRSIG (523)
17、192.168.2.3向156.154.64.100(即paypal.com.权威)请求paypal.com.权威的DNSKEY
2019-01-23 11:41:40.567933 IP 192.168.2.3.16534 > 156.154.64.100.53: 63725 [1au] DNSKEY? paypal.com. (39)
18、156.154.64.100(即paypal.com.权威)直接返回给192.168.2.3关于paypal.com.权威的DNSKEY记录以及这条记录的RRSIG记录
2019-01-23 11:41:40.617079 IP 156.154.64.100.53 > 192.168.2.3.16534: 63725*- 4/0/1 DNSKEY, DNSKEY, RRSIG, RRSIG (931)
19、192.168.2.3向192.35.51.30(即com.权威)请求paypal.com.的DS
2019-01-23 11:41:40.619213 IP 192.168.2.3.36471 > 192.35.51.30.53: 16675 [1au] DS? paypal.com. (39)
20、193.0.14.129(即根权威)未直接响应ns2.p57.dynect.net.的A记录请求,而是在授权区域给出了.net的NS记录,并在附加块给出了各个NS的A记录(其中包含192.35.51.30)
2019-01-23 11:41:40.633925 IP 193.0.14.129.53 > 192.168.2.3.35682: 5069- 0/15/27 (1175)
21、193.0.14.129(即根权威)未直接响应ns2.p57.dynect.net.的AAAA记录请求,而是在授权区域给出了.net的NS记录,并在附加块给出了各个NS的A记录(其中包含192.35.51.30)
2019-01-23 11:41:40.633972 IP 193.0.14.129.53 > 192.168.2.3.51833: 9181- 0/15/27 (1175)
22、193.0.14.129(即根权威)未直接响应pdns100.ultradns.net.的A记录请求,而是在授权区域给出了.net的NS记录,并在附加块给出了各个NS的A记录(其中包含192.35.51.30)
2019-01-23 11:41:40.633977 IP 193.0.14.129.53 > 192.168.2.3.21689: 9198- 0/15/27 (1177)
23、192.168.2.3向192.35.51.30(即.net权威)请求ns2.p57.dynect.net.的A记录
2019-01-23 11:41:40.634462 IP 192.168.2.3.32009 > 192.35.51.30.53: 4356% [1au] A? ns2.p57.dynect.net. (47)
24、192.168.2.3向192.35.51.30(即.net权威)请求ns2.p57.dynect.net.的AAAA记录
2019-01-23 11:41:40.634726 IP 192.168.2.3.23744 > 192.35.51.30.53: 30482% [1au] AAAA? ns2.p57.dynect.net. (47)
25、192.168.2.3向192.35.51.30(即.net权威)请求pdns100.ultradns.net.的A记录
2019-01-23 11:41:40.634953 IP 192.168.2.3.58948 > 192.35.51.30.53: 58970% [1au] A? pdns100.ultradns.net. (49)
26、193.0.14.129(即根权威)未直接响应pdns100.ultradns.net.的AAAA记录请求,而是在授权区域给出了.net的NS记录,并在附加块给出了各个NS的A记录(其中包含192.35.51.30)
2019-01-23 11:41:40.646981 IP 193.0.14.129.53 > 192.168.2.3.6931: 63608- 0/15/27 (1177)
27、192.168.2.3向192.35.51.30(即.net权威)请求pdns100.ultradns.net.的AAAA记录
2019-01-23 11:41:40.647574 IP 192.168.2.3.29732 > 192.35.51.30.53: 22987% [1au] AAAA? pdns100.ultradns.net. (49)
28、193.0.14.129(即根权威)未直接响应ns1.p57.dynect.net.的AAAA记录请求,而是在授权区域给出了.net的NS记录,并在附加块给出了各个NS的A记录(其中包含192.35.51.30)
2019-01-23 11:41:40.654219 IP 193.0.14.129.53 > 192.168.2.3.55138: 36889- 0/15/27 (1175)
29、192.168.2.3向192.35.51.30(即.net权威)请求ns1.p57.dynect.net.的AAAA记录
2019-01-23 11:41:40.654637 IP 192.168.2.3.18009 > 192.35.51.30.53: 21711% [1au] AAAA? ns1.p57.dynect.net. (47)
30、193.0.14.129(即根权威)未直接响应ns1.p57.dynect.net.的A记录请求,而是在授权区域给出了.net的NS记录,并在附加块给出了各个NS的A记录(其中包含192.35.51.30)
2019-01-23 11:41:40.655594 IP 193.0.14.129.53 > 192.168.2.3.24382: 44277- 0/15/27 (1175)
31、192.168.2.3向192.35.51.30(即.net权威)请求ns1.p57.dynect.net.的A记录
2019-01-23 11:41:40.655980 IP 192.168.2.3.49433 > 192.35.51.30.53: 20157% [1au] A? ns1.p57.dynect.net. (47)
32、192.35.51.30(即.net权威)未直接响应192.168.2.3关于ns2.p57.dynect.net.的A记录请求,而是在授权区域给出了dynect.net.的NS记录,并在附加块区域附上了各个NS对应的A记录(包含208.78.70.136)
2019-01-23 11:41:40.738172 IP 192.35.51.30.53 > 192.168.2.3.32009: 4356- 0/11/13 (933)
33、192.35.51.30(即com.权威)直接响应192.168.2.3关于paypal.com.的DS请求,并给出这条记录的RRSIG记录
2019-01-23 11:41:40.738219 IP 192.35.51.30.53 > 192.168.2.3.36471: 16675*- 2/14/27 DS, RRSIG (1209)
34、192.168.2.3向208.78.70.136(即dynect.net.)权威请求ns2.p57.dynect.net.的A记录
2019-01-23 11:41:40.738682 IP 192.168.2.3.38220 > 208.78.70.136.53: 62742% [1au] A? ns2.p57.dynect.net. (47)
35、192.168.2.3向192.33.14.30(即com.权威)请求com.的DNSKEY记录
2019-01-23 11:41:40.739230 IP 192.168.2.3.57479 > 192.33.14.30.53: 49433 [1au] DNSKEY? com. (32)
36、192.35.51.30(即.net权威)未直接响应192.168.2.3关于ns1.p57.dynect.net.的A记录请求,而是在授权区域给出了dynect.net.的NS记录(ns1-ns7.dynamicnetworkservices.net),以及这条记录的RRSIGN记录和NSEC户口页,并在附加块区域附上了各个NS对应的A记录(包含208.78.70.136)
2019-01-23 11:41:40.758045 IP 192.35.51.30.53 > 192.168.2.3.49433: 20157- 0/11/13 (933)
37、192.168.2.3向208.78.70.136(即dynect.net.权威)请求ns1.p57.dynect.net.的A记录
2019-01-23 11:41:40.758476 IP 192.168.2.3.58723 > 208.78.70.136.53: 35182% [1au] A? ns1.p57.dynect.net. (47)
38、192.35.51.30(即.net权威)未直接响应192.168.2.3关于pdns100.ultradns.net.的A记录,而是在授权区域给出了ultradns.net.的NS记录(aril.----aridns.net.au,pdns196.ultradns.com/net/info/biz/co.uk/org),并在附加块区域附上了各个NS对应的A记录(包含156.154.65.196)
2019-01-23 11:41:40.762629 IP 192.35.51.30.53 > 192.168.2.3.58948: 58970- 0/14/5 (925)
39、192.168.2.3向156.154.65.196(即ultradns.net.权威--pdns196)请求pdns100.ultradns.net.的A记录
2019-01-23 11:41:40.763504 IP 192.168.2.3.5421 > 156.154.65.196.53: 60444% [1au] A? pdns100.ultradns.net. (49)
40、192.168.2.3向198.97.190.53(即根)请求ari.beta.aridns.net.au.的A记录
2019-01-23 11:41:40.764167 IP 192.168.2.3.29921 > 198.97.190.53.53: 24088% [1au] A? ari.beta.aridns.net.au. (51)
41、192.168.2.3向198.97.190.53(即根)请求ari.beta.aridns.net.au.的AAAA记录
2019-01-23 11:41:40.764414 IP 192.168.2.3.48453 > 198.97.190.53.53: 42818% [1au] AAAA? ari.beta.aridns.net.au. (51)
42、192.168.2.3向198.97.190.53(即根)请求ari.alpha.aridns.net.au.的A记录
2019-01-23 11:41:40.764619 IP 192.168.2.3.27471 > 198.97.190.53.53: 36576% [1au] A? ari.alpha.aridns.net.au. (52)
43、192.168.2.3向198.97.190.53(即根)请求ari.alpha.aridns.net.au.的AAAA记录
2019-01-23 11:41:40.764771 IP 192.168.2.3.49833 > 198.97.190.53.53: 57312% [1au] AAAA? ari.alpha.aridns.net.au. (52)
44、192.168.2.3向198.97.190.53(即根)请求ari.delta.aridns.net.au.的A记录
2019-01-23 11:41:40.764903 IP 192.168.2.3.48802 > 198.97.190.53.53: 47029% [1au] A? ari.delta.aridns.net.au. (52)
45、192.168.2.3向198.97.190.53(即根)请求ari.delta.aridns.net.au.的AAAA记录
2019-01-23 11:41:40.765102 IP 192.168.2.3.9133 > 198.97.190.53.53: 31338% [1au] AAAA? ari.delta.aridns.net.au. (52)
46、192.168.2.3向198.97.190.53(即根)请求ari.gamma.aridns.net.au.的A记录
2019-01-23 11:41:40.765286 IP 192.168.2.3.9270 > 198.97.190.53.53: 18696% [1au] A? ari.gamma.aridns.net.au. (52)
47、192.168.2.3向198.97.190.53(即根)请求ari.gamma.aridns.net.au.的AAAA记录
2019-01-23 11:41:40.765436 IP 192.168.2.3.49700 > 198.97.190.53.53: 59860% [1au] AAAA? ari.gamma.aridns.net.au. (52)
48、192.168.2.3向198.97.190.53(即根)请求pdns196.ultradns.co.uk.的A记录
2019-01-23 11:41:40.765609 IP 192.168.2.3.4741 > 198.97.190.53.53: 10138% [1au] A? pdns196.ultradns.co.uk. (51)
49、192.168.2.3向198.97.190.53(即根)请求pdns196.ultradns.co.uk.的AAAA记录
2019-01-23 11:41:40.765745 IP 192.168.2.3.33850 > 198.97.190.53.53: 34855% [1au] AAAA? pdns196.ultradns.co.uk. (51)
50、192.168.2.3向198.97.190.53(即根)请求pdns196.ultradns.biz.的A记录
2019-01-23 11:41:40.765984 IP 192.168.2.3.28571 > 198.97.190.53.53: 40681% [1au] A? pdns196.ultradns.biz. (49)
51、192.168.2.3向198.97.190.53(即根)请求pdns196.ultradns.biz.的AAAA记录
2019-01-23 11:41:40.766119 IP 192.168.2.3.50073 > 198.97.190.53.53: 59770% [1au] AAAA? pdns196.ultradns.biz. (49)
52、192.168.2.3向198.97.190.53(即根)请求pdns196.ultradns.com.的A记录
2019-01-23 11:41:40.766315 IP 192.168.2.3.16969 > 192.33.14.30.53: 21655% [1au] A? pdns196.ultradns.com. (49)
53、192.168.2.3向198.97.190.53(即根)请求pdns196.ultradns.com.的AAAA记录
2019-01-23 11:41:40.766449 IP 192.168.2.3.38727 > 192.33.14.30.53: 12621% [1au] AAAA? pdns196.ultradns.com. (49)
54、192.35.51.30(即.net权威)未直接响应192.168.2.3关于pdns100.ultradns.net.的AAAA记录,而是在授权区域给出了ultradns.net.的NS记录(aril.----aridns.net.au,pdns196.ultradns.com/net/info/biz/co.uk/org),并在附加块区域附上了各个NS对应的A记录(包含156.154.65.196)
2019-01-23 11:41:40.772850 IP 192.35.51.30.53 > 192.168.2.3.29732: 22987- 0/14/5 (925)
55、192.168.2.3向156.154.65.196(即ultradns.net.权威--pdns196)请求pdns100.ultradns.net.的AAAA记录
2019-01-23 11:41:40.773481 IP 192.168.2.3.28032 > 156.154.65.196.53: 42233% [1au] AAAA? pdns100.ultradns.net. (49)
56、156.154.65.196(即ultradns.net.权威--pdns196)直接响应pdns100.ultradns.net.的A记录,但是未给出RRSIGN记录
2019-01-23 11:41:40.812635 IP 156.154.65.196.53 > 192.168.2.3.5421: 60444*- 1/10/1 A 156.154.65.100 (368)
57、156.154.65.196(即ultradns.net.权威--pdns196)直接响应pdns100.ultradns.net.的AAAA记录,但是未给出RRSIGN记录
2019-01-23 11:41:40.822302 IP 156.154.65.196.53 > 192.168.2.3.28032: 42233*- 1/10/1 AAAA 2610:a1:1014::88 (380)
58、208.78.70.136(即dynect.net.)直接响应192.168.2.3关于ns2.p57.dynect.net.的A记录--但是未给出RRSIGN记录
2019-01-23 11:41:40.839578 IP 208.78.70.136.53 > 192.168.2.3.38220: 62742*- 1/7/1 A 204.13.250.57 (212)
59、208.78.70.136(即dynect.net.)直接响应192.168.2.3关于ns1.p57.dynect.net.的A记录--但是未给出RRSIGN记录
2019-01-23 11:41:40.866094 IP 208.78.70.136.53 > 192.168.2.3.58723: 35182*- 1/7/1 A 208.78.70.57 (212)
60、192.33.14.30(即com.权威)直接响应192.168.2.3关于com.的DNSKEY记录,并附上这条记录的RRSIG记录
2019-01-23 11:41:40.958926 IP 192.33.14.30.53 > 192.168.2.3.57479: 49433*- 3/0/1 DNSKEY, DNSKEY, RRSIG (743)
61、192.168.2.3向198.97.190.53(即根)关于com.的DS记录
2019-01-23 11:41:40.959342 IP 192.168.2.3.52703 > 198.97.190.53.53: 2823 [1au] DS? com. (32)
62、198.97.190.53(即根)未直接响应192.168.2.3关于pdns196.ultradns.com.的A记录,而是在授权区域给出ultradns.com.的NS记录以及RRSIG记录和NSEC记录,并在附加块区域给出了部分NS的A记录和AAAA记录(包含156.154.64.196)
2019-01-23 11:41:40.989724 IP 192.33.14.30.53 > 192.168.2.3.16969: 21655- 0/14/3 (873)
63、198.97.190.53(即根)未直接响应192.168.2.3关于pdns196.ultradns.com.的A记录,而是在授权区域给出ultradns.com.的NS记录以及RRSIG记录和NSEC记录,并在附加块区域给出了部分NS的A记录和AAAA记录
2019-01-23 11:41:40.989773 IP 192.33.14.30.53 > 192.168.2.3.38727: 12621- 0/14/3 (873)
64、192.168.2.3向156.154.64.196(即ultradns.com.权威)请求pdns196.ultradns.com.的A记录
2019-01-23 11:41:40.990543 IP 192.168.2.3.65289 > 156.154.64.196.53: 17891% [1au] A? pdns196.ultradns.com. (49)
65、192.168.2.3向156.154.64.196(即ultradns.com.权威)请求pdns196.ultradns.com.的AAAA记录
2019-01-23 11:41:40.991010 IP 192.168.2.3.50353 > 156.154.64.196.53: 42869% [1au] AAAA? pdns196.ultradns.com. (49)
66------------------不知道哪里来的响应,可能是里面抓包抓丢了,里面的内容在授权区域是关于org.的各个NS记录(a-d0.org.afilias-nst.info/org)以及org.的DS记录以及这条响应记录的RRSIG记录并在附加块附上了各个NS的A记录
2019-01-23 11:41:40.992826 IP 198.97.190.53.53 > 192.168.2.3.50673: 19227- 0/9/13 (822)
67、192.168.2.3向199.249.120.1(即org.的权威)请求关于pdns196.ultradns.org.的AAAA记录
2019-01-23 11:41:40.994255 IP 192.168.2.3.57190 > 199.249.120.1.53: 20955% [1au] AAAA? pdns196.ultradns.org. (49)
68、------------------不知道哪里来的响应,可能是里面抓包抓丢了,里面的内容在授权区域是关于info.的各个NS记录(a-d0.org.afilias-nst.info/org)以及org.的DS记录以及这条响应记录的RRSIG记录并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.003359 IP 198.97.190.53.53 > 192.168.2.3.13656: 64849- 0/9/13 (824)
69、198.97.190.53(即根)未直接响应192.168.2.3关于ari.alpha.aridns.net.au.的A记录,而是在权威区域给出了au.的NS记录(a-v.au)以及au.的DS记录以及这条记录的RRSIG记录,并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.003414 IP 198.97.190.53.53 > 192.168.2.3.27471: 36576- 0/15/20 (1079)
70、198.97.190.53(即根)未直接响应192.168.2.3关于ari.gamma.aridns.net.au.的A记录,而是在权威区域给出了au.的NS记录(a-v.au)以及au.的DS记录以及这条记录的RRSIG记录,并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.003426 IP 198.97.190.53.53 > 192.168.2.3.9270: 18696- 0/15/20 (1079)
71、198.97.190.53(即根)未直接响应192.168.2.3关于ari.delta.aridns.net.au.的AAAA记录,而是在权威区域给出了au.的NS记录(a-v.au)以及au.的DS记录以及这条记录的RRSIG记录,并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.003589 IP 198.97.190.53.53 > 192.168.2.3.9133: 31338- 0/15/20 (1079)
72、198.97.190.53(即根)未直接响应192.168.2.3关于pdns196.ultradns.co.uk.的AAAA记录,而是在权威区域给出了ak.的NS记录(nsa.nic.uk)以及uk.的DS记录以及这条记录的RRSIG记录,并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.003605 IP 198.97.190.53.53 > 192.168.2.3.33850: 34855- 0/10/14 (806)
73、198.97.190.53(即根)未直接响应192.168.2.3关于pdns196.ultradns.co.uk.的A记录,而是在权威区域给出了ak.的NS记录(nsa.nic.uk)以及uk.的DS记录以及这条记录的RRSIG记录,并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.003614 IP 198.97.190.53.53 > 192.168.2.3.4741: 10138- 0/10/14 (806)
74、------------------不知道哪里来的响应,可能是里面抓包抓丢了,里面的内容在授权区域是关于org.的各个NS记录(a-d0.org.afilias-nst.info/org)以及org.的DS记录以及这条响应记录的RRSIG记录并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.003623 IP 198.97.190.53.53 > 192.168.2.3.52255: 13272- 0/9/13 (822)
75、198.97.190.53(即根)未直接响应192.168.2.3关于ari.beta.aridns.net.au.的AAAA记录,而是在权威区域给出了au.的NS记录(a-v.au)以及au.的DS记录以及这条记录的RRSIG记录,并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.003631 IP 198.97.190.53.53 > 192.168.2.3.48453: 42818- 0/15/20 (1078)
76、198.97.190.53(即根)未直接响应192.168.2.3关于ari.beta.aridns.net.au.的AAAA记录,而是在权威区域给出了au.的NS记录(a-v.au)以及au.的DS记录以及这条记录的RRSIG记录,并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.003690 IP 198.97.190.53.53 > 192.168.2.3.29921: 24088- 0/15/20 (1078)
77、192.168.2.3向199.254.49.1(即info.权威)请求pdns196.ultradns.info.的AAAA记录
2019-01-23 11:41:41.004463 IP 192.168.2.3.41259 > 199.254.49.1.53: 63911% [1au] AAAA? pdns196.ultradns.info. (50)
78、192.168.2.3向58.65.253.73(即au.权威)请求ari.alpha.aridns.net.au.的A记录
2019-01-23 11:41:41.005239 IP 192.168.2.3.10464 > 58.65.253.73.53: 26936% [1au] A? ari.alpha.aridns.net.au. (52)
79、192.168.2.3向58.65.253.73(即au.权威)请求ari.gamma.aridns.net.au.的A记录
2019-01-23 11:41:41.005758 IP 192.168.2.3.44887 > 58.65.253.73.53: 15085% [1au] A? ari.gamma.aridns.net.au. (52)
80、192.168.2.3向58.65.253.73(即au.权威)请求ari.delta.aridns.net.au.的AAAA记录
2019-01-23 11:41:41.006384 IP 192.168.2.3.53087 > 58.65.253.73.53: 59136% [1au] AAAA? ari.delta.aridns.net.au. (52)
81、198.97.190.53(即根)未直接响应192.168.2.3关于ari.alpha.aridns.net.au.的AAAA记录,而是在权威区域给出了au.的NS记录(a-v.au)以及au.的DS记录以及这条记录的RRSIG记录,并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.006673 IP 198.97.190.53.53 > 192.168.2.3.49833: 57312- 0/15/20 (1079)
82、198.97.190.53(即根)未直接响应192.168.2.3关于ari.delta.aridns.net.au.的A记录,而是在权威区域给出了au.的NS记录(a-v.au)以及au.的DS记录以及这条记录的RRSIG记录,并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.006751 IP 198.97.190.53.53 > 192.168.2.3.48802: 47029- 0/15/20 (1079)
83、198.97.190.53(即根)未直接响应192.168.2.3关于ari.gamma.aridns.net.au.的AAAA记录,而是在权威区域给出了au.的NS记录(a-v.au)以及au.的DS记录以及这条记录的RRSIG记录,并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.006764 IP 198.97.190.53.53 > 192.168.2.3.49700: 59860- 0/15/20 (1079)
84、198.97.190.53(即根)未直接响应192.168.2.3关于pdns196.ultradns.biz.的AAAA记录,而是在权威区域给出了bz.的NS记录(a-k.gtld.biz)以及biz.的DS记录以及这条记录的RRSIG记录,并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.008926 IP 198.97.190.53.53 > 192.168.2.3.50073: 59770- 0/11/10 (785)
85、198.97.190.53(即根)未直接响应192.168.2.3关于pdns196.ultradns.biz.的A记录,而是在权威区域给出了bz.的NS记录(a-k.gtld.biz)以及biz.的DS记录以及这条记录的RRSIG记录,并在附加块附上了各个NS的A记录
2019-01-23 11:41:41.022220 IP 198.97.190.53.53 > 192.168.2.3.28571: 40681- 0/11/10 (785)
86、192.168.2.3向192.58.128.30(即根)请求.的DNSKEY记录
2019-01-23 11:41:41.028379 IP 192.168.2.3.40890 > 192.58.128.30.53: 49589 [1au] DNSKEY? . (28)
87、156.154.64.196(即ultradns.com.权威)直接响应192.168.2.3关于pdns196.ultradns.com.的A记录--未附上RRSIG记录
2019-01-23 11:41:41.035734 IP 156.154.64.196.53 > 192.168.2.3.65289: 17891*- 1/10/1 A 156.154.64.196 (360)
88、156.154.64.196(即ultradns.com.权威)直接响应192.168.2.3关于pdns196.ultradns.com.的AAAA记录
2019-01-23 11:41:41.042241 IP 156.154.64.196.53 > 192.168.2.3.50353: 42869*- 1/10/1 AAAA 2001:502:f3ff::e8 (372)
89、199.254.49.1(即info.权威)未直接响应192.168.2.3关于pdns196.ultradns.info.的AAAA记录,而是在权威区域给发出了ultradns.info.的NS记录以及RRSIG记录和NSEC记录,并在附加块附上了部分NS的A记录
2019-01-23 11:41:41.130964 IP 199.254.49.1.53 > 192.168.2.3.41259: 63911- 0/14/3 (883)
90、199.249.120.1(即org.的权威)未直接响应192.168.2.3关于pdns196.ultradns.org.的AAAA记录,而是在权威区域给发出了ultradns.org.的NS记录以及RRSIG记录和NSEC记录,并在附加块附上了部分NS的A记录
2019-01-23 11:41:41.173719 IP 199.249.120.1.53 > 192.168.2.3.57190: 20955- 0/14/3 (873)
91、58.65.253.73(即au.权威)未直接响应192.168.2.3关于ari.delta.aridns.net.au.的AAAA记录,而是在附加块给出了
2019-01-23 11:41:41.188212 IP 58.65.253.73.53 > 192.168.2.3.53087: 59136- 0/7/17 (1472)
92、198.97.190.53(即根)直接响应给192.168.2.3关于com.的DS记录,并附上这条记录的RRSIG记录
2019-01-23 11:41:41.199130 IP 198.97.190.53.53 > 192.168.2.3.52703: 2823*- 2/0/1 DS, RRSIG (367)
93、58.65.253.73(即au.权威)未直接响应192.168.2.3关于ari.gamma.aridns.net.au.的A记录
2019-01-23 11:41:41.206995 IP 58.65.253.73.53 > 192.168.2.3.44887: 15085- 0/7/17 (1472)
94、58.65.253.73(即au.权威)未直接响应192.168.2.3关于ari.gamma.aridns.net.au.的A记录
2019-01-23 11:41:41.207031 IP 58.65.253.73.53 > 192.168.2.3.10464: 26936- 0/7/17 (1472)
95、192.58.128.30(即根)直接响应192.168.2.3关于.的DNSKEY记录以及这条响应记录的RRSIG记录
2019-01-23 11:41:41.271105 IP 192.58.128.30.53 > 192.168.2.3.40890: 49589*- 5/0/1 DNSKEY, DNSKEY, DNSKEY, RRSIG, RRSIG (1425)
96、192.168.2.3响应192.168.2.4关于paypal.com.的A记录
2019-01-23 11:41:41.272190 IP 192.168.2.3.53 > 192.168.2.4.37912: 2900$ 2/4/3 A 64.4.250.36, A 64.4.250.37 (227)
解析过程中关于DNSSEC的请求过程大致如下:
16、156.154.64.100(即paypal.com.权威)直接响应给192.168.2.3关于paypal.com.的A记录,同时给出了关于此记录的RRSIG记录
2019-01-23 11:41:40.567276 IP 156.154.64.100.53 > 192.168.2.3.26989: 25643*- 3/5/1 A 64.4.250.37, A 64.4.250.36, RRSIG (523)
17、192.168.2.3向156.154.64.100(即paypal.com.权威)请求paypal.com.权威的DNSKEY
2019-01-23 11:41:40.567933 IP 192.168.2.3.16534 > 156.154.64.100.53: 63725 [1au] DNSKEY? paypal.com. (39)
18、156.154.64.100(即paypal.com.权威)直接返回给192.168.2.3关于paypal.com.权威的DNSKEY记录以及这条记录的RRSIG记录
2019-01-23 11:41:40.617079 IP 156.154.64.100.53 > 192.168.2.3.16534: 63725*- 4/0/1 DNSKEY, DNSKEY, RRSIG, RRSIG (931)
19、192.168.2.3向192.35.51.30(即com.权威)请求paypal.com.的DS
2019-01-23 11:41:40.619213 IP 192.168.2.3.36471 > 192.35.51.30.53: 16675 [1au] DS? paypal.com. (39)
33、192.35.51.30(即com.权威)直接响应192.168.2.3关于paypal.com.的DS请求,并给出这条记录的RRSIG记录
2019-01-23 11:41:40.738219 IP 192.35.51.30.53 > 192.168.2.3.36471: 16675*- 2/14/27 DS, RRSIG (1209)
35、192.168.2.3向192.33.14.30(即com.权威)请求com.的DNSKEY记录
2019-01-23 11:41:40.739230 IP 192.168.2.3.57479 > 192.33.14.30.53: 49433 [1au] DNSKEY? com. (32)
60、192.33.14.30(即com.权威)直接响应192.168.2.3关于com.的DNSKEY记录,并附上这条记录的RRSIG记录
2019-01-23 11:41:40.958926 IP 192.33.14.30.53 > 192.168.2.3.57479: 49433*- 3/0/1 DNSKEY, DNSKEY, RRSIG (743)
61、192.168.2.3向198.97.190.53(即根)关于com.的DS记录
2019-01-23 11:41:40.959342 IP 192.168.2.3.52703 > 198.97.190.53.53: 2823 [1au] DS? com. (32)
86、192.168.2.3向192.58.128.30(即根)请求.的DNSKEY记录
2019-01-23 11:41:41.028379 IP 192.168.2.3.40890 > 192.58.128.30.53: 49589 [1au] DNSKEY? . (28)
92、198.97.190.53(即根)直接响应给192.168.2.3关于com.的DS记录,并附上这条记录的RRSIG记录
2019-01-23 11:41:41.199130 IP 198.97.190.53.53 > 192.168.2.3.52703: 2823*- 2/0/1 DS, RRSIG (367)
95、192.58.128.30(即根)直接响应192.168.2.3关于.的DNSKEY记录以及这条响应记录的RRSIG记录
2019-01-23 11:41:41.271105 IP 192.58.128.30.53 > 192.168.2.3.40890: 49589*- 5/0/1 DNSKEY, DNSKEY, DNSKEY, RRSIG, RRSIG (1425)
===》验证完成即可给出去是权威响应
过程图如下所示:
DLV--DNSSECLookasideValidation
1、localdns在其上层zone权威服务器查找被验证ZONE的DS记录
2、如果不存在,向DLV注册机构发出一个对DLV记录的请求
3、如果成功,DLV资源记录被当做这个ZONE的DS记录
4、localdns进行真实性可完整性验证
DLV是一个DNS服务器,提供DNSSEC签名认证的信任链一个解决方案,递归服务器配置的信任锚点是DLV,就可以认证域,进而认证权威域授权的信任的权威域。
递归服务器的配置:当设置了dnssec-lookaside,它为验证器提供另外一个能在网络区域的顶层验证DNSKEY的方法
dnssec-lookaside "." trust-anchor dlv.cnnic.cn
trusted-keys {
dlv.cnnic.cn 256 3 5 "qWmA7OpfdqvqMtLCzZTm982aTaeC6tTRiPUOFDVMXEkIuM14T8Tw6jg2qmX7JUtriYHAGwIQ+9jzYyRziSFdijaO2elgh90NMW0jIcjZ+3cHehpETCEUar813SHN38biRu4UL0EQ/X5C5LJyh1djaw8eZFXxaLyT8fcJedBZtYE=";
}
dnssec并没有办法在域名劫持上起到很好的作用,如果发生域名劫持则无法得到真正的解析结果,因为数字签名校验是没有校验通过的。实际上较多localdns在各个yys手上,各个yys可以对localdns进行相应的改造,则域名劫持会依然存在。
响应中也有RRSIG记录,会直接导致UDP包的大小超过512字节,那么可能造成部分localdns解析失败,因为根据之前对于线上的观察,部分localdns并不支持超过512字节大小的UDP包,从而可能直接导致响应失败。