Недавно я заметил, что люди пытались атаковать мой сервер с помощью ntpd-отражения. Итак, мои вопросы: насколько необходимо, чтобы ntpd оставался включенным, и как я могу его включать и отключать?
Стандартная установка Ubuntu 16.04 или 18.04 для настольных ПК не включает ntpd
. (Установщик сервера по умолчанию также не применяет его, хотя некоторые облачные образы включают его.) Скорее, systemd-timesyncd
является клиентом SNTP по умолчанию. Поскольку это всего лишь клиент SNTP (а не сервер NTP), он вообще не отвечает на запросы извне (за исключением потенциальных ошибок в systemd-timesyncd
). Вы можете увидеть, что systemd-timesyncd
использует timedatectl
.
Другие интересные места:
Конфигурация по умолчанию ntpd
в Ubuntu 16.04 предусмотрены специальные средства защиты, предотвращающие его использование в отражении атак.
В Ubuntu 18.04 NTP-сервер по умолчанию (предварительно запеченный в некоторые изображения) был переключен на chronyd
, который имеет лучшую историю безопасности и более безопасную кодовую базу, согласно недавнему отчету.
Необязательно, чтобы ntpd оставался включенным. Хорошо проводить время, но не обязательно. Большинство текущих конфигураций по умолчанию должны ограничивать доступ к серверу ntp для защиты от атак отражения.
Чтобы включить и отключить для следующей перезагрузки:
systemctl enable ntpd
systemctl disable ntpd
Чтобы начать и немедленно прекратить
systemctl start ntpd
systemctl stop ntpd
В дополнение к тому, что сказал Ральф Фридл, также стоит отметить, что некоторые программы полагаются на синхронизацию часов. Обычно это касается ситуации с лицензированием или парой ключей (иногда этого также требует 2FA).
Просто осознавайте, чем вы занимаетесь и что для этого требуется. Если вы начнете видеть странные ошибки с лицензированием или сертификатами, я сначала дважды проверю NTP.
Что касается атак отражения NTP, я вполне уверен, что вы можете избежать нежелательных посетителей, запрашивающих данные NTP, закрыв порт * 123 для входящего трафика. Таким образом, вы по-прежнему можете отправлять исходящие запросы NTP, получать их ответы и блокировать входящие атаки. Вам действительно не нужен этот порт для входящего трафика, если вы не используете сервер NTP. Вы также можете отключить такие вещи, как команда монитора в NTP, чтобы укрепить свой сервер NTP. (этот пост старый, но может помочь: https://isc.sans.edu/forums/diary/NTP+reflection+attack/17300/)
Надеюсь, это ответ на ваш вопрос: D
*: Редактировать для ясности