Linux

在 Linux 伺服器上保護/強化 ntp 客戶端 - 配置文件

  • March 9, 2019

我使用 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.

因此,總的來說,您可能會考慮添加到預設配置中的唯一內容是:

pool time.nist.gov iburst

除非您取消註釋此行,否則您突出顯示的統計資訊行沒有任何效果:

#statsdir /var/log/ntpstats/

最後一個非常重要,因為它使您能夠使用池:

restrict source notrap nomodify noquery

您應該確保該線留在原位。

引用自:https://serverfault.com/questions/957302