Данная статья писалась с целью объяснить простому вебмастеру, как происходит ddos, и как с ним бороться.
Определение: ddos атака - сокращение от «distributed denial of service attack»
При помощи этих атак временно падали крупнейшие и известнейшие компании, такие как yahoo!, ebay, buy.com, amazon.com, cnn.com и целый ряд других ...
Я не буду жевать сопли и напишу то, о чем как правило никто не никогда не пишет в статьях про ddos.
В основном то что мы видим в сети это поверхностные описания удачных атак, или вопли пострадавших от них.
1) Цель и принцип ddos
Цель ddos вывести обьект атаки из рабочего состояния что может повлечь за собой большие финансовые потери во время дауна или расходы на оборудование для защиты от него и з/п специалистов. Любой вебмастер понимает, что даун его сайтов на 2-3 часа нанесет серьезный вред бизнесу, а если на неделю, то ресурс скорее всего придется поднимать с нуля снова . Я вообще не говорю о владельцах платных сайтов и серьезных Е-комерс ресурсов, чьи убытки могут составлять десятки тысяч долларов в день.
Технология ddos атак подразумевает метод грубой силы - вы тем или иным способом пытаетесь "забить" канал, открывая максимально возможное количество соединений на тот или иной сервис или отправки огромного кол-ва информации которое сервер не в состоянии обработать. все это ведет к потере скорости или полной остановке (зависанию) атакуемого ресурса.
2) ddos - это distributed атака, то есть распространенная, когда вас атакует не один сервер от которого можно легко закрыться фаирволом, а сразу тысячи или десятки тыс., иногда могут быть сотни тысяч и миллионы атакующих ботов ( многие называют их зомби )
Что есть зомби?
Зомби - это зараженный программой (или сломанный) компьютер или сервер, который будет выполнять команды управляющего сервера.
Как компьютер становится зомби?
Зомби создаются как правило используя эксплоиты для ОС. Заражая машины через веб браузер при посещении сайтов, при получении почты, или через установку программного обеспечения с установленными в него троянами.
Как много может быть зомби?
cуществуют дыры которые до сих пор не закрыты и иногда процент заражаемости трафика может достигать 80 % всего трафика на сайте, спам может рассылаться огромными тиражами и как результат мы имеем десятки тысяч зомби.
В зависимости от совершенства кода на самом зомби они могут выполнять разные типы запросов на сервера, иногда делая себя совсем не видимыми для фаирвола или сложно отличимыми от реального серфера, что разумеется усложняет борьбу с ними.
Типы атак я описывать не стану они очень сильно варьируются от старинных типа пинг и syn флуда до новых разработанных персонально для новой атаки.
Все они ведут к тому что сервер ложится как правило и попытки его вернуть к жизни заканчиваются тем, что он снова лежит.
В общем довольно грустная история с ddos атаками. Многие хостеры просто выключают сервера в случае обнаружения атаки. Это демонстрирует то, что они не могут реально ничего с ними поделать.
Борьба с ddos
Это самый наверное интересный кусочек, а так же самый сложный.
Самое сложное в том что борьба с ddos в 98 % случаев ложится на плечи вебмастера, так как провайдеры в большинстве своем просто бьют болт и стандартная схема у них, это поставить на нуль роутинг ваши ip и таким образом для них проблема ddos решена. Вебмастера такое решение не очень радует, так как его сайты при этом ложатся вообще.
Конечно, есть продвинутые провайдеры, которые могут посодейтвовать в борьбе, но это редкость и опять же надо будет им платить пятизначные цифры что бы иметь какое то влияние на них. Так что остается решать проблемы самому, о том как их решать я и расскажу вам.
1) На уровне сервера. Сервер должен иметь удаленный ребут и вывод консоли сервера на другой ip адрес по ssh протоколу. Это позволит вам быстро перезагружать сервер, что бывает более чем нужно в самом начале ddos атаки. Вывод консоли позволит полностью выключить ssh на сервере. Это необходимо потому, что его тоже очень часто досят вместе например с вебсервером, что бы усложнить работу админа сервера или сделать сервер вовсе не доступным для администрации.
2) На уровне сервисов сервера. Секюрити аудит – must be, то-есть, по-русски, должен быть сделан, все сервисы машины должны быть отпатчены от всех известных и не известных дырок. О тюнинге веб сервера под ddos атаками можно писать целую книгу, поэтому я не буду лишать себя куска хлеба. :)
3) На уровне сети. Для начала блокируются все то, что может дать больше инфы атакующему о вас. Блокируется пинг и трейс. Сервер убирается под nat. Маскируется его ip как только это возможно. Это уже очень професиональный способ защиты сервера путем прятания его ip адреса. Применяется в многих платных системах защиты от ddos.
4) На уровне провайдера. Через анализ пакетов или через блокирование ip адресов.
5) На уровне железа. Применяя хардварные решения от ведущих фирм производителей типа Сisco, 3com, nortel и тп. Данные решения борьбы на аппаратном уровне потребуют больших финансовых затрат от 10к и выше. Комплексные решения обойдутся около 50-80 тыс долларов. Так же сюда можно отнести производителей 3rd party оборудования для хардварной защиты. Большая их часть действует по принципу анализа пакетов и дальнейшей их фильтрации где нужный пакеты проходят к серверу, а ненужные фильтруются и сегменты сети откуда они пришли блокируются роутером или фаирволом. Более продвинутые системы умеют прятать ваш сервер полностью и в сети никогда не встретится его ip адрес и его прямое сканирование и ddos атака невозможны.
6) На уровне админов вашего сервера. Используя логи фаирвола сервера вы видите кучу ip адресов откуда на вас идут атаки. Вы можете анализировать его и искать уязвимые рабочие станции среди них, из 10000 машин 1-3 обязательно окажутся доступными для того что бы по ним полазить. Вы можете найти самого зомбика который осуществляет атаку на вас. Далее его можно попытаться поковырять, чтобы найти кто пускает атаки на вас и если повезет найти контрольный сервер и как вариант контратаковать его. Хотя такое будет не возможно если ddos атака не контролируемая, а например вирусная. Напомню, это когда вас атакуют рабочие станции которые были заражены предварительно и их действия не контролируются вручную, они не очень опасны так как если вы смените, например, ip и домен, то такая атака умрет сама.
7) Комбинированное использование всех систем.
В заключение хочу сказать что всё, что тут написано не покрывает и 80 % всех методов борьбы с ddos и на эту тему работают очень много людей во всем мире. Так что я в этой небольшой статье не смогу описать всего, даже если очень захочу. Но, надеюсь, она вам немного поможет для понятия азов того, как необходимо бороться с ddos атаками.