Как я конфигурировал VDS при DDOS атаке, а защищался ddos-guard

Код машин 25 июня 2022 г.

Атака началась во второй половине воскресенья (в Телеграм каналах о ней писали, большое количество сайтов попало под неё), на сайте сообщение 502 Bad Gateway. Сайт не работает. Осознание шторма через размер логов доступа на хостинге (они тут ../var/log/apache2), а они стали больше 1Гб за день, и консультацией с техподдержкой хостинга. Они рекомендовали связаться с ddos-guard.

Количество запросов в минуту, как это выглядит на графике. Около 900 тыс в минуту, то есть 15 тыс в секунду.

Договор и настройка ddos-guard

Прошел регистрацию на сайте, и зазвонил телефон, менеджер Михаил сам связался, пояснил что для юр.лиц услуга в месяц стоит 18 тыс. рублей.
И могут включить без оплаты, по гарантийному письму, с оплатой в рабочее время, да это был вечер воскресенья.

Дальше конфигурирование. Я поменял NS сервера Beget на NS сервера ddos-guard. Замена происходит до 24 часов, реально часов шесть. Но можно не менять сервера, а сделать А запись на сервер ddos-guard, обновление А записи 15 минут. Меняется она в NS записях на Beget это меню DNS, Управление записями DNS. В инструкции рекомендация изменить NS сервера, действовал по ней.

Потом настройка на новый IP адрес, на какой IP адрес на хостинге отправлять трафик. Тут собственно всё, дальше продолжаем на хостинге.

В настройке сервиса ddos-guard:

  • Целевой IP это адрес сервиса он же прописан в A записи в DNS настройках домена
  • Защищенный IP это адрес на хостинге, его надо скрывать иначе начнут атаку на него и ничего не будет работать даже с сервисом. Скрывать это значит также доступ к нему в NGINX и apache должен быть через конфигурации в  NGINX

location / {
   deny  192.168.0.15;
   allow 192.168.0.0/24;
   allow 2001:0ab3::/32;
   deny  all;
}

или в htaccess

Конфигурация хостинга

В разделе Настройки сети нужно заказать новый IP адрес, выше уже писал что настраивал на новый IP. Тот, что есть, никуда не удаляется, и его можно заблокировать только через IP tables (не уверен, что необходимо, но я заблокировал). Правило вот это:
sudo iptables -A INPUT -d 4.4.4.4 -j DROP ( 4.4.4.4 например старый IP адрес)

Конфигурация Apache

Вот это очень важно, работать ничего не будет если не переконфигурировать файл ports. Это замена, удаление скомпроментированного IP адреса в файле ports, на сервере он в папке ../etc/apache2 и добавление нового арендованного.

Дальше также изменяем конфигурацию <VirtualHost 8.8.8.8:80> на свой новый IP адрес в файле конфигурации сайта в папке ../etc/apache2/sites-available (8.8.8.8 тут понятно для примера, это адрес Гугл четыре восьмерки, у Вас не этот IP адрес :)

Конфигурация .htaccess

По инструкции добавил запрет доступа со всех адресов кроме адресов сервиса ddos-guard

order deny,allow
deny from all
allow from 186.2.160.0/24
allow from 77.220.207.224/27

Без этого работать должно начать, это дополнительные действия, а не необходимые в первую очередь.

Какие побочные эффекты

  • Если отключить сервис и переключатся на прямой доступ будет сообщение

403 Forbidden

You don't have permission to access this resource.


Apache/2.4.41 (Ubuntu) Server at vesti42.ru Port 443

при переключении обратно, если отключать сервис нужно открыть доступ и закомментить строки.

  • Отключился кросспостинг в ОК, то есть не отключился, но сервис не смог получить доступ к изображениям постов и продолжил работать, но не смог получать изображения.
  • RSS своих сайтов не сразу настроился, была переписка с техподдержкой

Что потом

Через месяц шторм утих.

Около 50 запросов в секунду

Можно вернуться к Wordfence

Регистрирует 1.5-2 тыс в минуту.

Теги

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.

Все представленные на сайте материалы предназначены исключительно для образовательных целей и не предназначены для медицинских консультаций, диагностики или лечения. Администрация сайта, редакторы и авторы статей не несут ответственности за любые последствия и убытки, которые могут возникнуть при использовании материалов сайта.