Производство фотообоев в Новосибирске. Интернет магазин фотообоев. Изготовление - один день! Каталог 10 000 изображений!
29 Май 2014

NGINX — защита от DDOS с одного IP. Параметры limit_zone и limit_req.

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

У одного из клиентов сайт частенько сайт начал «лежать», изучение логов показало множественные запросы (более 10) с одного и того-же IP адреса, которые и давали нагрузку на сайт.
Фронтендом у клиента стоял nginx — поэтому заблокировать подобную активность не составило никакого труда.
В этом мне помогли директивы limit_zone и limit_req.
Собственно, первое — в секцию httpd добавляем запись, ограничивающую активность до 2х запросов в секунду
limit_req_zone $binary_remote_addr zone=one:10m rate=2r/s;
В секцию обработки динамики собственно активируем нашу запись (зону созданную в httpd)
limit_req zone=one burst=3;

Вуаля, от «лоховских» ботов атакующих с одного и того-же IP мы защищены!
Кому интересно поподробнее — запрос «limit_req_zone» в помощь 🙂

P.S.
Чтоб случайно не «резануть» ботов, рекомендую добавить в robots.txt паузу в запросах от ботов в 1 секунду
Crawl-delay: 1

У нас 4 комментария на запись “NGINX — защита от DDOS с одного IP. Параметры limit_zone и limit_req.”

Почему бы Вам не высказать своем мнение! Позвольте нам узнать, что Вы думаете...

  1. 1 On 29.05.2014, littleguard said:

    Таким образом какой-то новичёк просто тренируеться или ктото реально хочет навредить?

  2. 2 On 29.05.2014, termostelki said:

    А что делать если ботов больше?

  3. 3 On 30.05.2014, seoplayer said:

    как же монструозные офисы сидящие за одним ip прокси?

  4. 4 On 30.05.2014, baffin-world said:

    А есть более элегантный способ сделать это?

Оставить комментарий