Хроники DDOS: борьба с XMLRPC-атакой WordPress-ботов
Опубликовано: 2019-04-08Два дня назад мы столкнулись с трудностями на сайте одного из наших клиентов Nettsted Limited. Обычно мы не оказываем техническую поддержку нашим клиентам, но, к сожалению, служба хостинга нашего клиента не оказывает ей никакой поддержки. Поскольку мы чувствовали ответственность помочь ей, мы решили принять меры против атак ботнетов . Мы столкнулись со странным поведением ботов во время атаки. Я буду час за часом рассказывать о том, что происходило на этой странице, и о том, какие действия мы предприняли для защиты веб-сайта нашего клиента.
Начало DDOS-атаки: злоумышленник идентифицирует себя
Поскольку я владелец Nettsted Limited, я работаю по 16-18 часов в день, чтобы оказывать поддержку нашим клиентам. У нас разные клиенты со всего мира, поэтому мне нужно бодрствовать в разных часовых поясах. Несколько месяцев спустя я сначала хотел посмотреть фильм и повеселиться со своей семьей. К сожалению, это был один из худших дней в моей карьере. После фильма мы решили отдохнуть. Однако какая-то невидимая вещь ткнула меня и сказала: «Эй! вы должны взглянуть на свои работы, а затем спать». И да… Вот что произошло за 5 часов моего отсутствия на работе:
- Один из моих клиентов удалил SEO-плагин, удалил все описания и заголовки сайта. Он также нарушил ссылочную структуру сайта.
- Другой клиент удалил некоторые установленные нами плагины, связанные с SEO. Менял настройки кешей и как-то все файлы .js и .css битые.
- Одна из моих клиенток подверглась DDOS-атаке, и она просто смотрела, как рушится ее веб-сайт.
Когда я присоединился к WhatsApp и Skype, я увидел много жалоб за эти 5 часов. 30% предложений были просто «Где ты?!».
Мой клиент сказал мне, что он получил сообщение через WhatsApp. Злоумышленник представился по номеру телефона и сказал моей клиентке, что собирается напасть на нее. Это действительно звучит глупо, но он действительно сделал… Когда я вернулся к работе, атака уже началась.
День 1-) Первые действия против атак
Вот некоторые журналы атаки, которые мы получили:
103.9.156.249 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; ; verifying pingback from 93.174.93.163"
199.223.214.148 - - [07/Apr/2019:01:19:03 +0100] "GET / HTTP/1.0" 200 13194 "-" "WordPress/3.3.1; http://www.mentalic.gr"
216.240.176.141 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.0;
104.236.33.158 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; http://pmsearchpartners.com; verifying pingback from 93.174.93.163"
149.210.236.96 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.9.27; http://imageconsultant.mu/; verifying pingback from 149.210.236.96"
185.87.249.33 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1;
158.69.26.84 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.9.2; http://teensystudios.com; verifying pingback from 93.174.93.163"
103.233.76.243 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.26; http://help.worldmart.in; verifying pingback from 93.174.93.163"
203.175.180.254 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; http://www.cybertechriskcenter.com; verifying pingback from 93.174.93.163"
199.223.214.148 - - [07/Apr/2019:01:19:03 +0100] "GET / HTTP/1.0" 200 13194 "-" "WordPress/3.3.1; http://www.mentalic.gr"
68.71.60.249 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.26; http://www.itunesalternative.org; verifying pingback from 93.174.93.163"
66.55.132.6 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.8.16;
163.172.103.45 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-"
В журналах вы можете увидеть, что атака исходила от пользовательских агентов WordPress. Однако некоторые из этих атак происходили и без агентов. Я проверил все упомянутые веб-сайты, и все они были устаревшими и заброшенными веб-сайтами. Есть один IP, который был почти одинаковым у всех логов и было 2 других. 93.174.93.163 был IP-адресом Нидерландов, но я считаю, что это был сервер / хостинг, который готовил для нас атаку ботнета. Другие 2 IP-адреса также были IP-адресами Нидерландов.
Поскольку было слишком много уведомлений об атаках с подтверждением pingback from, я подумал, что он использует pingbacks и xmlrpc.php для атаки.
Моей первой реакцией на атаки было изменение имени xmlrpc.php, затем его удаление вообще и удаление пингбеков из настроек WordPress .

Результат : Это даже не замедлило атаки.
Так как я не получил хороших результатов от первых движений, я решил удалить файл xmlrpc.php WordPress из файлов. Однако это все равно не помогло.
Однако доказано, что он помогает при некоторых DDOS-атаках. Если вы тоже столкнулись с этим, вы также можете попробовать.
День 1-) Первый ответ: Воспользуйтесь преимуществом местного присутствия
Теперь вы собираетесь сказать мне, почему я не использовал cloudflare. CF требовал время для настройки, и изменения сервера имен иногда могут быть очень болезненными. Поэтому я хотел замедлить атаки, но я также настроил облачный флаер для веб-сайта. Изменены серверы имён. Атака была серьезной, и она нанесла серьезный ущерб использованию ввода-вывода, полосе пропускания и так далее. Я полагаю, что это были 2-3 человека, которые атаковали с разных серверов. Сайт моего клиента приносил 1000$ в день и это было для него серьезной проблемой. Сайт был недоступен около 6 часов.
Поскольку сайт был локальным, я решил настроить htaccess. Мне нужны были все IP-адреса Дании. с помощью веб-сайта мне удается найти все IP-адреса Дании. Я бы временно закрыл сайт для всего иностранного трафика. Я создал файл htaccess и заблокировал весь посторонний трафик на сайт .
Результат : Это хороший временный результат. Все вредоносные боты теперь попадали на 403 страницы. Однако плохие новости. Боты Google тоже набирали 403. Поскольку трафик ботов шел в основном из США, я не делал никаких настроек для США или IP-адресов ботов Google. Поскольку это было временно, пока не произойдут изменения сервера имен, это не было проблемой.
В течение всего процесса я разговаривал с моей клиенткой по телефону и успокаивал ее. Она была очень зла и расстроена из-за ситуации. Она сказала мне, что получила сообщения от злоумышленника. У нее был его номер телефона!
День 1-) Изменены серверы имен и проблемы с настройками Cloudflare
Примерно через 2 часа после того, как я настроил htaccess, серверы имен изменились, и я активировал cloudflare. Удалены запрещающие/разрешающие правила из файла .htaccess. Однако возникла проблема с настройками Cloudflare WAF. Я попросил свою клиентку изменить IP-адрес сервера, и она это сделала. Некоторое время спустя я изменил DNS-записи cloudflare, так как старая информация об IP все еще была там. Однако, если бы я сделал это вскоре после покупки IP, сайт снова не работал бы. «Режим атаки» уже был активен на сайте.
Результат : После того, как мы активировали Cloudflare, все атаки были остановлены.
После 6-7 часов возбуждения я встала со стула и легла спать. Мы думали, что выиграли, но это еще не конец.
День 2-) Он вернулся! Обойден Cloudflare с помощью ботнета!
Утром мы сменили IP-адрес, и, поскольку я думал, что веб-сайт защищен, я изменил режим атаки на средний. Я сделал некоторые другие изменения в .htaccess. Я купил PRO cloudflare для своего клиента. Я настроил некоторые параметры WAF, чтобы сделать сайт более безопасным. Однако через некоторое время ему удалось вернуться с более серьезными атаками, и серьезное количество атак попало в цель. Он обходил Cloudflare.
Некоторые настройки WAF Cloudflare обещали остановить атаки ботов WordPress, XMLRPC Attack, но это не так . Я решил установить все настройки WAF по умолчанию на Cloudflare.
Результат : все атаки ботов, у которых нет пользовательского агента, начинают достигать 403.
В результате на какое-то время сайту стало легче, и сервер снова заработал. Однако мы получали слишком много атак, и это было близко к этому.
День 2-) Блокировка страны на Cloudflare
В конце концов я подумал, что нам следует больше инвестировать в CloudFlare, чтобы избавиться от этих атак. С моими последними изменениями мы почти устранили 50% угрозы. Однако были еще 50%. Для местного сайта блокировка страны не будет проблемой. Также, поскольку мы исправили 50% бот-трафика, атаки из США не будут для нас серьезной проблемой. Мы купили предприятие Cloudflare и заблокировали весь иностранный трафик, кроме США и Дании .
Результат : это исправило 90% трафика ботнета.
День 3-) Месть - это блюдо, которое лучше всего подавать холодным
Наш сервер мог обрабатывать 90% трафика ботнета. Однако они не прекратили свои атаки. Потом я нашел интересный плагин на WordPress. Однако сначала мне пришлось его протестировать. В противном случае сайт может выйти из строя, и это все испортит. Я попросил знакомого программиста атаковать один из моих сайтов. Он работал отлично. Затем я расследую нападавшего. Я понимаю, кто он и почему нападает на нас.
Я первым связался с нападавшим. Я попросил его прекратить атаки. Однако он ответил мне массой оскорблений и ругательств. Я просто заблокировал его в WhatsApp и даже не ответил ему. Мой клиент попросил меня заплатить больше за эту услугу, но я отказался. Я воспринял это как предмет гордости. Я спросил разрешения у своего клиента и удалил режим атаки. Я устанавливаю плагин.
Я начал отсылать его противных, кровавых, мерзких ботов обратно на его сайт. Его сайт рухнул у меня на глазах. То же самое я чувствовал и с Серсеей, которая наблюдала за разрушением Септы Бейлора. Потом я отправил им другой его веб-сайт, потом еще и еще... Когда они остановили атаку, система остановилась. Однако, когда они начинают атаковать ботов, они перенаправляют их на все свои сайты.