端口 53 上的虚假 TCP 连接是否存在问题?

端口 53 上的虚假 TCP 连接是否存在问题?

我运行的服务器除其他外还使用 tinydns 作为 DNS,使用 axfrdns 处理来自我们的辅助 DNS(另一个系统)的传输请求。我知道 tinydns 使用 UDP 上的端口 53,而 axfrdns 使用 TCP 上的端口 53。

我已将 axfrdns 配置为仅允许来自我同意的辅助主机的连接。我运行 logcheck 来监控我的日志,每天都会看到来自看似随机的主机的端口 53 (TCP) 上的虚假连接。它们通常来自 ADSL 连接。

我的问题是:这些请求是无辜的还是存在安全风险?我很乐意使用 iptables 来阻止屡教不改的用户,但不想阻止我托管的网站之一的无辜用户。

谢谢,达伦。

答案1

我假设您将服务器用作域名的权威 DNS 服务器。如果是这样,则任何需要解析您的服务器有权解析的名称的客户端都只需要使用 UDP。TCP 将用于区域传输。

我还假设您不希望全世界都能够进行区域传输。虽然区域传输本身并不构成安全风险,但通常只允许次要/备份 DNS 服务器进行区域传输。大多数 DNS 软件还具有 ACL 来控制允许哪个服务器进行区域传输,因此您还有第二种限制方法。但由于我认为安全性意味着只允许需要的内容,因此我建议您阻止不需要从您那里进行区域传输的主机在端口 53 上的 TCP。

附注:来自 TCP 端口 53 上的随机 adsl 主机的 TCP 连接具有恶意意图。这是因为没有合法客户端需要从您那里进行区域传输。他们可能试图访问与您的网络相关的机密信息,或利用某些 DNS 软件的漏洞。

虽然这并不是什么需要担心的事情,但是你应该意识到这一点。

答案2

TCP 是不是仅用于区域传输。

如果您的 DNS 服务器发回截断的 (TC=1) UDP 响应,则 DNS 客户端会使用 TCP 作为默认回退。如果您在单个数据包中提供超过 512 字节的数据,就会发生这种情况。

如果你正在运行 DNS 服务器,那么应该接受来自 DNS 客户端的 TCP 连接,这样做不存在任何固有的安全风险。DNS 服务器存在极小的 DoS 攻击风险,但任何面向公众的服务都是如此。

草案-ietf-dnsext-dns-tcp-要求它将会在下个月以 RFC 的形式发布。

RFC 5966更多细节。

Ob 免责声明 - 我编写了该 RFC。

答案3

唯一应该使用你的主机作为 DNS 服务器的是

  • 本地主机
  • 您将该主机设置为 DNS 服务器的网络上

阻止“其他一切”的最简单方法是禁用服务监听该地址。如果您自己的设备在“您的网络”之外,请使用防火墙规则(iptables或其他规则)仅接受来自外部网络地址的连接。如果它们没有修复,您可能需要 VPN 或其他安全隧道将外部主机带入“您的网络内部”。

请记住,针对内部名称服务器的任意 DNS 查询可能会将您的整个网络映射到外部方,并且要么提供攻击媒介,要么泄露您不希望其他人知道的信息。“随机 ADSL 连接”很容易成为僵尸网络机器,用于策划针对您的恶意行为。

答案4

向名称服务器开放传入 TCP 会带来许多安全风险 - 任何不承认这一点的人都是不理智的。只要看看根入侵历史 - 大多数都是通过结合使用 TCP 和 UDP 来完成的。旧的 MUST 和 SHOULD RFC 是由了解安全性的人制定的。如果您的 DNS 区域不使用 TC=1 位(或超过 512 字节) - 不要启用传入 TCP,让那些白痴将来这样做吧。

相关内容