DNS与NTP配置核心在于安全、稳定、可验证:DNS须启用DoT/DoH、DNSSEC及内网可信源;NTP须禁用monlist、启用认证(chrony推荐)、避免DNS依赖循环,并联动监控健康状态。

配置服务器的 DNS 与 NTP 服务,核心不在“能通”,而在“安全、稳定、可验证”。不加防护的 DNS 查询可能被劫持,未认证的 NTP 同步可能引入恶意时间偏移,进而导致证书失效、Kerberos 认证崩溃、日志失序等连锁问题。以下从加固角度给出关键配置要点。
DNS:启用加密与可信源
普通明文 DNS(UDP 53)易受中间人篡改和缓存污染。生产环境应优先采用加密解析方式:
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
-
使用 DNS over TLS(DoT)或 DNS over HTTPS(DoH):在支持的系统(如 systemd-resolved、dnsmasq 2.86+、cloudflared)中配置,例如在
/etc/systemd/resolved.conf中设置:DNS=1.1.1.1#cloudflare-dns.comDNSSEC=yes -
强制启用 DNSSEC 验证:确保解析器不仅获取记录,还校验签名链。BIND(named)需在
named.conf中开启:options { dnssec-validation auto; };,并确认根密钥已更新(rndc reconfig或手动运行dig . DNSKEY @a.root-servers.net > /var/named/root.key) -
避免硬编码公网 DNS,优先使用 VPC 内托管 DNS:例如华为云内网 DNS(如
100.125.1.250)、阿里云内网 DNS(如100.100.2.136),它们默认启用 DNSSEC 并与云平台身份绑定,比直接用 8.8.8.8 更可控
NTP:禁用危险模式,启用认证与限制
默认 NTP 配置常暴露 monlist 或允许任意客户端查询,易被用于反射放大攻击;未认证的同步也可能被伪造响应误导时钟。
-
禁用易受攻击的扩展功能:在
/etc/ntp.conf中添加:disable monitordisable ntpport
并移除或注释掉restrict default kod nomodify notrap nopeer noquery以外的宽松 restrict 规则 -
对关键上层服务器启用 NTP 认证(symmetric key):生成密钥(
ntp-keygen -k /etc/ntp.keys -p),在 conf 中指定:keys /etc/ntp.keystrustedkey 1server 203.107.6.88 key 1 iburst(以国家授时中心 IP 为例) -
云环境中优先使用 chrony 替代 ntpd:chrony 对临时断网、虚拟机休眠更鲁棒,且默认禁用远程管理接口。启用认证只需在
/etc/chrony.conf中添加:keyfile /etc/chrony.keyscommandkey 1server 203.107.6.88 iburst key 1
联动加固:DNS 与 NTP 共同保障可信锚点
DNS 和 NTP 实际构成信任链底座——NTP 依赖 DNS 解析时间服务器域名,而 DNSSEC 验证又依赖准确时间。二者必须协同配置:
-
避免循环依赖:不要让 NTP 客户端通过 DNS 查询
time.cloudflare.com,而该域名的 DNSSEC 验证又依赖本地时间。建议对权威时间服务器使用固定 IP(如国家授时中心203.107.6.88、中科院国家授时中心114.114.114.114)而非域名 -
首次启动前做一次可信时间快照:在启用 NTP 前,用
timedatectl set-ntp false && ntpdate -s -u 203.107.6.88手动校准(仅限首次),再启用守护进程,防止因初始偏差过大被拒绝同步 -
监控双服务健康状态:定期检查
systemctl is-active chronyd和dig +dnssec www.example.com @127.0.0.53 | grep "ad "(ad 标志表示 DNSSEC 验证成功),将结果接入告警系统

















