为什么NTP要求对UDP端口123进行双向防火墙访问?


17

什么是iptables规则来允许NTP?

iptables -A INPUT -p udp --dport 123 -j ACCEPT
iptables -A OUTPUT -p udp --sport 123 -j ACCEPT

另外,从NTP网站

... ntpd需要对特权UDP端口123的完全双向访问。

我的问题是,为什么?对于不熟悉NTP的人来说,这似乎是一个潜在的安全漏洞,尤其是当我要求我的客户端在其防火墙中打开该端口以便我的服务器保持时间同步时。有没有人可以给我的客户以充分的理由说服他们我需要防火墙中的此访问权限?感谢帮助!:)


2
您是否已阅读有关“允许相关/已建立”的部分?如果这条规则的存在有没有必要为UDP端口的通用输入规则123
VMai

1
这真的是潜在的安全漏洞吗?我认为这是一个经常重复的短语,没有意义。现在是2014年,是时候不要对小于1024的端口施加特殊属性,并阻止所有未明确要求的流量。您正在从Internet上的某些主机打开到一台计算机的一个端口。
dfc

我同意,这实际上不是一个潜在的安全漏洞,但是我在金融行业工作,人们总是对打开防火墙以防万一“通过”感到不安。总是有一个很好的理由是值得的,再加上我很好奇自己的答案-时间服务器上的ntpd实际上是否与客户建立外发连接以发送时间更新?听起来很奇怪,而且不是特别可扩展。
DuffJ 2014年

我几天前用Google搜索了它,无需建立传入连接就可以管理它。
barlop 2014年

@VMai在superuser.com/questions/141772/…上说过的人 没有给出任何示例,但我认为他的意思是启用传出连接,将数据包传入其中。这与“ ntpd需要对特权UDP端口123 ....的完全双向访问”的概念不同,后者听起来像是传入连接。如果他想使用相关/既定方法允许传入和传出,则需要4条规则。2用于传入连接,2用于传出连接。
barlop 2014年

Answers:


10

如果您充当服务器,则仅需要允许传入流量NTP的端口,即可允许客户端同步到您。

否则,NTP状态的存在将自动确定传入的NTP数据包是被我们启动的现有防火墙状态阻止还是允许。

iptables -A输出-p udp --sport 123 --dport 123 -j ACCEPT

iptables -A输入-m状态-状态已建立,相关-j接受

请让我知道iptables规则是否正确。我没有使用iptables的经验。由于pfSense是一个有状态的防火墙,因此我的NTP客户端仅使用传出允许规则在pfSense路由器上保持同步。


1
这似乎很明智!不幸的是,我无法再确认您答案的正确性。但是,我会接受,因为它看起来确实合乎逻辑。非常感谢!
DuffJ

1

NTP要求在端口123上进行双向访问,因为NTP RFC对客户端的源端口进行了以下指定:

在对称模式(1和2)下运行时,此字段必须包含IANA分配的NTP端口号PORT(123)。

由于客户端的源端口是123,因此当服务器将响应发送回时,它将把它发送到端口123。自然地,为了能够接收该响应,客户端必须允许端口123上的传入响应。通常,响应会返回在一些短暂的港口范围内。

正如本·库克(Ben Cook)上文所述,这仅在处理无状态防火墙时才需要,因为有状态防火墙将允许在没有明确规则的情况下返回响应。


0

我认为最好的解决方案是启用端口123的输入,仅用于期望给服务器提供ntp信号的IP地址。
在ntp配置文件/etc/ntp.conf中,您的服务器应指向多个ntp服务器的地址。您可以使用lookup命令为每个地址找到对应的IP。

host -t a 0.debian.pool.ntp.org

然后,您可以将规则添加到服务器防火墙:

iptables -I INPUT -p udp -s 94.177.187.22 -j ACCEPT

...依此类推。
这样可以防止任何恶意人员损坏您的服务器。
我认为限制输出是没有用的。


-1

ntp服务器到服务器的通信是源端口和目标端口123。最方便的做法是显式允许至少将其允许到运行ntp服务的主机。

您可能会考虑仅将外部主机暴露于Internet上以从外部来源获取时间。与此同步的内部ntp服务可能是所有设备的来源。如果这些主机专用于此目的,则可能的暴露受到限制:它们仅接受ntp流量,而不存储其他数据。

或者,根本不要使用外部IP网络。例如,使用GPS之类的无线电源作为时间。

http://www.diablotin.com/librairie/networking/firewall/ch08_13.htm http://support.ntp.org/bin/view/Support/TroubleshootingNTP


1
感谢您提供此答案,但无法回答问题。如果我是系统管理员并且想要打开防火墙以便可以设置内部NTP服务怎么办?似乎还没有人知道为什么NTP需要双向访问(比单向访问危险得多)。
DuffJ
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.