4.2. 在时间服务器上启用网络时间安全(NTS)
如果您运行自己的网络时间协议(NTP)服务器,您可以启用服务器网络时间协议(NTS)支持来促进其客户端安全地同步。
如果 NTP 服务器是其它服务器的客户端,即它不是 Stratum 1 服务器,它应使用 NTS 或对称密钥进行同步。
先决条件
-
以
PEM
格式的服务器私钥 -
带有
PEM
格式的所需中间证书的服务器证书
流程
编辑
/etc/chrony.conf
文件并进行以下更改:ntsserverkey /etc/pki/tls/private/<ntp-server.example.net>.key ntsservercert /etc/pki/tls/certs/<ntp-server.example.net>.crt
ntsserverkey /etc/pki/tls/private/<ntp-server.example.net>.key ntsservercert /etc/pki/tls/certs/<ntp-server.example.net>.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对允许 chrony 用户读取文件的私钥和证书文件设置权限,例如
chown root:chrony /etc/pki/tls/private/<ntp-server.example.net>.key /etc/pki/tls/certs/<ntp-server.example.net>.crt chmod 644 /etc/pki/tls/private/<ntp-server.example.net>.key /etc/pki/tls/certs/<ntp-server.example.net>.crt
# chown root:chrony /etc/pki/tls/private/<ntp-server.example.net>.key /etc/pki/tls/certs/<ntp-server.example.net>.crt # chmod 644 /etc/pki/tls/private/<ntp-server.example.net>.key /etc/pki/tls/certs/<ntp-server.example.net>.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
确保
ntsdumpdir /var/lib/chrony
设置存在。 在 firewalld 中开放所需的端口:
firewall-cmd --permanent --add-port={323/udp,4460/tcp} firewall-cmd --reload
# firewall-cmd --permanent --add-port={323/udp,4460/tcp} # firewall-cmd --reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启
chronyd
服务:systemctl restart chronyd
# systemctl restart chronyd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
从客户端机器执行测试:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow System clock wrong
消息指示 NTP 服务器接受 NTS-KE 连接并使用 NTS 保护的 NTP 消息进行响应。验证 NTS-KE 连接并验证服务器中观察的 NTP 数据包:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果
NTS-KE connections accepted
和Authenticated NTP packets
项带有一个非零值,这意味着至少有一个客户端能够连接到 NTS-KE 端口并发送经过身份验证的 NTP 请求。