DDoS-атака со 162 000 сайтов WordPress
- четверг, 13 марта 2014 г. в 06:07:06
DDoS-атаки стали обычным делом в последнее время. Для генерации флуда используются различные методы, иногда весьма креативные. Компания Sucuri рассказывает об одном таком случае, когда в атаке участвовали более 162 000 сайтов WordPress с включенным протоколом вызова удаленных процедур XML-RPC (который активирован по умолчанию).
В данном случае сайты генерируют поток запросов Layer 7. Каждый из них способен отправлять сотни тысяч запросов в секунду. В логах наблюдается следующая картина.
74.86.132.186 - - [09/Mar/2014:11:05:27 -0400] "GET /?4137049=6431829 HTTP/1.0" 403 0 "-" "WordPress/3.8; http://www.mtbgearreview.com"
121.127.254.2 - - [09/Mar/2014:11:05:27 -0400] "GET /?4758117=5073922 HTTP/1.0" 403 0 "-" "WordPress/3.4.2; http://www.kschunvmo.com"
217.160.253.21 - - [09/Mar/2014:11:05:27 -0400] "GET /?7190851=6824134 HTTP/1.0" 403 0 "-" "WordPress/3.8.1; http://www.intoxzone.fr"
193.197.34.216 - - [09/Mar/2014:11:05:27 -0400] "GET /?3162504=9747583 HTTP/1.0" 403 0 "-" "WordPress/2.9.2; http://www.verwaltungmodern.de"
..
Как можно заметить, все запросы содержат случайное значение (как “?4137049=643182″), чтобы пробить кэш и форсирорвать полную загрузку страницы каждый раз. Такая атака довольно быстро выводит сервер из строя. Самое интересное, что все запросы идут от нормальных сайтов WordPress.
162 тысячи — лишь небольшая часть сайтов WordPress, подверженных уязвимости XML-RPC. Теоретически, можно сделать ботнет и большего размера, считают в Sucuri. Чтобы проверить свой сайт на участие в DDoS-атаке, нужно поискать в логах POST-запросы к файлу XML-RPC или пройти проверку в онлайне по базе сайтов, замеченных в таких атаках.
Для предотвращения нецелевого использования своего сайта специалисты рекомендуют прописать в шаблон следующий код.
add_filter( ‘xmlrpc_methods’, function( $methods ) {
unset( $methods['pingback.ping'] );
return $methods;
} );