Bluetooth
Участник клуба
- Регистрация
- 25 Фев 2016
- Сообщения
- 164
- Реакции
- 91
В этой статье мы рассмотрим, что представляют собой DoS и DDoS, как они работают, какие бывают их типы, а также как можно протестировать ресурс на устойчивость.
DoS - это атака, при которой один источник генерирует большое количество запросов к целевому серверу, чтобы занять его ресурсы и сделать недоступным для обычных пользователей.
DDoS - разновидность DoS, но с использованием сразу множества источников (ботнетов, виртуальных машин, заражённых устройств), что делает атаку масштабной и более сложной для отражения.
Типы DoS/DDoS-атак
SYN flood - отправка большого количества TCP-запросов с начальной фазой соединения, не завершая его, тем самым перегружая таблицу соединений сервера (давно устарел, на большинстве серверов в дефолтной конфигурации уже установлена защита от подобного рода атак)
UDP flood - отправка огромного количества UDP-пакетов, которые сервер должен обрабатывать (актуально, но уже не так эффективно. Легко блокируется фильтрацией на уровне сети, однако может быть использовано для перегрузки канала)
HTTP flood - отправка большого количества HTTP-запросов, эмулирующих поведение пользователя (актуально, особенно для серверов без защиты, так как трудно отличить от легитимного трафика)
ICMP flood - перегрузка ICMP-запросами (устарел, большинство современных систем и маршрутизаторов блокируют или ограничивают ICMP-трафик)
Slowloris — отправка неполных HTTP-запросов с целью удержания соединения открытым как можно дольше (частично устарел, большинство современных веб-серверов имеют защиту от медленных атак)
В статье рассмотрим самый актуальный во все времена тип атаки HTTP flood:
При проведении атаки типа HTTP Flood, одной из главных проблем может стать защита, предоставляемая сервисами типа Cloudflare или другими подобными решениями. Эти сервисы предназначены для защиты от DDoS-атак и других видов несанкционированного трафика, и могут сильно усложнить процесс тестирования. Они могут маскировать реальный IP-адрес сервера, перенаправляя трафик через свои прокси-серверы, что делает невозможным прямое воздействие на целевой сервер через HTTP-запросы. Чтобы провести атаку, необходимо найти реальный IP-адрес жертвы, что может быть не так просто. В некоторых случаях можно попытаться извлечь этот адрес из истории DNS-запросов или же через другие методы, такие как анализ публичных записей о доменах. Однако, найти реальный IP бывает достаточно сложно, особенно если сайт использует дополнительные слои защиты или распределённые сети доставки контента (CDN).
Проверить защищен ли целевой сайт Cloudflare или подобным говном, можно путем использования браузерного расширения Wappalyzer
Проверить правильный ли вы IP-адрес можно посредством использования curl
Итак, для проведения DoS атаки нам нужно:
Важный нюанс!
Чтобы система могла обрабатывать больше открытых соединений одновременно, нужно увеличить лимит на количество открытых файловых дескрипторов. Обычно дефолтный лимит на Ubuntu составляет 1024. Что бы увеличить лимит пропишите команду ulimit -n 100000
После выполнения команды вы увидите статистику, один из главных показателей это Latency (задержка). Резкое увеличение Latency при росте нагрузки - признак того, что сервер не справляется. Показатель > 1-1.5 s, означает, что сервер явно не справляется.
Для увеличения мощности, вы можете использовать несколько серверов одновременно.
Защита от DoS/DDoS
Если ваш сайт может подвергаться атакам, вы можете использовать:
Сетевые фильтры и фаерволлы (iptables, ufw)
CDN с анти-DDoS (Cloudflare, Akamai)
Rate limiting - ограничение числа запросов с одного IP (не поможет при DDoS-атаке)
Сервисы анти-DDoS от хостинг-провайдеров или сторонних компаний.
DoS - это атака, при которой один источник генерирует большое количество запросов к целевому серверу, чтобы занять его ресурсы и сделать недоступным для обычных пользователей.
DDoS - разновидность DoS, но с использованием сразу множества источников (ботнетов, виртуальных машин, заражённых устройств), что делает атаку масштабной и более сложной для отражения.
Типы DoS/DDoS-атак
SYN flood - отправка большого количества TCP-запросов с начальной фазой соединения, не завершая его, тем самым перегружая таблицу соединений сервера (давно устарел, на большинстве серверов в дефолтной конфигурации уже установлена защита от подобного рода атак)
UDP flood - отправка огромного количества UDP-пакетов, которые сервер должен обрабатывать (актуально, но уже не так эффективно. Легко блокируется фильтрацией на уровне сети, однако может быть использовано для перегрузки канала)
HTTP flood - отправка большого количества HTTP-запросов, эмулирующих поведение пользователя (актуально, особенно для серверов без защиты, так как трудно отличить от легитимного трафика)
ICMP flood - перегрузка ICMP-запросами (устарел, большинство современных систем и маршрутизаторов блокируют или ограничивают ICMP-трафик)
Slowloris — отправка неполных HTTP-запросов с целью удержания соединения открытым как можно дольше (частично устарел, большинство современных веб-серверов имеют защиту от медленных атак)
В статье рассмотрим самый актуальный во все времена тип атаки HTTP flood:
При проведении атаки типа HTTP Flood, одной из главных проблем может стать защита, предоставляемая сервисами типа Cloudflare или другими подобными решениями. Эти сервисы предназначены для защиты от DDoS-атак и других видов несанкционированного трафика, и могут сильно усложнить процесс тестирования. Они могут маскировать реальный IP-адрес сервера, перенаправляя трафик через свои прокси-серверы, что делает невозможным прямое воздействие на целевой сервер через HTTP-запросы. Чтобы провести атаку, необходимо найти реальный IP-адрес жертвы, что может быть не так просто. В некоторых случаях можно попытаться извлечь этот адрес из истории DNS-запросов или же через другие методы, такие как анализ публичных записей о доменах. Однако, найти реальный IP бывает достаточно сложно, особенно если сайт использует дополнительные слои защиты или распределённые сети доставки контента (CDN).
Проверить защищен ли целевой сайт Cloudflare или подобным говном, можно путем использования браузерного расширения Wappalyzer
https://search.censys.io (скорее всего покажет реальные айпи адреса)
https://dnsdumpster.com
https://viewdns.info
https://dnsdumpster.com
https://viewdns.info
Просто вставьте в браузерную строку айпи, или:
curl http://<IP>
Если не выдает ошибку, происходит редирект на целевой сайт или отображает приветственное сообщение веб-сервера, скорее всего это реальный айпи сервера
curl http://<IP>
Если не выдает ошибку, происходит редирект на целевой сайт или отображает приветственное сообщение веб-сервера, скорее всего это реальный айпи сервера
Итак, для проведения DoS атаки нам нужно:
- Один, а лучше несколько (для наглядности), серверов на базе Linux (к примеру Ubuntu 22/24)
- Домен или IP для проведения на него атаки
- Установленная утилита для тестирования, например wrk
Код:
sudo apt update && sudo apt upgrade -y
sudo apt install wrk -y
Важный нюанс!
Чтобы система могла обрабатывать больше открытых соединений одновременно, нужно увеличить лимит на количество открытых файловых дескрипторов. Обычно дефолтный лимит на Ubuntu составляет 1024. Что бы увеличить лимит пропишите команду ulimit -n 100000
wrk -t500 -c1000 -d300s https://robotsec.xyz
-t500 — число потоков
-c1000 — число открытых соединений
-d300s — продолжительность теста (5 минут)
https://robotsec.xyz - целевой адрес
-c1000 — число открытых соединений
-d300s — продолжительность теста (5 минут)
https://robotsec.xyz - целевой адрес
После выполнения команды вы увидите статистику, один из главных показателей это Latency (задержка). Резкое увеличение Latency при росте нагрузки - признак того, что сервер не справляется. Показатель > 1-1.5 s, означает, что сервер явно не справляется.
Для увеличения мощности, вы можете использовать несколько серверов одновременно.
Защита от DoS/DDoS
Если ваш сайт может подвергаться атакам, вы можете использовать:
Сетевые фильтры и фаерволлы (iptables, ufw)
CDN с анти-DDoS (Cloudflare, Akamai)
Rate limiting - ограничение числа запросов с одного IP (не поможет при DDoS-атаке)
Сервисы анти-DDoS от хостинг-провайдеров или сторонних компаний.