Автогол. Как я сделал небольшую DDoS атаку на наш сервер
![Тирекс](https://selectel.ru/blog/wp-content/uploads/2023/05/T-Rex_Autor-3-400x400.png)
Тема DDoS-атак, их типов и способов защиты уже неоднократно поднималась нашими авторами в прошлом. Мы внимательно следим за пожеланиями наших читателей и поэтому сегодня продемонстрируем услугу по защите от DDoS на живом примере. В этой статье мы разберем подобную задачу: сделаем тестовое веб-приложение, организуем стресс-тест, симулирующий DDoS-атаку, и сравним статистику загрузки сети с защитой и […]
![Изображение записи](https://selectel.ru/blog/wp-content/uploads/2018/04/555x278_blog_prewiev.png)
Тема DDoS-атак, их типов и способов защиты уже неоднократно поднималась нашими авторами в прошлом. Мы внимательно следим за пожеланиями наших читателей и поэтому сегодня продемонстрируем услугу по защите от DDoS на живом примере. В этой статье мы разберем подобную задачу: сделаем тестовое веб-приложение, организуем стресс-тест, симулирующий DDoS-атаку, и сравним статистику загрузки сети с защитой и без неё.
- План действий
- Настройка приложения и защиты
- Стресс-тест без защиты
- Атака на защищенный IP
- Статистика атак
- Выводы
О типах DDoS-атак и способах защиты от них мы уже писали в нашем предыдущем материале. Помимо базовых решений по контролю и фильтрации сетевого трафика, Selectel предоставляет услугу по расширенной защите от DDoS-атак. Подобный уровень защиты добавляет в комплекс очистки трафика дополнительную ступень в виде специального прокси-сервера, настроенного под конкретные приложения.
В этой статье мы рассмотрим случай атаки, нацеленной на перегрузку полосы пропускания, а конкретно используем метод DrDOS (Distributed Reflection Denial of Service), использующий технику отражения запросов. Подобный метод интересен тем, что позволяет многократно усиливать объем атаки по сравнению с пропускной способностью зараженной машины, и был выбран нами поскольку наглядно показывает масштаб возможной атаки.
План действий
Демонстрацию услуги по защите от DDoS-атак мы проведем с помощью эксперимента, целью которого будет сравнение работоспособности веб-сервера, находящегося под DDoS-атакой, с подключенной услугой и без неё. Для этого мы организуем два стресс-теста с одинаковыми параметрами атаки на заранее подготовленный веб-сервер в VPC через защищенный и прямой IP-адрес. Степень влияния услуги по защите от DDoS-атак на фильтрацию нежелательного трафика мы оценим с помощью метрик загрузки процессора и сетевого устройства. Кроме того, используем инструмент мониторинга сервисов для определения доступности веб-сервера в разных локациях.
Веб-сервер:
- Простой сайт на WordPress, развернутый с помощью стандартного LAMP-стека;
- Виртуальный сервер в VPC с 1 vCPU и 1 GB оперативной памяти на Ubuntu.
Инструменты мониторинга:
- Утилита Netdata для просмотра сведений о системе в реальном времени;
- Мониторинг доступности сервисов, в котором мы используем простой GET-запрос для проведения теста.
Инструмент для стресс-теста:
- IP Stresser, предоставляющий возможность создания теста с объемом атаки до 3 Гбит/c.
В результате проведения испытаний ожидается, что при подключенной услуге по защите от DDoS-атак работоспособность сервиса нарушена не будет. В следующей части мы рассмотрим создание и настройку приложения в VPC и процесс подключения услуги. Затем проведем стресс-тесты и сравним показания метрик.
Настройка приложения и подключение услуги по защите от DDoS
В качестве среды для размещения веб-сервера мы выбрали виртуальное приватное облако за возможность быстрого создания виртуальной машины и подключения публичной подсети:
![Панель управления VPC](https://selectel.ru/blog/wp-content/uploads/2018/04/1.png)
В состав выделенных ресурсов мы также включили публичную подсеть – для работы с услугой по защите от DDoS плавающий IP-адрес не подходит:
![Публичные сети в облаке](https://selectel.ru/blog/wp-content/uploads/2018/04/2.png)
Далее создадим сервер внутри проекта, используя в качестве источника для установки системы готовый образ Ubuntu 16.04. В разделе настройки сети необходимо выбрать подключение через зарезервированную ранее публичную подсеть, а также выбрать и записать публичный IP-адрес: он понадобится нам позже.
![Настройка доступа к серверу в VPC](https://selectel.ru/blog/wp-content/uploads/2018/04/3.png)
После установки сервера настроим WordPress, используя стандартный LAMP-стек:
![Пример сайта на WordPress, на который будет организована атака](https://selectel.ru/blog/wp-content/uploads/2018/04/4.png)
Убедившись в работоспособности приложения, перейдем к заказу услуги по защите от DDoS.
Подключение услуги Базовая защита от DDoS
Заказ услуги осуществляется в разделе Сети и услуги в личном кабинете Selectel:
![Подключение услуги по защите от DDoS](https://selectel.ru/blog/wp-content/uploads/2018/04/5.png)
Выберем пункт Базовая защита от DDoS 10 Мбит/с и произведем оплату услуги:
![Оплата услуги по защите от DDoS атак](https://selectel.ru/blog/wp-content/uploads/2018/04/6.png)
После подключения услуги будет создан тикет в техническую поддержку для настройки защиты под ваше приложение. Сотруднику техподдержки необходимо сообщить IP-адрес и тип приложения. После получения всей необходимой информации будет произведена настройка защиты. Дополнительные сведения о подключенной защите и сервисах будут в ответном сообщении службы поддержки:
![Поддержка](https://selectel.ru/blog/wp-content/uploads/2018/04/7.png)
Нам был выделен защищенный IP-адрес, который мы настроим далее, а также указаны данные для доступа к сервису статистики атак. Кроме того, как видно из сообщения, необходимо настроить приложение для работы с новым выделенным защищенным IP-адресом, поскольку трафик, поступающий на первоначальный IP-адрес не будет фильтроваться.
Настройка алиасов немного различается в различных системах, в нашем примере мы используем Ubuntu, где это осуществляется следующей командой:
$ sudo ifconfig eth0:0 95.213.255.18 up
Для многих компаний техподдержка не является главным приоритетом и поэтому время ответа на запросы может стремиться к бесконечности, а качество предлагаемых решений оставляет желать лучшего. Однако, в Selectel круглосуточная поддержка, которая отвечает даже в вечер воскресенья (у автора статьи возникла проблема с доступом к сервису статистики):
![Крутая техподддержка Selectel](https://selectel.ru/blog/wp-content/uploads/2018/04/8.png)
На данном этапе остается протестировать работу и доступность сервиса через защищенный IP-адрес:
![Проверка доступности сервиса](https://selectel.ru/blog/wp-content/uploads/2018/04/9.png)
Стресс-тест на незащищенный IP-адрес
Перейдем к стресс-тесту системы на незащищенный IP-адрес со следующими настройками атаки:
![DDoS атака на открытый адрес. Настройки системы](https://selectel.ru/blog/wp-content/uploads/2018/04/10.png)
В качестве целевого хоста указан адрес, который при реальном использовании услуги необходимо будет скрывать – трафик, идущий на него не будет фильтроваться и приведет к отказу работоспособности системы.
Начнём первый стресс-тест:
![Организация DDoS атаки](https://selectel.ru/blog/wp-content/uploads/2018/04/18_short.gif)
Видно, что почти мгновенно происходит перегрузка процессора и объем принимаемого трафика стремится к 3Гбит/с:
![Статистика перегрузки без DDoS защиты](https://selectel.ru/blog/wp-content/uploads/2018/04/19.gif)
Теперь оценим доступность и время отклика сервиса в разных географических точках:
![Мониторинг сайта в разных местах](https://selectel.ru/blog/wp-content/uploads/2018/04/20.gif)
Большая часть точек проверок показала недоступность указанного сервиса и большое время отклика, что говорит об успешном проведении стресс-теста и уязвимости текущей конфигурации перед DDoS-атаками транспортного уровня.
Резюмируя полученные результаты, очевидно, что веб-сервер полностью принял на себя весь объем тестовой атаки, а в случае увеличения нагрузки произошел бы отказ работоспособности приложения. Далее мы протестируем доступность веб-сервера с подключенной <a href=”https://selectel.ru/services/additional/ddos-protection/” услугой по защите от DDoS атак, однако в реальных системах крайне желательно провести дополнительные мероприятия по обеспечению безопасности приложения на программном уровне.
Стресс-тест на защищенный IP-адрес
Используя полностью аналогичные параметры для атаки кроме IP-адреса, запустим стресс-тест:
![DDoS атака на защищенный адрес](https://selectel.ru/blog/wp-content/uploads/2018/04/21_long.gif)
Видно, что регистрируемый объем входящего трафика составляет около 120 Мбит/с, а нагрузка на процессор составляет около 20%:
![Последствия DDoS атаки на защищенный адрес](https://selectel.ru/blog/wp-content/uploads/2018/04/22.gif)
Теперь перейдем к тестированию доступности и времени отклика веб-сервера через инструмент мониторинга:
![Мониторинг сайта](https://selectel.ru/blog/wp-content/uploads/2018/04/23.gif)
Уже сейчас можно сказать, что использование подобной услуги по защите от DDoS-атак обеспечивает определенный уровень безопасности веб-сервера.
Мониторинг атак и статистика
Как только начинается атака на защищенный адрес, служба Servicepipe уведомляет клиента об этом по email:
![Статистика DDoS атаки](https://selectel.ru/blog/wp-content/uploads/2018/04/24.png)
Для просмотра информации об атаках в реальном времени доступен веб-интерфейс:
![Просмотр в реальном времени информации о DDoS атаке.](https://selectel.ru/blog/wp-content/uploads/2018/04/25.png)
В нем содержится более подробная информация о поступающем трафике:
![Трафик поступающих DDoS атак.](https://selectel.ru/blog/wp-content/uploads/2018/04/26.png)
А также можно увидеть источники трафика по странам:
![Источник трафик DDoS по странам.](https://selectel.ru/blog/wp-content/uploads/2018/04/27.png)
Вывод
Проведенный опыт показал сохранение работоспособности веб-сервера под тестовой DDoS-атакой при подключенной услуге по защите от DDoS. Кроме того, использование сервиса Servicepipe позволяет отслеживать в реальном времени поступающие DDoS-атак без дополнительных настроек рабочих систем и оперативно реагировать на них.
В пространство дальнейших исследований можно включить создание более сложных стресс-тестов и использование не только базовой защиты, но и расширенной с более совершенными инструментами фильтрации трафика.
Ознакомиться с типами защит и успешным опытом наших клиентов можно на странице услуги.