
Я слышал о новом виде DDOS, когдаntp используется для отражения.
Мои вопросы очень простые:
Можете ли вы подробнее рассказать о том, как они работают, и прояснить ситуацию? Поскольку ntp работает через UDP, я полагаю, что где-то должен быть какой-то поддельный пакет?
Как можно полностью проверить, уязвимы ли некоторые NTP-серверы (и не могут ли они быть замешаны в какой-либо атаке)?
Если мы когда-нибудь станем объектом такой атаки, есть ли способ смягчить последствия?
Поскольку этот вид атак широко использовался в 2014 году, вот еще несколько подробностей:
- Более подробную информацию вы можете найти здесьcve.
- «Вчера вечером 30.01.2014, начиная с 22:15 по центральноевропейскому времени, сеть Witbe в Париже серьезно пострадала от распределенной атаки типа «отказ в обслуживании» (DDOS) с использованием усиления NTP».
- Ой, 350 Гбит/с, это больноhttp://www.itnews.com.au/News/372033,worlds-largest-ddos-strikes-us-europe.aspx
- Общие сведения о поведении DDoS-атак можно найти здесь:Я подвергся DDoS-атаке. Что мне делать?
- BBC рассказывает об атаках NTP:http://www.bbc.com/news/technology-26662051
- Еще один вопрос: если я правильно понял, openntpd по умолчанию слушает на 127.0.0.1, а ntpd слушает на 0.0.0.0. - Я не совсем уверен, что все серверы ntp, участвующие в отражениях DDoS-атак, должны были предоставлять время публично. - Просто я думаю, что некоторые неквалифицированные системные администраторы установили ntp для локальной синхронизации времени и оставили файлы конфигурации по умолчанию.
Простым способом предотвращения и смягчения такого рода проблем было бы прослушивание 127.0.0.1 по умолчанию? Я полагаю, это справедливо для любой службы (bind9, mysql, ...)?
решение1
Эти атаки существуют уже много лет, они снова стали популярными в последние пару месяцев. Они работают как любая обычная атака с усилением: хост подделывает запрос, так что исходный IP-адрес кажется целевым хостом. NTP-сервер отправляет свой ответ на поддельный адрес. Поскольку ответ на определенные типы запросов может быть довольно большим и обычно представляет собой UDP, это может довольно быстро стать проблемой для целевого хоста: он завален пакетами NTP.
К сожалению, это не уязвимость в серверах NTP, это просто функция, которой злоупотребляют. Следует учесть, если вам нужно запустить серверы NTP, которые могут быть запрошены со всего Интернета. Если это не нужно, создайте список доступа или политику брандмауэра, чтобы блокировать запросы, поступающие из ненадежных источников. Затем, чтобы проверить, уязвимы ли ваши серверы NTP, вы можете выполнить запросы NTP из ненадежных источников и проверить, получаете ли вы ответ. Но, к сожалению, существует довольно много серверов NTP, которые являются общедоступными по намерению (например, все серверы в pool.ntp.org
). Если вам нужно запустить общедоступный сервер NTP, вы можете рассмотреть возможность внедрения ограничения скорости запросов, чтобы уменьшить воздействие на целевой хост в случае злоупотребления.
Другая, более общая часть решения заключается в том, что сети должны реализоватьБКП38, который сообщает им о необходимости фильтровать трафик, выходящий из их сетей, чтобы отправка поддельных пакетов была невозможна. К сожалению, все еще существует большое количество сетей, которые не реализуют этот тип фильтрации, поэтому все атаки с поддельными исходными пакетами (используя любой протокол, такой как NTP, DNS или chargen) все еще возможны.
Что вы можете сделать, чтобы смягчить такую атаку, зависит от вашей сети и доступных инструментов, но одна вещь, которую вы должны рассмотреть, это блокировка входящих пакетов NTP из ненадежных источников (поэтому проверьте, какие серверы NTP вы используете). Конечно, это не поможет, если ваш восходящий канал перегружен. В этом случае вам нужно будет попросить вашего интернет-провайдера помочь вам отфильтровать трафик.
решение2
Мои ответы:
- Атаки используют команды monlist (которые будут отображаться как ntpv2, зарезервированные в tcpdump). Эти команды не ограничены по скорости обычным ограничением скорости. Monlist (и другие команды мониторинга) будут работать только с IP-адресов, которым разрешено «запрашивать» ваш сервер, поэтому добавьте «noquery» к своим значениям по умолчанию.
- Попробуйте выполнить команду ntpdc -nc monlist yourip с внешнего IP-адреса, чтобы проверить, отвечает ли ваш сервер.
- Ограничьте скорость входящего трафика ntp. Не в самом ntpd, а до того, как он достигнет демона. Как настроить это в linux, обсуждается в"моя настройка ограничения скорости" в списке рассылки пула ntp
решение3
- Можете ли вы подробнее рассказать о том, как они работают, и прояснить ситуацию? Поскольку 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, эта проблема особенно серьезна.