Атака с помощью вашего сервера времени: NTP amplification attack (CVE-2013-5211)
13 января Компьютерная команда экстренной готовности США (US-CERT) выпустила предупреждение о новом способе DDoS-атак.
Зараженные компьютеры отправляют запрос monlist с поддельным IP-адресом отправителя к NTP-серверу.
Запрос monlist возвращает список из последних 600 клиентов ntpd.
Таким образом, небольшим запросом от зараженного компьютера к жертве отправляется большой поток UDP.
В этом и заключается сущность амплификации.
Незащищенный NTP-сервер становится невольным промежуточным звеном атаки.
Атаке подвержены версии ntpd до 4.2.7p26 (стабильная сейчас 4.2.6p5).
Проверить свой сервер на уязвимость можно выполнив команду:
ntpdc -c monlist адрес_сервера
Если команда выдает список клиентов (а не «timed out, nothing received»), значит система уязвима.
Устранение
Сейчас уже существуют как минимум 3 способа:
- 1) Обновить ntpd до версии 4.2.7p26. В FreeBSD обновите порты и установите ntpd из net/ntp-devel.
Без обновления можно:
- 2) Отключить monlist в ntp.conf, добавив строчку
disable monitor
- 3) Или отключить любые запросы статуса сервера в restrict default
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
Возможно, вы вообще не знали, что ваш NTP-сервер виден наружу (-:.
Тогда отключите доступ к нему полностью.
Я столкнулся с этой проблемой еще в ноябре, когда NTP-трафик на моем публичном NTP stratum1.net стал 30Гб в час.
Заметил я это не сразу, т.к. даже на процессоре Atom загрузка была менее 5%.
Тогда я написал bash-скрипт, который смотрел статистику трафика граничного брандмауэра за последние полчаса (через netflow) и автоматически добавлял правило deny для слишком активных клиентов. И вот через два месяца стало понятно, что это было.
Источники:
Created/Updated: 25.05.2018