我最近注意到有人试图对我的服务器进行 ntpd 反射攻击。所以我的问题是,ntpd 保持启用状态有多必要,我该如何启用和禁用它?
答案1
Ubuntu 16.04 或 18.04 桌面版的默认安装不包括ntpd
。(默认服务器安装程序也不强制执行它,尽管一些云映像包含它。)相反,systemd-timesyncd
是默认的 SNTP 客户端。因为它只是一个 SNTP 客户端(而不是 NTP 服务器),所以它根本不响应来自外部的请求(除非 中存在潜在错误)。您可以使用 来查看正在做systemd-timesyncd
什么。systemd-timesyncd
timedatectl
其他景点:
Ubuntu 16.04 下的默认配置
ntpd
包含特定的保护措施,以防止其被用于反射攻击。在 Ubuntu 18.04 下,默认 NTP 服务器(已预先嵌入到某些镜像中)已切换为
chronyd
,它具有更好的安全历史记录和更安全的代码库,根据最近的一份报告。
答案2
ntpd 没有必要保持启用状态。拥有正确的时间固然很好,但不是必需的。大多数当前默认配置应限制对 ntp 服务器的访问,以防止反射攻击。
要启用或禁用下次重启:
systemctl enable ntpd
systemctl disable ntpd
立即启动和停止
systemctl start ntpd
systemctl stop ntpd
答案3
除了 RalfFriedl 所说的内容之外,还值得注意的是,有些软件依赖时钟同步。这通常用于许可情况或密钥对情况(有时 2FA 也需要它)。
只要意识到你正在运行什么以及它需要什么。如果你开始看到许可或证书的奇怪错误,我会先仔细检查 NTP。
关于 NTP 反射攻击,我相当确定,您可以通过关闭端口* 123 来阻止不受欢迎的访问者请求 NTP 数据。这样,您仍然可以发出 NTP 出站请求并接收其响应并阻止传入攻击。除非您正在运行 NTP 服务器,否则您实际上不需要该端口来接收入站流量。您还可以禁用 NTP 中的监控命令等功能来强化您的 NTP 服务器。(这篇文章虽然很旧,但可能会有所帮助:https://isc.sans.edu/forums/diary/NTP+reflection+attack/17300/)
我希望这能回答你的问题:D
*:为清晰起见进行编辑