DoS и DDoS атаки на Web сервера. Стресс-тестирование

Сегодня мы рассмотрим варианты нагрузочного стресс-тестирования серверов и имитацию DoS (или DDoS, если тестировать с нескольких серверов) для Web серверов. Для чего это может быть полезно: для проверки собственных серверов и хостинг-провайдеров на данные типы уязвимостей.
DoS атаки будем использовать L3/4 и L7 уровней OSI.

dstIP — это IP адрес или FQDN имя атакуемой машины.

Первой будет утилита hping версии 3.
Начнем с атаки на превышение максимального количества полуоткрытых сессий (SYN-flood):

используемые параметры:
—flood — отправлять столько пакетов, сколько возможно.
-S — использовать SYN пакеты
-p 80 — пакеты отправляются на порт 80 (HTTP).

Вторым типом атаки будет ICMP-flood. Его лучше использовать вместе с большим размером пакетов, чтобы попробовать исчерпать входящий канал атакуемого сервера.

используемые параметры:
—icmp — используем пакеты ICMP
-d 1000 — указываем размер пакета

Теперь попробуем UDP-flood. Эта атака так же насыщает полосу пропускания.

используемые параметры:
—udp — используем UDP
-s 53 — отправляем с порта 53
—keep — фиксируем порт отправления, иначе он будет увеличиваться на 1 для каждого следующего пакета
-p 68 — отправляем пакеты на порт 68

Теперь перейдем к атакам непосредственно на сам Web сервер.
Первой будет атака на медленные подключения. Смысл данной атаки в том, что у любого Web сервера есть лимит на количество одновременных подключений, но когда мы подключаемся и очень медленно запрашиваем страницу — соединение не сбрасывается, а количество параллельных подключений у сервера ограниченно.

используемые параметры:
-c — общее суммарное количество подключений
-i — пауза между сессиями для загрузкой части страницы (в рамках одного подключения)
-r — количество подключений в секунду
-t GET — использовать GET запросы (так же можно POST)
-uURL. Поддерживает HTTP и HTTPS ссылки
-x — количество загружаемых байт из части страницы за одну сессию (в рамках одного подключения)
-p — время ожидания при проверке подключения. Если ответ от сервера не получен за это время, то сервер считается недоступным
-H — атака slow headers a.k.a. Slowloris
Так же доступные типы атак:
-B — атака slow body a.k.a R-U-Dead-Yet
-R — атака range attack a.k.a Apache killer
-X — атака Slow Read

И последний тип рассматриваемых атак. Утилита siege, которая просто запрашивает, в огромное количество потоков, страницы сайта, после чего происходит исчерпание либо ресурсов сервера (если запрашиваем тяжелые станицы) либо ресурсов исходящего канала (если запрашиваем тяжелые файлы).

используемые параметры:
-i — симулировать обычного пользователя
-c — количество подключений
page — запрашиваемая страницы. тип атаки зависит от выбранной страницы.
Так же можно данной утилите передать флагом -R файл с перечислением страниц

Вот мы и рассмотрели набор для стресс-тестирования Web серверов. Более подробные параметры каждой из утилит можно посмотреть в Man’е.

Заказать Аудит Безопасности или Пентест Вашей IT-инфраструктуры

Быть уверенным в своей IT-инфраструктуре — это быть уверенным в завтрашнем дне.

Для того, чтобы сделать заказ:

Заполните форму обратной связи и мы обязательно с вам свяжемся:
Форма обратной связи
Позвоните нам по телефону:
+7(909)952-44-33
Напишите нам на электронную почту:
order@blackdiver.net
Напишите нам в Telegram:
Telegram
Другие способы связи Вы сможете найти в разделе Контакты.

Одна мысль про “DoS и DDoS атаки на Web сервера. Стресс-тестирование”