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 流量纳入监控,异常增长时能第一时间发现
- 新机交付按客户端角色配置,不开放对外查询