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

DDOS с использованием ntp-сервера

Я слышал о новом виде DDOS, где ntp используется для отражения .

Мои вопросы действительно простые:

  1. Не могли бы вы подробнее рассказать, как они работают, и уточнить? Поскольку ntp запускается через UDP, я полагаю, что где-то должен быть какой-то поддельный пакет?

  2. Как можно исчерпывающе проверить, уязвим ли какой-либо ntp-сервер (и не может ли он участвовать в какой-либо атаке)?

  3. Если мы когда-нибудь станем целью такой атаки, есть ли способ смягчить ее?


Поскольку этот вид атак широко использовался в 2014 году, вот еще несколько деталей:

Простой способ предотвратить и смягчить подобную проблему - по умолчанию прослушивать 127.0.0.1? Я думаю, это верно для любой службы (bind9, mysql, ...)?

Эти атаки существуют уже давно, они снова стали популярными в последние пару месяцев. Они работают как любая обычная атака с усилением: хост подделывает запрос, так что исходный IP-адрес кажется целевым хостом. Сервер NTP отправляет свой ответ на поддельный адрес. Поскольку ответ для определенных типов запросов может быть довольно большим и обычно это UDP, это может довольно быстро стать проблемой для целевого хоста: он забивается пакетами NTP.

К сожалению, это не уязвимость серверов NTP, это просто функция, которой злоупотребляют. Одна вещь, которую следует учитывать, - это если вам нужно запустить серверы NTP, которые можно запрашивать со всего Интернета. Если в этом нет необходимости, создайте список доступа или политику брандмауэра, чтобы блокировать запросы, поступающие из ненадежных источников. Затем, что вы можете сделать, чтобы проверить, уязвимы ли ваши NTP-серверы, - это выполнить NTP-запросы из ненадежных источников и проверить, получили ли вы ответ. Но, к сожалению, существует довольно много NTP-серверов, которые являются общедоступными по назначению (например, все серверы в pool.ntp.org). Если вам нужно запустить общедоступный NTP-сервер, вы можете рассмотреть возможность реализации ограничения частоты запросов, чтобы уменьшить влияние на целевой хост в случае злоупотреблений.

Другая, более общая часть решения заключается в том, что в сетях необходимо реализовать BCP38, который говорит им фильтровать трафик, покидающий их сети, поэтому отправка поддельных пакетов невозможна. К сожалению, все еще существует большое количество сетей, которые не реализуют этот вид фильтрации, поэтому все атаки с использованием поддельных исходных пакетов (с использованием любого протокола, такого как NTP, DNS или chargen) все еще возможны.

То, что вы можете сделать для смягчения такой атаки, немного зависит от вашей сети и доступных инструментов, но вы должны учитывать одну вещь, это блокировать входящие пакеты NTP из ненадежных источников (поэтому проверьте, какие серверы NTP вы используете). Конечно, это не поможет, если ваш исходящий канал перегружен. В этом случае вам нужно попросить вашего интернет-провайдера помочь вам отфильтровать трафик.

Мои ответы:

  1. Атаки используют команды monlist (которые будут отображаться как ntpv2 зарезервированы в tcpdump). Скорость этих команд не ограничена обычным ограничением скорости. Monlist (и другие команды мониторинга) будут работать только с IP-адресов, которым разрешено «запрашивать» ваш сервер, поэтому добавьте «noquery» к настройкам по умолчанию.
  2. Попробуйте запустить ntpdc -nc monlist с внешнего IP-адреса, чтобы узнать, отвечает ли ваш сервер.
  3. Ограничьте входящий трафик ntp. Не в самом ntpd, а до того, как он достигнет демона. Как это настроить в Linux обсуждается в "моя установка ограничения скорости" в списке рассылки пула ntp
  1. Не могли бы вы подробнее рассказать, как они работают, и уточнить? Поскольку ntp запускается через UDP, я полагаю, что где-то должен быть какой-то поддельный пакет?

US-CERT дает прекрасное описание этой атаки на сайте "Предупреждение (TA14-017A) Атаки с усилением на основе UDP" и "Предупреждение (TA14-013A) Атаки усиления NTP с использованием CVE-2013-5211".

TA14-013A говорит об этом лучше всего:

Описание

UDP по своей природе является протоколом без установления соединения, который не проверяет исходные IP-адреса. Если протокол прикладного уровня не использует контрмеры, такие как инициирование сеанса, очень легко подделать дейтаграмму IP-пакета, чтобы включить произвольный IP-адрес источника [7]. Когда многие пакеты UDP имеют исходный IP-адрес, подделанный на один адрес, сервер отвечает этой жертве, создавая отраженную атаку отказа в обслуживании (DoS).

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

Приведенная таблица, касающаяся «коэффициента усиления полосы пропускания (BAF)», показывает, что NTP демонстрирует худшее поведение. Поскольку NTP является чрезвычайно распространенным протоколом, и многие операционные системы Linux поставляются с активным сервером NTP, эта проблема особенно серьезна.