.
28 марта 2013

Защита от DDOS — первые шаги

posted in NIX, security, Администрирование |

Итак, вчера поимел первый печальный опыт с DDOS атаками — на час положили один из администрируемых мной сайтов.
Дёргали морду с разных IP, но видимо ботнет не такой уж и большой был т.к. одни и те же айпишники довольно часто повторялись (за полчаса чуть более тысячи повторов).
В среднем генерировалось около 50ти запросов в секунду, с которыми сервак конечно же не справился — nginx я положил «руками», прописал только свои айпишники — остальных deny пока атака не кончилась.

Сразу после атаки было получено письмо:

Добрый день. Мы оказываем услуги по анти-спамам и по разблокировки вашего сайта и телефонных номеров. В настоящее время мы видим, что работоспособность сайта и тел. номеров нулевая. Для демонстрации наших способностей мы можем восстановить их работоспособность. Если вы готовы обсуждать эти вопросы, мы готовы к сотрудничеству.


Да, кстати телефон тоже ддосили — постоянно звонили.
Где то за неделю до атаки было ещё одно письмо, но его я вообще проигнорировал — уж больно комично было написано.

Доброго времени суток.
Обращение к MySite.ru
Если в течении 24 часов на указанный реквизит не будет выслана указанная сумма денег — аккаунт администратора будет взломан либо
будет осуществлена DDos атака, целью которой будет являться заблокировать либо временно остановить работу вашего сервера — все сказанное мною является абсолютно серьезным заявлением.

РЕКВИЗИТ

Яндекс деньги 410011637102992
Сумма 40000р

Я буду ждать в течении 24 часов .По истечению этого времени вы посмотрите на что способен я и мои люди.

Аривидерчи!

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

Собственно, что сделал я как первый шаг защиты от подобной ситуации:
1. Для неавторизированных пользователей настроил кэширование на уровне nginx, соответственно всем ботам будет отдаваться кэшированная страничка на уровне frontend — я думаю nginx может это делать очень быстро. Кстати как приятный бонус — разгрузка сайта в целом, т.к. кроме ботнета атакующего в сети немало других «правильных» и не очень ботов шастает.
2. На всякий случай сделал скриптик контролирующий загрузку LA и в случае превышения определённого значения — гасим nginx, как только более менее LA разгружается — снова стартует. Такой скрипт призван не уйти серваку в полный «затуп» — чтобы можно было хоть по ssh зацепиться и порулить самому. Чуток подкорректировал, чтоб SMS отправлял при начале атаки — чтоб самое интересное не проспать.
3. Думал ещё сваять скриптик анализирующий логи веб-сервера и блокировать слишком активные IP на уровне фаервола, но т.к. реально от больших ботенетов это не спасёт — решил пока с ним не торопиться — большая надежда на кэширование nginx-а.

Вот!
Теперь вот жду второго пришествия :)

P.S.
Кстати, коллеги, у кого нить есть свой ботнет для тестового DDOS-а ?

P.P.S
Чуть не забыл, интересные ссылочки в тему:

Кэширование
http://habrahabr.ru/post/72539/
http://www.ashep.org/2011/keshirovanie-v-nginx/#.UVK-LFcrGdc
http://habrahabr.ru/post/76315/

Защита от DDOS средствами nginx
http://www.opennet.ru/base/net/ddos_nginx.txt.html
http://habrahabr.ru/post/39509/
http://www.la2master.ru/publ/servernye/manual_ddos_shield_php_skript_zashhity_ot_ddos/3-1-0-67
http://la2-npc.forum2x2.ru/t12-topic
http://habrahabr.ru/post/84172/

Скрипт контроля LA
http://linuxguru.ru/good-notes/ckript-restartyashhij-apach-pri-prevyshenii-la/

P.S.
Помониторил инет с точки зрения заказчика DDOS, вышел на ветку — почитал, волосы зашевелились.
Пришел к выводу, что защиты от «правильного» DDOS не существует! :(

Ну и как наиболее правильный вариант защиты от DDOSа — видимо всё же довериться профессионалам. Например, Kaspersky DDoS Prevention . Правда по ценнику я не понял стоимость данной услуги...

А те что «пежили» нас — явно «школота». От таких атак думаю и сами защитимся — пока повторно не «приходили» — ожидаю.

Яндекс.Метрика