Назад | Перейти на главную страницу

защита / усиление защиты клиента ntp на серверах Linux - файл конфигурации

У меня чистая установка Debian с клиентом NTP. Мне были предоставлены настройки для защиты конфигурации моего 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

Чтобы добавить к ответу Джона Маховальда: рекомендованная конфигурация, которую вам дали, устарела и не должна соблюдаться. Конфигурация по умолчанию, предоставляемая Debian / Ubuntu, разработана для обеспечения максимальной безопасности с учетом известных нам на сегодняшний день уязвимостей NTP, и вы должны внести в нее минимальные изменения.

Единственное, что может иметь для вас значение в предлагаемой конфигурации, - это выбор серверов времени NIST. Если вы хотите их использовать, вам следует использовать pool директива, а не просто server. В pool директива позволяет ntpd прекратить использовать серверы, если они не отвечают или работают плохо, поэтому вам почти всегда следует использовать его, а не server.

В общем, единственное, что вы можете подумать о добавлении в конфигурацию по умолчанию:

pool time.nist.gov iburst

Выделенные вами строки статистики не будут иметь никакого эффекта, если вы не раскомментируете эту строку:

#statsdir /var/log/ntpstats/

И последнее очень важно, потому что позволяет использовать пулы:

restrict source notrap nomodify noquery

Вы должны убедиться, что линия осталась на месте.

Если у вас есть полный набор директив, которые вы хотите установить, просто замените дистрибутив ntp.conf. Но ты не необходимость поскольку они имеют эквивалентную безопасность:

  • Ваши параметры ограничения очень похожи. Debian явно использует -4 для обозначения IPv4 и устанавливает ограничение скорости.
  • CVE-2013-5211 представляет собой усиление атаки с использованием monlist. У Debian stretch и более поздних версий есть версии без этого недостатка, и их конфигурация по умолчанию смягчила его за много лет до этого.
  • Расположение дрейфового файла практически не влияет на безопасность.

Личные неприятности из-за предлагаемой вами конфигурации NTP:

Сервер с адресом, начинающимся с 127.127.1. это Недисциплинированные местные часы. Его использование не рекомендуется, он ничего не добавляет, смущает людей, а лучше сиротский режим.

Вам не нужно использовать службу времени в Интернете NIST, чтобы получить надежные часы. Вы можете, если хотите, и они ценят использование глобального балансировщика нагрузки time.nist.gov. Однако проект NTP Pool снимает нагрузку с эталонных часов и работает адекватно для многих случаев использования.

Содержание driftfile не добавляет / не удаляет безопасность, это просто место для хранения данных NTP. Используйте для него значение распределения по умолчанию.

В противном случае все оставленные настройки не нужны, это функции статистики, которые не нужны для нормальной работы.