在我的/etc/ntp.conf
,它说
By default, exchange time with everybody, but don't allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
我希望只接收来自指定服务器的时间,以防止 DDoS 攻击,例如这。
如何修改此文件以便不从同行接收时间?
答案1
如果服务器是公开可访问的,则您的配置中应该有此行:
restrict default kod limited nomodify noquery nopeer notrap
如果您需要远程管理功能,您可以restrict
在之后添加允许特定 IP 访问的行。如果它不可公开访问,那么您无需担心“monlist”放大攻击。
如果您不知道自己在做什么,您真的不应该运行公共 NTP 服务器。此行阻止的管理功能(以及您链接到的攻击中所利用的功能)与与其他系统交换时间无关。此外,“对等点”不同于 NTP 中的“客户端”和“服务器”。
编辑:
上述操作仅禁用所有管理功能(这是唯一已知可利用的功能)。除非明确指示(通过server
、peer
、broadcast
或manycastclient
指令 - 或 S0 硬件时钟),否则 NTP 不会与任何内容同步。
默认情况下,NTP 将充当服务器,为客户端请求提供服务 - 要禁用此功能,请添加noserve
到上面的 restrict 语句。此特定选项允许您允许某些管理功能,同时禁止客户端同步时间。
或者,如果您希望 NTP 不“监听”任何内容,您可以添加以下行:
restrict default ignore
答案2
您应该具体列出您想要监听的服务器:
server 192.168.1.10
确保广播已被注释掉。