domain-name-system – DNS查询总是通过UDP传输吗?

前端之家收集整理的这篇文章主要介绍了domain-name-system – DNS查询总是通过UDP传输吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我花了一些时间研究这个主题,似乎无法找到确切的答案,所以我相信它不是重复的,虽然我的问题是基于安全需求,但我认为它仍然是安全的在这里问一下,但是如果我需要将它移动到安全社区,请告诉我.

从本质上讲,DNS查询是否曾使用过TCP(如果是这样,会发生什么情况)?再说一次,我只是在谈论查询.他们可以通过TCP旅行吗?如果域的长度最多只能为253个字节,并且UDP数据包可以大到512个字节,那么查询总是不会作为UDP吗?我不认为可解析的查询可能足够大以至于需要使用TCP.如果DNS服务器收到大于253字节的域的请求,服务器是否会丢弃它/不尝试解决它?我确定我在这里做了一些错误的假设.

在某些情况下,我正在与安全组合作,将DNS查询加入到他们的安全监控工具中,由于各种原因,我们决定通过DNS服务器和域控制器上的标准数据包捕获来捕获此流量.核心要求是捕获所有DNS查询,以便他们可以识别尝试解析任何给定域的客户端.基于此要求,我们不关心捕获DNS响应或区域传输等其他流量,这也是因为我们需要尽可能地限制日志量.因此,我们计划仅捕获发往DNS服务器并通过UDP发送的DNS查询.对于更多上下文(这里的问题范围蔓延),我们现在提出我们可能需要扩展安全性的可见性,以便他们可以监视活动,例如在DNS上运行的隐蔽通道(这也需要捕获DNS响应,以及随后的TCP流量).但即便在这种情况下,我认为任何出站DNS流量都将采用查找/查询的形式,并且即使来自恶意来源,这些也总是通过UDP(因为我在第一段中的推理).所以这会带来一些额外的问题:

>我们至少可以用我概述的方法捕捉到一半的谈话吗?或者客户端是否会发送不是查询形式的DNS流量? (也许就像某种对DNS服务器响应的回复,也许最终会通过TCP出去)
>可以修改DNS查询以使用TCP吗? DNS服务器是否接受并响应来自TCP的DNS查询

不确定它是否相关,但我们确实限制DNS请求到授权的DNS服务器并阻止通过端口53出站的所有其他流量.我绝对是新手,所以如果我的问题不符合我很抱歉,让我知道我应该如何修改.

解决方法

普通DNS查询使用UDP端口53,但是较长的查询(> 512个八位字节)将收到“截断的”回复,这导致TCP 53对话以便于发送/接收整个查询.此外,DNS服务器绑定到端口53,但查询本身源自发送到端口53的随机高编号端口(49152或更高).响应将从端口53返回到此相同端口.

Network Ports Used by DNS | Microsoft Docs

因此,如果您计划对网络上的DNS查询进行一些安全监听,则需要考虑上述因素.

对于非查找流量,请考虑DNS还使用区域传输(查询类型AXFR)来更新具有新记录的其他DNS服务器.处于中间攻击状态的人可以从这样的转移开始,DDOS是主要名称服务器,因此它太忙而无法响应要求更新记录的辅助服务器.然后,黑客会欺骗相同的主节点将“有毒”记录提供给辅助节点,将流行的DNS域重定向到受感染的主机.

因此,您的安全审核应密切关注查询类型AXFR,并且您的DNS系统应仅接受来自特定IP地址的AXFR交换.

SANS Institute InfoSec Reading Room | sans.org

猜你在找的HTML相关文章