我使用 NTP 客户端全新安装了 Debian。我获得了保护我的 NTP 客户端配置的设置。我知道如何将它们添加到/etc/ntp.conf
文件中,但如果设置需要合并或覆盖,如果顺序很重要,或者如何处理重复设置,我不知道。
/etc/ntp.conf
这是软件包附带的默认文件:
cat /etc/ntp.conf | egrep -v '^#|^$'
driftfile /var/lib/ntp/ntp.drift statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable pool 0.debian.pool.ntp.org iburst pool 1.debian.pool.ntp.org iburst pool 2.debian.pool.ntp.org iburst pool 3.debian.pool.ntp.org iburst restrict -4 default kod notrap nomodify nopeer noquery limited restrict -6 default kod notrap nomodify nopeer noquery limited restrict 127.0.0.1 restrict ::1 restrict source notrap nomodify noquery
这些是我被告知要使用的设置:
#creates file to adjust the default system clock value after a service interruption/restart driftfile /var/lib/ntp/drift #access controls to reduce unwanted queries (kod) #prevent alteration of configuration file (nomodify) #prevent nptdc from being used for control message protocol traps (notrap) #prevent peer queries (nopeer) #prevent ntpq and ntpdc queries from being answered (noquery) restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery #restrict NTP access to localhost restrict 127.0.0.1 restrict -6 ::1 #point to NIST time servers use fastest method to collect time server time.nist.gov iburst #point to localhost if access is lost to NTP servers/pools fudge 127.127.1.0 stratum 10 #mitigates CVE-2013-5211 disable monitor
对于其中一些,例如driftfile
,我发现它们需要被覆盖。我不确定剩下的那些。需要它们还是我要更换它们?如果我保留它们,顺序重要吗?
根据我的理解,这些是我知道基于合并默认选项和我提供的内容需要存在的设置:
# creates file to adjust the default system clock value after a service interruption/restart driftfile /var/lib/ntp/drift # access control configuration restrict -4 default kod notrap nomodify nopeer noquery limited restrict -6 default kod notrap nomodify nopeer noquery limited # restrict NTP access to localhost restrict 127.0.0.1 restrict -6 ::1 # point to NIST time servers use fastest method to collect time server time.nist.gov iburst # point to localhost if access is lost to NTP servers/pools fudge 127.127.1.0 stratum 10 # mitigates CVE-2013-5211 disable monitor
这些是默认文件中的剩余设置,但我不确定如何处理它们:
statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable restrict source notrap nomodify noquery
进一步补充 John Mahowald 的回答:您给出的推荐配置是旧的,不应该遵循。考虑到我们目前所知的 NTP 漏洞,Debian/Ubuntu 提供的默认配置旨在尽可能安全,您应该对其进行尽可能少的更改。
建议的配置中唯一可能对您很重要的是 NIST 时间服务器的选择。如果你想使用它们,你应该使用
pool
指令而不是仅仅使用server
. 如果服务器无响应或服务时间不长,该pool
指令可以ntpd
停止使用服务器,因此您几乎总是应该优先使用它而不是server
.因此,总的来说,您可能会考虑添加到默认配置中的唯一内容是:
除非您取消注释此行,否则您突出显示的统计信息行没有任何效果:
最后一个非常重要,因为它使您能够使用池:
您应该确保该线留在原位。
如果您想要设置一整套指令,只需替换发行版的 ntp.conf。但是您不需要,因为它们具有同等的安全性:
您建议的 NTP 配置的个人烦恼:
地址以 127.127.1 开头的服务器。是无纪律的本地时钟。不推荐使用它,它不添加任何东西,迷惑人,孤儿模式更好。
您无需使用 NIST Internet 时间服务即可获得可靠的时钟。如果你愿意,你可以,他们喜欢使用 time.nist.gov 全局负载平衡器。但是,NTP 池项目减轻了参考时钟的负担,并且在许多用例中都能充分发挥作用。
的内容
driftfile
不会添加/删除任何安全性,它只是 NTP 存储数据的位置。使用它的分布默认值。否则不需要所有遗漏的设置,它们是正常操作不需要的统计功能。