Есть ли жизнь под DDoS-ом? Докучаев Дмитрий aka Forb Хакер, номер #081, стр. 081-066-1 (forb@real.xakep.ru) Методы защиты от масштабных нападений В массовых изданиях тема DDoS освещена со всех сторон. Многие авторы пишут о DDoS-атаках, об их реализациях и о последствиях. Но мало кто задумывается по поводу вопроса защиты от подобных нападений. Когда конечный пользователь сам сталкивается с такой атакой, то, по понятным причинам, он не знает, что делать, и куда бежать. На самом деле, никуда бежать не надо - достаточно прочитать эту статью. [столкновение с проблемой] Однажды, имея достаточно крупный ресурс на попечении, я столкнулся с серьезной проблемой. Кто-то заказал масштабную DDoS-атаку на мой проект. Симптомы нападения были налицо: при обращении к web-сайту Апач дико тормозил и возвращал контент лишь через десять минут. При заходе в консоль демон sshd вообще не отвечал на мои запросы. Сперва я подумал, что произошла какая-то фигня на сервере, и попросил мой датацентр перезагрузить машину (сайт проекта располагался на выделенном сервере в USA). После внеплановой перезагрузки с горем пополам мне все-таки удалось войти в консоль. Что я там увидел - не описать словами. Процессор был загружен на 100%, а показатель Load Overage достигал 160. Стоило мне убить процесс httpd, как машинка ожила, и загрузка мигом снизилась до нуля. Стало ясно, что боты бомбят запросами WWW-сервис. Проблему нужно было как-то решать, и только тогда я понял, что рациональных методов защиты от DDoS не существует. Многие авторы в своих статьях рекомендуют обратиться к провайдеру и попросить администрацию зафаерволить IP-адреса на вышестоящем брандмауэре. Эта идея хороша тем, что юзеру вообще не нужно париться насчет нападений, однако прием работает не всегда. Когда я написал администрации датацентра об атаке, те просто пожали плечами и ответили, что ничего делать не собираются. Мол, у тебя есть свой файрвол, вот и обороняйся сам. Кстати сказать, подобную политику ведут многие хостинги и центры. С виду, ситуация выглядела неизбежной, но нужно было что-то предпринять, ведь оставаться без денег я тоже не хотел. [модульная защита] С головой окунувшись в инет, я пытался найти средство защиты от DDoS. Казалось бы, под потоком левых запросов находился всего один сервис, значит, решение проблемы должно быть где-то на поверхности. На одном из ресурсов, я обнаружил ссылку на модуль для Apache под названием mod_dosevasive. По словам разработчика, данный плагин позволяет защититься от крупномасштабной атаки, если последняя нацелена на Apache. Мне предстояло это проверить. Я скачал сам модуль по ссылке www.nuclearelephant.com/projects/dosevasive/mod_dosevasive_1.10.tar.gz и достаточно быстро поставил его на сервер. Оставалось лишь отконфигурировать httpd.conf и забыть о проблемах. По крайней мере, так писалось в README к модулю :). В конфиг Апача мною было добавлено несколько строк: [добавка в httpd.conf] <IfModule mod_dosevasive.c> DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSSystemCommand "echo %s >> /var/log/niggerz" </IfModule> |