我可以为 DNS 服务器设置哪些最严格的外部防火墙/DNS 侦听端口设置(仅限内部客户端)

我可以为 DNS 服务器设置哪些最严格的外部防火墙/DNS 侦听端口设置(仅限内部客户端)
  • 这个问题具体涉及强化 DNS、防火墙和 ntp 的配置。 (不是代理、http 访问、VPN 或其他服务)。
  • 这是关于网络面向外部的一侧。 DNS 客户端在本地连接到 DNS 服务器的单独接口卡上。我只想从等式中删除我的 DNS 服务器的客户端或其他内部内容。
  • 尝试打开最少量的端口并在堆栈中的任何位置尽可能限制打开的端口(通过 tcp/udp、源/目标端口......)。
  • 我最担心的是,根据我的理解,我的 DNS 服务器对其他 DNS 服务器的查询可以使用 1024 到 49152 之间的源端口进行,但我不想打开所有这些端口。
  • 防火墙正在使用“伪装”(NAT)。
  • DNS 使用 dns-sec。
  • 安全性优先于较慢的响应时间。
  • 如果您可以使用最少量的端口/协议等(包括“明显”端口)提供答案,也称为 DNS 与其他服务器通信必须开放的最小攻击面,为什么会这样,那就是最有帮助的。
  • 由于 FirewallD 是 *nix 世界中较新的前端,因此任何可能使用 FirewallD(而不是直接 iptables 或 pf)的示例都将具有附加价值。

  • 这本质上是一个一般性问题,但就我的上下文而言,我有常见的标准应用程序:带有绑定 DNS、Squid 代理和firewallD 防火墙的 RHEL 系列 Linux 服务器,所有这些都在同一台计算机上,面向外部互联网。

    我环顾四周,发现了许多依赖于特定软件或修复问题的具体问题。这个问题更多地与方法和安全性相关,而不是具体应用程序。在此先感谢您的时间。

答案1

使用 Bind 可以限制用于查询的源端口集。除了 DNSSec 之外,过多限制源端口会使虚假回复更容易被注入。

如果您想完全锁定,您可以使用外部代理,例如 8.8.8.8 上的 Google 8.8.8.8 DNS 服务器。单一(内部)来源。所有查询的单一目的地。不过,我无法就 DNSSec 方面提供建议。


参考 NTP 实现使用端口 123 作为源和目标,但并非每个实现都这样做。除非你控制上游服务器尚未获得安全配对,因此您需要能够访问“足够”可信的服务器。最好是三到五个。当然不只是两个(“它们是不同的,但哪个是错的”)。找到 Stratum 3 服务器非常容易。找到 Stratum 2 并不难,如果你仔细观察,还可以找到公共访问的 Stratum 1。 (或者您可以运行自己的基于 GPS 的接收器。现在它们并不太贵。)

相关内容