DDoS расшифровывается как Distributed Denial of Service, то есть «распространенный отказ в обслуживании». DDoS-атаки призваны вызвать у жертвы отказ в обслуживании всех пользователей — как производящих атаку, так и простых посетителей сайта.
DDoS наяву
Проще всего объяснить DDoS на примере:
Представьте, что вы стоите в очереди в магазине. Кассир постепенно отпускает товар, очередь оперативно сокращается. И тут один покупатель начинает максимально тормозить процесс. Как-то так:
«Кило апельсин, пожалуйста. А вон те конфетки сколько стоят? Ой, дорого… А вон те? А есть такие же, но в шоколаде? А с грильяжом? Ой, вы знаете, не надо апельсин, дайте лучше грейпфрутов. А печеньки в продаже есть?»
Спустя некоторое время продавец просто откажется обслуживать этого клиента и очередь пойдёт дальше. Но что, если таких покупателей будет сотня? В какой-то момент продавец просто закроет магазин и в ужасе убежит, оставив даже нормальных покупателей без товара.
Вот это и будет DDoS-атака — засыпание сервера (VPS, хостинга) сотнями бессмысленных запросов с различных адресов, до тех пор, пока он не отключится.
DDoS в интернете
В масштабах интернета, сотня пользователей — это ничто. Поэтому в атаках обычно участвуют десятки, а то и сотни тысяч компьютеров. И если для DDoS-атаки магазина можно устроить какой-нибудь флеш-моб или на худой конец нанять этих сто человек, то для DDoS-атаки сервера этот метод нерентабелен.
Вместо этого, хакеры используют зараженные троянским вирусом компьютеры. Это могут компьютеры в школе, в библиотеке, компьютерном клубе, а также компьютеры других пользователей. Вирус никак себя не проявляет в повседневной работе ПК, но по команде его автора, все эти компьютеры начнут атаку на нужный сервер.
- GET (HTTP/FTP). Взломщики постоянно запрашивают у сервера какую-то страницу или файл. Если их достаточно много, а интернет-канал у сервера небольшой — в определенный момент начнет формироваться очередь. Когда и она заполнится, сервер можно успешно считать пораженным, потому что простые пользователи уже не смогут зайти на ресурсы на сервере.
- TCP-SYN. Протокол TCP лежит в основе всего интернета, а пакеты с флагом SYN — это запросы на установление соединения по протоколу TCP. После того, как сервер получит такой пакет, он должен отправить обратно пакет SYN-ACK и ждет ответного пакета ACK. Вот только в случае атаки, пакета ACK так и не приходит — только новые SYN. А так как число открытых соединений TCP на сервере ограничено, то вскоре свободных не остается и сервер становится недоступен.
- UDP/ICMP. UDP — протокол пользовательских датограмм, позволяет держать на одном сервере более одного приложения. При получении UDP-запроса, сервер должен проверить наличие приложения с указанным в запросе портом и либо передать запрос, либо отправить ICMP-ответ «получатель не найден». И так как механизма защиты от перегрузок в протоколе нет, хакер может спокойно отправить множество UDP-запросов на сервер и забить его исходящий канал трафика бесполезными ответами. А если подменить IP, то можно перенаправить эти ответы на другой сервер и перегрузить на нём уже входящий канал трафика.
Есть и другие методы — от отправки подложных SSL-запросов на сервер до передачи подложных MAC-адресов на свитч. Но они требуют более тщательной подготовки и не настолько популярны.
Как защищаться от DDoS
На заре времен, для защиты от DDoS был нужен только грамотно настроенный сервер. Но с появлением бот-нетов и открытием всё более изощренных методов атаки, настроек сервера становится мало. Нужно специальное оборудование и, на крайний случай, широкий интернет-канал — желательно в 2-3 гигабита.
На серверах Unihost — как выделенных, так и с VPS и хостингом — используется трёхуровневая защита от DDoS:
- Для защиты от TCP-SYN и GET атак, используем брендмауэр. Это отдельное устройство, которое проверяет трафик и ограничивает доступ злоумышленников к серверу. Например, если множество пользователей внезапно начинают запрашивать один и тот же файл снова и снова — брендмауэр ограничивает им доступ к серверу.
- Для защиты от UDP/ICMP атак используем роутер. Это устройство, которое управляет доступом компьютеров к сети и умеет фильтровать трафик, отсекая бессмысленные пакеты.
- Для защиты от нестандартных атак, на месте всегда находится администратор.
Если доступа к серверу у вас нет, но защитить сайт нужно, подключите CDN. CDN — это сеть управления контентом, которая создаёт кэш-копию материалов на вашем ресурсе и сохраняет её уже на своих серверах для дальнейшей выдачи пользователям. Cloudflare — самая популярная сеть — выдерживает DDoS атаки плотностью до 400 Гбит/с. Подключиться к CloudFlare на хостинге Unihost можно в один клик.
Заключение
DDoS атаки постепенно уходят в прошлое, с развитием скоростного интернета и всё более изощренных методов защиты. Но они все еще опасны. Поэтому, если не хотите бояться нечестных конкурентов и нанятых ими хакеров — выбирайте хостинг с надежной защитой от DDoS.