О DDOS

Материал из YourcmcWiki
Перейти к: навигация, поиск

Простое правило защиты от DDoS (моя отклонённая заметка для какого-то журнала от 12.12.2014)

DDoS (Distributed Denial of Service) — практически самый распространённый тип атаки на интернет-ресурсы и сервисы. DDoS — не взлом, а просто попытка занять мощности сервиса ненужными запросами, чтобы он не успевал обрабатывать нужные, временно «выходя из строя». Распределёнными (distributed) атаки называются потому, что ведутся «ботнетами», состоящими из большого числа компьютеров (вплоть до нескольких сот тысяч). Ботнетов много и создаются они относительно нетрудно, учитывая повсеместно плачевную ситуацию с безопасностью — как на клиентских компьютерах, так и на серверах и даже, например, на домашних WiFi-роутерах, которые чуть ли не поголовно содержат заботливо добавленные производителем с завода бэкдоры, выставленные во внешнюю сеть.

Ботнет не обязательно состоит из пользовательских Windows-компьютеров — зарегистрированы ботнеты из домашних роутеров, Mac-машин, WordPress-сайтов, Linux-серверов. Ботнет не обязательно проводит атаку непосредственно сам — существуют Amplification-атаки, заключающиеся в том, что на публичные сервера с уязвимой конфигурацией ПО отправляются маленькие запросы, заставляющие их отправлять гораздо большие ответы, но не обратно, а на атакуемый сервер. Это позволяет, имея канал относительно небольшой ёмкости, генерировать огромный трафик и полностью занять канал оператора связи. Например, последние годы пользуется популярностью усиление через UDP-протоколы (DNS, NTP и подобные) с подделкой IP-адреса отправителя («spoofed»). В теории правильно настроенная сетевая инфраструктура должна отсекать пакеты с подделанными адресами, однако далеко не все сети настроены правильно и за 2013—2014 годы больше половины атак были spoofed.

Фактически, сейчас существуют обширные рынки как услуг DDoS-атаки, так и защиты. Цены зависят от мощности атак, но в целом довольно демократичны, так что DDoS весьма популярен и используется в основном как средство конкурентной или политической борьбы.

Все DDoS-атаки различаются тем, на что направлены — приложение, HTTP-сервер, сетевой стек операционной системы, исчерпание канала или сетевую инфраструктуру. Легче всего атаковать приложение, как самый медленный элемент конструкции; сложнее всего — сетевую инфраструктуру или исчерпать канал, соответственно варьируется и цена атак, и размеры ботнетов. Атаки на HTTP-сервера и сетевой стек находятся где-то посередине, в основном используя специфические особенности реализаций различных сетевых протоколов (медленную отправку HTTP-запросов, переустановку SSL-соединений, SYN-флуд), и в основном преодолеваются путём установки и настройки правильного ПО (например, медленных HTTP-запросов боятся Apache и IIS, но абсолютно не боится nginx). Встречаются и комбинированные атаки сразу на несколько уровней.

В зависимости от типа и силы атаки правило защиты простое — если она направлена на приложения или ОС и ботнет небольшой, можно пытаться отфильтровать её своими силами (силами грамотного системного администратора). Если же цель атаки — исчерпание канала или сетевая инфраструктура, отражать атаку нужно за пределами датацентра и лучше сразу привлекать компании, специализирующиеся на защите. Если, конечно, вы не имеете заранее продуманной и установленной системы фильтрации либо ваш оператор связи не имеет в своём распоряжении мощность канала, достаточную, чтобы не отключить вас под атакой.