13 янв. 2015 г.

Разгружаем и защищаем север nginx с помощью fail2ban

Разгружаем и защищаем север nginx с помощью fail2ban

Задача: простыми для самоучки средствами максимально разгрузить сервер и/или ВДС-ВПС от множества дурных запросов.

Два вида паразитных запросов:
  • роботы как роботы
  • роботы как люди
Вводная: роботы как люди хитрят и меняют:
  • юзерагент через 5-100 запросов, но ИП меняют редко;
  • ИП через 5-100 запросов, но юзерагент меняют редко;
  • лимитировать по числу коннектов и/или их скорости/частоте не хочется, потому что в век скоростного интернета и 128 поточных браузеров потеряем много юзеров и гуглоботов.
Идея:
  • роботам как роботам сразу отдаём ошибку 444 по юзерагенту;
  • роботам как людям сразу отдаём ошибку 444 по специфичным подстрокам в URI запроса;
  • баним найденные ИП на часок, чтобы робот отдохнул и выкинул наш сервер из своей базы данных.
Реализация:

Прочитать полностью...