web-dev-qa-db-ja.com

Linuxサーバーでのntpクライアントの保護/強化-構成ファイル

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
1
IMTheNachoMan

John Mahowaldの答えにさらに追加するには、与えられた推奨構成は古いものであり、従うべきではありません。 Debian/Ubuntuが提供するデフォルトの設定は、これまでにわかっているNTPの脆弱性を考慮して、可能な限り安全になるように設計されています。可能な限り最小限の変更を加える必要があります。

提案された構成で重要になる可能性があるのは、NISTのタイムサーバーの選択だけです。それらを使用する場合は、poolだけでなく、serverディレクティブを使用する必要があります。 poolディレクティブを使用すると、サーバーが応答しないか、サービスが悪い場合にntpdがサーバーの使用を停止できるため、ほとんどの場合、serverよりも優先して使用する必要があります。

したがって、全体として、デフォルト構成に追加することを検討できるのは次のとおりです。

pool time.nist.gov iburst

強調表示した統計行は、次の行のコメントを解除しない限り、効果がありません。

#statsdir /var/log/ntpstats/

そして最後のものはあなたがプールを使うことを可能にするので非常に重要です:

restrict source notrap nomodify noquery

線が所定の位置に残っていることを確認する必要があります。

2
Paul Gear

設定したいディレクティブの完全なセットがある場合は、ディストリビューションのntp.confを置き換えるだけです。ただし、同等のセキュリティがあるため、必要はありません

  • 制限オプションは非常に似ています。 Debianは明示的に-4を使用してIPv4を示し、レート制限を課します。
  • CVE-2013-5211 はmonlistを使用した増幅攻撃です。 Debianストレッチ以降にはこの欠陥のないバージョンがあり、それらのデフォルト設定は何年も前にそれを軽減しました。
  • ドリフトファイルの場所は、セキュリティにほとんどまたはまったく影響を与えません。

提案されたNTP config:

アドレスが127.127.1.1で始まるサーバー。 規律のないローカルクロック です。その使用は推奨されておらず、何も追加せず、人々を混乱させ、孤立モードの方が優れています。

信頼できる時計を取得するために、NISTインターネットタイムサービスを使用する必要はありません。必要に応じてできます。 time.nist.govグローバルロードバランサーを使用していただければ幸いです 。ただし、NTPプールプロジェクトは参照クロックの負荷を取り除き、多くのユースケースで適切に機能します。

1
John Mahowald

driftfileの内容は、セキュリティを追加/削除するものではなく、単にデータを保存するNTPの場所です。配布のデフォルト値を使用してください。

それ以外の場合、省略された設定はすべて必要ありません。これらは、通常の操作には必要のない統計機能です。

0
Tero Kilkanen