首页/安全/安全加固速查/NTP 服务安全与放大防护
服务与端口收敛50 条

NTP 服务安全与放大防护

chrony/ntpd 若对外开放查询会被用于 NTP 放大;服务器作为同步客户端时通常无需对外服务,收紧 restrict 并限制来源。

安全加固速查安全更新于 2026-10-13

NTP 服务为什么需要收敛

NTP 服务如果对外开放查询接口,既能被用作流量放大攻击(NTP amplification),也会暴露自身的时间源信息。多数服务器只需要作为客户端向内部时间源同步,并不需要对外提供 NTP 服务。加固动作是确认实际监听情况,收紧访问控制指令,只在确有需要的网段放行。

基本信息

加固项时间服务收敛
适用平台Linux(chrony 与 ntpd)
默认端口123/udp
核查命令ss -tulnp、chronyc clients
配置位置/etc/chrony.conf 或 /etc/ntp.conf
风险等级中

典型使用场景

  • 服务器基线:确认本机是否真的需要对外提供 NTP 服务
  • 放大攻击排查:出口流量异常时检查 123/udp
  • 隔离网内网授时:仅在必要网段放行查询
  • 事故复盘:确认访问控制指令是否被改成宽放行
  • 新机交付:默认按客户端角色配置,不开放查询

核查与收紧

核查与收紧
# 确认谁在监听 123 端口
ss -tulnp | grep ':123 '
# 查看 chrony 的客户端列表,有客户端说明在对外服务
chronyc clients 2>/dev/null | head
# 查看相关访问控制指令
grep -E '^(restrict|allow)' /etc/chrony.conf 2>/dev/null
# 参考写法:默认收紧,仅在确有客户端时按网段放行
# restrict default kod nomodify nopeer noquery limited
# allow 10.0.0.0/24

配置指令的作用

指令或项作用建议
restrict default默认访问控制使用 kod nomodify nopeer noquery limited 组合
allow允许指定网段查询只在确有客户端时按网段配置
监听端口是否对外提供服务无需服务时限制监听范围
上游 server同步来源指向内部可信时间源,便于统一管理
访问控制指令按顺序匹配:一条范围过宽的写法会覆盖后面的收紧设置,顺序与默认值都要核对。
服务器以客户端身份向内部时间源同步即可,对外提供 NTP 服务属于少见需求,默认关闭更安全。
放大攻击的流量特征很明显:大量来自外部的 NTP 请求会让出口带宽异常,这类异常需要提前监控。

落地检查点

  • 确认 123 端口的实际监听范围,与业务需求对齐
  • 逐条核对访问控制指令的顺序与默认值
  • 把 NTP 流量纳入监控,异常增长时能第一时间发现
  • 新机交付按客户端角色配置,不开放对外查询

易错点

  • 只看进程不看配置:服务在跑但访问控制过宽,等于默认对外开放
  • restrict 指令顺序写错:宽放行写在后面也一样生效,收紧项被静默覆盖
  • 为方便内网设备统一用一个 allow 网段:范围过大等同于对外开放
  • 关闭服务不取消开机自启:重启后 NTP 服务又跑起来,加固没有落地

数据来源与参考

  • chrony 官方文档:restrict/allow
  • US-CERT:NTP 放大防护

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌