ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Борьба с нарушителями одног о коннекта.


  • To: nginx-ru@xxxxxxxxx
  • Subject: Борьба с нарушителями одног о коннекта.
  • From: Anton Kuznetsov <maybe@xxxxxxxxxxxx>
  • Date: Sun, 15 Mar 2009 14:38:55 +0100

Добрый день!

Многие здесь, как и я, занимаются раздачей больших файлов, этому занятию как правило сопутствует настройка limit_conn one 1; чтобы диски совсем не порвало.
Следствие этой настройки - постоянная долбежка сервера паразитными коннектами. Эдакая DDOS атака от настроенных по умолчанию в 5-10 конектов "Download Master" & etc... Сложно сказать о вреде, но если смотеть в лог куда сливается 503 - то при моих нагузках становится страшно. Лог наверно вообще надо отключить, но это отдельный вопрос. У меня при 1к-1,5к полезных коннектов, 2к-3к - паразитных и это если еще по башке стучать и заставлять читать правила настройки качалок. Вопрос в том, как минимизировать вред от этого явления. Я до этого момента честно занимался баном - 50 попаданий в лог-503 - правило в ipfw на день-неделю и чувство жалости давно атрофировалось. Качают те, кто умеют настраивать. Но... жалко по прежнему сервер, ему даже и так плохо. Чистый эксперимент показал что включение pf без правил на сервере при скорости 500 мегабит добавляют процессу "irq30: em0" (top -S) сразу добрых 20%, а этот процесс у меня и без этого близок к 100%.
Сейчас я отключил ipfw & pf и пробую тихо игнорировать эту долбежку на самом nginx - вопрос как это лучше делать? Сейчас у меня стоит
location = /503.html {limit_rate 1 ;} Но меня гложут смутные сомнения - хорошо ли nginx-у каждую секунду думать о том как в 2к-3к соединений отдать по байту?
Вторая напасть похоже некоторые качалки (помню такое было в reget) не любят когда коннект отдает им слишком медленно и делают реконнект. Может я не прав, но в логе основная масса строчек "HTTP/1.0  503 0" - вроде как вообще не удалось ничего отдать, хотя время выполнения этих запросов солидное - в среднем более 100 секунд.
Можно придумать что-то еще более легкое и эффективное или отключить лог и забыть?


--
Best regards,
Anton Kuznetsov.      


 




Copyright © Lexa Software, 1996-2009.