Перейти к содержанию

Лидеры форума


Popular Content

Showing content with the highest reputation on 02/23/16 in all areas

  1. 1 point
    Всем привет ! Вспомнил про эту тему, даже не знаю интересно будет кому здесь-нет, но продолжение кул-стори, о том как я пережил более 30 Гбитную атаку, разумеется это не уровень лабы Каспера, но для меня это ново, было занемательно... Итак, вообще у моего хостера на тарифе есть аппаратная защита от забивания канала на уровне ДЦ, но к сожалению в данном случае при такой силе атаки на Layer 7, был пропуск более 20000 ботов, а у меня проект не коммерческий, в общем-то что-бы положить мою впску достаточно и 3000 ботов, короче пришлось фильтровать в ручную ! Итак что было сделано: Вообще я понимал, что реально навряд-ли они будут постоянно ддосить с такой силой, но всё-же хотелось обезвредить именно в пик атаки, для этого я по GeoIP заблокировал все страны, кроме СНГ. Но на моё удивление, эти товарищи стали ддосить из РФ, короче всё сервер упал, ну я решил глянуть логи что-там такое и обнаружил кучу запросов такого типа: "GET / HTTP/1.0" 301 184 "-" "-" Ну тут сразу видно, пустые запросы и пустой юзер-агент, ага можно сделать фильтр в nginx: if ($http_user_agent = "") { return 444; } if ($http_user_agent = "-") { return 444; } Обратите внимание на код ошибки 444 - Это нестандартная ошибка, т.е. nginx закроет соединение, не вернув никакой инфы, ботам должно понравиться... Также на всякий случай сделал ещё это, т.е. ограничение на запросы: if ($request_method !~ ^(GET|HEAD|POST)$) { return 444; } Очень сильно помогло, но не надолго, опять упал, да-блин , анализирую дальше логи, чо они-там опять придумали, но в этот раз ещё легче: Запросы такого типа, как понял с ломанных сайтов, кстати привожу запрос как он есть: GET / HTTP/1.0" 200 253178 "-" "WordPress/4.2.2; http://demo.nola.land;verifying pingback from 127.0.0.1" Куча более 1000 таких запросов, сайты разные, но везде юзерагент WordPress, ога попались Делаем фильтр: if ( $http_referer ~* (^WordPress) ){ return 444; } Ну и всё, по началу где-то час всё тормазило, а потом они сдулись, далее вернул нужные мне страны, а это РФ, СНГ, Европа и США, а все остальные в бан, это на случай повторных атак, короче пока живу... Для справки, если верить логам, много ботов было с Индии, Китая, Вьетнама, далее Мексика... Ну и блокировать лучше на уровне файервола, в плане нагрузке, хотя мне удобней всё через nginx делать... Выводы которые я сделал: Какая-бы навороченная аппаратная защита не была, всё-равно должен-быть человек, который-бы мог всё-это фильтровать вручную + также не забывайте делать лимиты на коннекты к базе и т.д., что-бы не потерять доступ к серверу в случае критичных нагрузок ! Надеюсь эта тема кому-то поможет !
This leaderboard is set to Москва/GMT+03:00
×