Что такое DDOS
Следует понимать, что любой бизнес в сети рано или поздно столкнётся с DDOS (Distributed-Denial-of-Service) атакой. Отказ в обслуживании» (denial-of-service, DoS) применительно к компьютерным системам обозначает ситуацию, характеризующуюся невозможностью получения доступа к какому-либо ресурсу или информации, которую этот ресурс содержит. С точки зрения информационной безопасности — это один из механизмов реализации атаки, в ходе которой происходит нарушение доступности системы.
Способы создания ситуации отказа в обслуживании довольно разнообразны, но мы рассмотрим только один тип DoS-атак, суть которого заключается в намеренном исчерпании ограниченного ресурса атакуемой системы. Для такого способа создания ситуации отказа в обслуживании характерно использование нескольких источников атаки для усиления эффекта. Поэтому такой тип атак называют распределённым отказом в обслуживании (DistributedDenialofService, DDoS).
DDOS –атака это отправление множества маленьких пакетов на ваш сервер, перегружая его, цель блокировать запросы пользователей. Подобные атаки могут идти не просто час или два, даже сутки вполне может продолжаться. Есть несколько разновидностей подобных атак, так одна из самых опасных Slowloris, кардинально отличающаяся от стандартной DDOS-атаки. Суть заключаются в том, что передаётся один пакет и очень очень медленно.
Пример
Стандартная DDOS выглядит так, запускаете командную строку, прописываете «pinggoogle.ru –t» нажимаете Enterи готово, вы обмениваетесь пакетами с google, осталось, лишь запустить несколько тысяч подобных окон и можно считать простейшая слабая атака началась, вот только Gooogleэтого даже не заметит. Атака с помощью ping’а на самом деле может рассматриваться как не рабочая, ибо с ней справится простой маршрутизатор, но зато наглядно показывает суть самого метода.
Как DDOS-атака защищается от распознавания
Суть реальнойDDOS-атаки это имитация наплыва пользователей, которые просто перегружают сайт. Для такой имитации используются боты, которые постепенно всё прогрессируют и всё сложнее вычисляются, так постепенно они приобрели имитацию браузера и JavaScript. У каждого браузера свой JavaScript и на такой нестыковке порой самые продвинутые боты вычисляются, но об этом позже.
Мотивация, по которой могут начать вас атаковать
Мотивации для подобных атак могут быть самые разные. Например, ваши конкуренты, с целью временно вывести вас из игры, тем самым привлечь к себе пользователей недовольных тем, что сайт не доступен (ни кто не любит ждать). Атаки с подобной мотивацией скорей всего будет не выше среднего. Ещё мотивацией может быть просто то что они могут и вам просто не повезло, такая атака, как правило, крайне не значительная и от неё надо быть способным защитится. Ну и последний вариант и зачастую самый опасный, вызов гнева народных масс, под подобной атакой не так давно оказалась компания Ubisoft, за выпуск не ломаемой защиты игр DRM.В атаке принимало участи приблизительно 4000-10000 человек, результатом было падение всех серверов и сайтов на 4 часа, после чего у Ubisoft отпало желание использовать данную защиту (http://lenta.ru/news/2011/02/23/brotherhood/). Как можно понять, «выжить» при такой атаке на данный момент невозможно, но можно свести потери к минимуму. Ну и последний вариант мотивации атаки – вымогательство и шантаж, появляется некий человек, который предлагает заплатить ему некую сумму денег или же он начнёт систематические атаки. Как правило у подобного человека есть собственная сеть зомби (ботнет (botnet)).
Зомби сеть (ботнет)
Сеть зомби – это сеть из заражённых некой программой компьютеров обычных пользователей сети. Данная программа позволяет производить некие действия с компьютера жертвы. Такая программа попадает на компьютер как правило через интернет, где незадачливый пользователь скачивает полезную программу с прикреплённым к ней вирусом, или же используются различные «дыры» в защите операционной системы или браузера. Вполне вероятно, что и ваш компьютер будет заражён такой программой, в какой либо момент времени. Так же подобные ботнеты часто становятся предметом торговли, естественно нелегальной, через анонимные платёжные системы. Важным моментом является то что, будучи частью ботнета жертва может начать заражать других пользователей, посредством флешки или почты.
Программы создающие ботнет вполне могут обновляться создателем, добавляя новый функционал. На данный момент распространённая модель управления такой сетью является через сайт или по принципу p2p сетей. В таких сетях по приблизительным оценкам состоит около 600 млн компьютеров по всему миру, половина из которых работает на Windows XP с установленным ServicePack 2, так что если вы давно не обновляли вашу операционную систему это очередной повод задуматься.
Внешняя защита
При выборе хостинга выбирайте те, что предоставляют некую защиту, те обещания о 100% не обращайте внимания, этого не бывает. При выборе обращайте внимание, на то есть ли описание методов защиты или нет и какие это средства. Эта защита считается внешней защитой от DDOS-атак, предоставляется различными сервисами, особой разницы нет брать зарубежный или отечественный аналог. Работают такие сервиса по принципу фильтрации трафика, а как именно фильтруется трафик, и какие дополнительные средства защиты имеются у сервиса, зависит исключительно от сервиса. Каждый из которых пытается выделиться тем или иным способом от конкурентов.
Подводные камни ни кто не отменял, абсолютное большинство сервисов по внешней защите по неведомой причине не просвещают своих пользователей насчёт того, что если они засветили свой IP адрес на DNS, то он навсегда останется там. Следовательно, ваш сайт можно подвергнуть DDOS-атаке, минуя подобный сервис. Как избежать этого, можно прочитать в этой статье.
Пассивные методы защиты
Сервер не должен быть на WindowsServer 2003 или 2008, не важно, в случае атаке такой сервер обречён. Когда количество соединений становится чрезмерно большим, сервер в любом случае начинает плохо отвечать. Подобная ситуация отмечалась многократно, а причины увы мне не известны.
Отказ от Apache, если возможно нужно избежать, причиной тому служит фундаментальная (неисправимая) уязвимость к атаке Slowloris. Уязвимость настолько фатальна, что сервер может упасть чуть не от атаки с мобильного телефона. Конечно, пользователи Apache придумали несколько способов для защиты, так например, был выпущен патч Anti-slowloris.diff и множество модов. Можно так же поставить перед Apache кэширующий прокси. Но всё это не даст спокойного сна по ночам.
Главное быть готовым
Самым эффективным способом защититься при DDOS-атаке: не стоит сидеть, сложа руки. Необходимо предпринять и не терять бдительность как бы вы не были уверены в своей защите. Как и заказать аудит вашей защиты так же хороший вариант, если вдруг наступил момент, когда вы стали абсолютно уверены, что ваша защита непревзойдённая и да вспомните о Ubisoft, их защита явно лучше вашей.
Активная защита
Классическим способом борьбы является почитать лог-файл HTTP-сервера. Чаще всего боты, реализующие HTTP-флуд, довольно простые не имеющие механизмов HTTP cookie и редиректа. Более сложные боты редко встречаются с поддержкой cookie и обработкой редиректа и крайне редко (но всё чаще) встречаются несущие в себе полноценный JavaScript-движок. Для улавливания таких ботов есть крайне эффективный любительский модуль Testcookie-nginx (https://github.com/kyprizel/testcookie-nginx-module), разработанный пользователем хабрахабра. Работает данный модуль как быстрый фильтр отсеивающий мусорные запросы. В проверку входит: умение выполнять HTTP Redirect, поддерживается JavaScript или нет, тот ли браузер, который объявлен (у каждого браузера есть свой). Использовать лучше на момент атаки, а не на постоянной основе из-за ряда недостатков. Так модуль так же банит ботов от поисковых машин, вызывает проблемы для малоизвестных браузеров и не спасает от ботов имеющих полноценный браузерный движок с JavaScript.
Итог
Нет универсальных методов, которые 100% защитят вас, есть только советы, которые увеличат шанс выдержать атаку. В этой статье будут рассмотрены лишь самые простые не включающие множество технических знаний.
Есть и другие универсальные методы защиты, которые не рассматриваются в рамках этой статьи, но они уже значительно сложней. DDOS-атаки как и защита от них, напоминает старое противостояние щита и меча, методы как защиты так и атаки постоянно совершенствуются и не стоят на месте как ресурсы затрачиваемые на это так же увеличиваются, так например 10 миллионов пакетов в секунду при флуде это уже ни кого не удивит. Потому для защиты не достаточно просто установить некую «волшебную» программку, которая чудесным образом решит все проблемы не выйдет. Для защиты сайта от атак нужны специалисты.
Эффективно защитится от DDOS крайне сложно, надо быть защищённым хотя бы от уровня обычных вымогателей. Эффективная защита это комплекс мер начина от крупного хостинга (если ваш сервер положить не смогут, то положат хостинг-провайдера, если очень надо (возможно только с мелкими и средними), сторонних сервисов, грамотного специалиста, а так же правоохранительных органов.