Усовершенствование средств защиты от DDoS привело к повышению технологичности атак: теперь никого особо не удивить атакой на полосу или SYN/TCP-флудом. Современные сервера с легкостью обслуживают десятки и сотни тысяч соединений в секунду, делая неэффективными «грубые» методы. Но для проведения DDoS-атаки малого или среднего размера вполне подходит slow-DDoS методы на уровне приложения (7 уровень модели OSI).
Именно на этом уровне был атакован 29 апреля 2015 года один из клиентов Айри. Атака на полосу достигала 1 Гбит/с, при этом использовалась сеть атакующих ботов не менее 50 тысяч машин. Частота запросов с каждой из машин составляла 1-2 в минуту.
WordPress Pingback
По характеристикам это довольно «тяжелая» атака, но для ее проведения достаточно всего 100-200 управляющих узлов, все из которых могут контролироваться с обычного ноутбука или мобильного телефона. Суть атаки заключалась в использовании стандартного функционала WordPress — обратного пинга постов (Pingback).
Уже фиксировались масштабные атаки с использованием этого механизма, в частности, из ботнета до 200 тысяч машин.
Этот механизм по умолчанию включен на всех WordPress-блогах начиная с версии 3.5 и позволяет отправить на произвольный сайт в Интернете один-единственный запрос (с уведомлением о получении исходного сообщения). Как выглядит механизм pingback:
- Организатор атаки запускает на управляющих узлах скрипт обхода WordPress-сайтов с отправкой зараженных pingback запросов (подробно в блоге Incapsula).
- Управляющий узел ботнета посылает на один из нормальных (но незащищенных) WordPress-сайтов pingback запрос с указанием страницы этого сайта и адреса жертвы (например, главной страницы). Плотность обхода может составлять тысячи запросов в секунду к различным WordPress-сайтам.
- WordPress-сайт обрабатывает запрос и отвечает по указанному адресу (жертвы). Вся «полезная» нагрузка от проведения атаки приходится на отдельный WordPress-сайт.
- Мультипликация атаки достигается за счет запроса HTML-страницы сайта-жертвы в ответ на небольшой XML-код pingback запроса. Примерно 1 к 20-100: на 1 Мбит/с задействованной полосы управляющего узла жертва отвечает 20-100 Мбит/с полосой данных.
При атаке WordPress Pingback DDoS исчерпываются как ресурсы сервера (на установление соединений или обслуживания запросов), так и ресурсы канала (при большом количестве обработанных ответов).
Защита от WordPress Pingback DDoS
Эффективная защита состоит из двух частей:
- Ваш сервер должен уметь обрабатывать несколько (десятков) тысяч запросов в секунду (для отсечения всех вредоносных запросов).
- Сервер должен блокировать pingback-запросы WordPress-сайтов с минимальным размером ответа (для предотвращения исчерпания канала). Блокировка по IP адресу при данном типе атаки не имеет большого смысла: количество запросов с каждого отдельного IP-адреса мало, всего пара запросов в минуту, а размер ботнета может достигать несколько десятков миллионов машин.
Оба этих условия отлично выполняются в облаке Айри: сеть из идеально настроенных Nginx-серверов принимает на себя весь поток запросов, пропуская только валидные запросы.
Вы можете проверить, использовался ли ваш WordPress-сайт для атак по этой ссылке. Самой лучшей защитой от использования вашего сайта для проведения атаки будет удаление файла xmlrpc.php из корня сайта (или блога).