我曾经知道DNS(名称)是域名分辨率服务。作为的基础设施,任何IT人员都会或多或少地接触DNS。有了我最近的联系,我发现DNS仍然需要理解和掌握。本文基于中型的企业构建域DNS服务器体系结构。它从安全角度描述了DNS。这全都与经验有关。我希望读者能获得一些东西。
DNS协议
DNS打开端口53,通过该端口并提供响应服务。 DNS均听TCP和UDP和两个端口53。向外界打开端口53意味着运行此DNS服务器的外部安全扫描。如何执行安全扫描以及DNS会引起哪些安全问题,我将稍后再讨论。
出于绩效原因,DNS查询请求与UDP协议进行交互,并且每个请求的大小小于512个字节,但是如果返回的请求大小大于512字节,则交互方将协商使用TCP协议。
DNS查询
在谈论DNS端口之后,让我们继续使用DNS服务。 DNS提供的是域名分辨率服务(将域名转换为IP地址的过程)。该服务如何实现域名分辨率服务?让我告诉您一般查询过程(以下两张图片)
假设您想访问此网站,然后就像经历此过程一样
如果使用类似Linux的系统,则可以使用DIG命令显示整个层次查询过程。
Copy ~ dig +trace sspai.com
; <<>> DiG 9.10.6 <<>> +trace sspai.com
;; global options: +cmd
# 第一段列出根域名.的所有NS记录,即所有根域名服务器。
. 3600 IN NS d.root-servers.net.
. 3600 IN NS k.root-servers.net.
. 3600 IN NS j.root-servers.net.
. 3600 IN NS a.root-servers.net.
. 3600 IN NS b.root-servers.net.
. 3600 IN NS e.root-servers.net.
. 3600 IN NS f.root-servers.net.
. 3600 IN NS h.root-servers.net.
. 3600 IN NS c.root-servers.net.
. 3600 IN NS i.root-servers.net.
. 3600 IN NS g.root-servers.net.
. 3600 IN NS l.root-servers.net.
. 3600 IN NS m.root-servers.net.
;; Received 472 bytes from 10.249.150.1#53(10.249.150.1) in 1 ms
# 接着询问sspai.com的顶级域 com.的NS记录
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com. 86400 IN RRSIG DS 8 1 86400 20200801170000 20200719160000 46594 . nl6GGtQwgNAf1YLcWFFcQyXZ1BE/E5dhOVVBIxTCl0QNtvt9sb+btQIM NOVpc6JovoxxfXvDxotRmCqVe9BJunaZvCqMGySy8JdFTcSo1kdVKXvU nI+b3mad5ROgvP2GaUZelhRIn7++FIQAjSUl40H/jdaQP2fxXDH1PQ4B oBhQwnlDo/rn3AJxhH+P2hx/23fadNwsmh/WY9truU1Gv4cf+uwAPkE9 QFSKDcDF7VgTF1bHN9A9nuURQXIjGQkZAGUHaR9bIrKtgYDa3szrmdOJ GejllYy4VyKoBxwZLkV+W7gt+ODYXxAz42UFk5VOGF560wfCIM11FSYR +XPqPg==
;; Received 1169 bytes from 192.36.148.17#53(i.root-servers.net) in 65 ms
# 询问sspai.com的次级域名 NS记录
sspai.com. 172800 IN NS dns17.hichina.com.
sspai.com. 172800 IN NS dns18.hichina.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20200724044108 20200717033108 24966 com. Tf4OQOpeShS1V8R5W7+YWbLa+iIn/wJf3iDfMsHf4P7TJ1ZBm+1EC4FB bdE2Xcyi9wFIetecgTseEQGLYEKdwUBx6mqGmR3nHMaRDl+4Sm+hBufD UUR+2sGFNM/KMWC5zgm7nLc4wHBSrsq8T36nache8cXBhEWSEvR+MIGw o1fJdUNWhihU/maM05P4wrigqDw5igwIkDZZ1O3Fz5uwnQ==
M34OU778JRD89U2DUUTAAI48T6FEI7CV.com. 86400 IN NSEC3 1 1 0 - M34P2GDRCOK7PL50LT2A785I7P76KSGS NS DS RRSIG
M34OU778JRD89U2DUUTAAI48T6FEI7CV.com. 86400 IN RRSIG NSEC3 8 2 86400 20200725051418 20200718040418 24966 com. Fis/2uVliOd9QYjFtzH0SVeSU4lAtekdPXOlqU5Zp+IxDXOovSM31wmL YD9zQRdfecDoiurSZi/yZceE2HxgWyWDc1epW7gTQYGOr99s7dxA08dm +gZZIExIIYNpc1MzSqktmLQuOg9yyUQwyf1YWCrQF8d+e3/fdPxFBunf j2psiF3BKzhPt5tlzfx98Gu8pckCBk9pV3xFXCAv5Vx0/A==
;; Received 947 bytes from 192.41.162.30#53(l.gtld-servers.net) in 177 ms
## 查询到有一条A记录,通过这个IP(119.23.141.248) 地址就可以访问到这个网站
sspai.com. 600 IN A 119.23.141.248
;; Received 54 bytes from 140.205.41.28#53(dns18.hichina.com) in 31 ms
实施此查询过程的特定技术包括
这里的每种查询技术都不简单。迭代和递归查询也是实施DNS服务的核心,但它们并不是我想在本文中谈论的重点,因此我忽略了它。如果您想了解详细信息,则可以自己检查网络信息。反向查询中有很多安全知识,所以我写了另一篇文章:
您不必担心查询的技术细节,但是您仍然需要担心常见的DNS记录类型:
CopyA:地址记录(Address),返回域名指向的IP地址。
AAAA :A 记录处理 IPV4,AAAA 处理 IPV6。
SOA :起始授权机构记录,SOA 备注说明了众多 NS(name server)记录中谁是主名称服务器,不参与功能,但是不能缺少。
NS:域名服务器记录(Name Server),返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址。
MX:邮件记录(Mail eXchange),返回接收电子邮件的服务器地址。
CNAME:规范名称记录(Canonical Name),返回另一个域名,即当前查询的域名是另一个域名的跳转(类似302跳转)。
PTR:逆向查询记录(Pointer Record),只用于从IP地址查询域名。
答应我!下次您看到A,AAAA,SOA,NS,MX,CNAME和PTR时,您必须在一秒钟内弄清楚他们在做什么。因为它是如此重要。答应我!下次您看到A,AAAA,SOA,NS,MX,CNAME和PTR时,您必须在一秒钟内弄清楚他们在做什么。因为它是如此重要。答应我!下次您看到A,AAAA,SOA,NS,MX,CNAME和PTR时,您必须在一秒钟内弄清楚他们在做什么。因为它是如此重要。
从安全的角度来看,为了确保服务的安全性和可靠性,应该至少有两个NS记录,并且应该有多个a记录和MX记录,该记录和MX记录提供服务冗余并防止单点故障。
域维护
由于DNS服务是类似的分布式服务,并且分布式已分散,因此如何确保每个分散的机器都能及时同步消息?维护主和从域名服务器之间的相同区域文件。可以简单地理解,DNS设置了一个协议,以在主域名服务器和从属域名服务器之间维护相同的区域文件。主要有两种同步方法:
区域文件是一个保存域名配置在DNS上的文件,域名对应于区域文件。
如果您的企业LAN只有一台DNS服务器,那么您不需要AXFR或IXFR
如果您的企业LAN具有多个DNS服务器,则需要AXFR和IXFR
进行DNS监控时,将使用ES技术。通过录制,您会发现您记录的DNS服务器为127.0.0.1,AXFR类型将在固定周期中传输。
DNS安全性
DNS服务漏洞,区域转发配置错误,找到绕过WAF的真实IP等都是常见的DNS安全性。这是今天的结局。我有能力写信...
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1