myhand

Рейтинг
278
Регистрация
16.09.2009
netwind:

то есть, писать скрипт все равно придется? вы ничего про скрипт не сказали изначально.

там вся логика: "нашли IP в error-логе N раз с момента прошлого парсинга - отправили в бан".

строчка awk + iptables/ipset/iptables-restore.

я, собственно, упомянул выше о том, что nginx - "полуфабрикат". это не

решение "искаропки", просто его легче адаптировать (на уровне конфигов а не

кода) под конкретный сайт.

netwind:

ну а что будем делать с ддосом на shoutcast/red5/smtp/какой-нибудь_еще_странный_но_нужный_сервис ?

для smtp/pop/imap/что-nginx-умеет-проксировать - можно пробовать его в качестве

отправной точки. а так - что-то специализированное. nginx-не панацея, ниразу.

но речь и шла о HTTP только.

netwind:
myhand, запуска iptables/ipset. Ведь если программа нашла бота, его имеет смысл заблокировать,засунуть в TARPIT, а не ждать пока он будет долбить в пределах установленных модулем limit_zone по тяжелому скрипту.
Ну и nginx никогда не сможет определить ddos на dns, а в программе это легко.

iptables/ipset нужно запускать из скрипта, парсящего error.log-файл nginx (который

кидает туда ip забаненых limit_(zone|req)). просто из соображений

производительности - лучше один раз запустить iptables-restore, чем сотню

отдельных iptables на каждый найденный ip.

netwind:
Если кто-то уже постарался до вас и снабдил nginx функционалом.
А в общем случае для программиста игра по чужим правилам всегда сложнее. Вы просто не программист, наверное.

если не секрет, чего в nginx вам нехватает? // в контексте защиты от небольшого ddos.

netwind:
myhand, некоторым примитивные условия модуля nginx кажутся недостаточно гибкими .

там _много_ модулей. проверка cookies, рефереров, там кеширование и еще куча разных плюшек.

нет, это не "готовый" рецепт. но доведение его до рабочего состояния для каждого конкретного

сайта - задача на порядок менее безнадежная, чем написание "своего" решения.

netwind:

Что ж так мало то охотников править nginx?
Потому, что он "чужой". Да еще и на C. Да еще и в непопулярной модели конечного автомата написан.

апи нестабильный. может в этом дело. а охотники есть, на недавнем хайлоаде

был доклад достаточно большой на эту тему.

netwind, nginx и есть "своя программа". для адаптации под атаки нужны определенные усилия.

zexis, если есть время и "дурацкая черта" - аналог nginx-модуля limit_req

для апача был бы интересен, думаю, многим ;)

а если нужна конструктивная критика - покажите код. как правильно заметил

Outsourcenow, подобный алгоритм на shell пишется "наколенке" в три строчки.

myhand добавил 02.12.2009 в 19:43

Andreyka:
Все это решается на уровня файрвола без всякого юзерленда.

с вами уже это обсуждали не так давно:

/ru/forum/410019

присутствующие здесь Outsourcenow и netwind

кстати тоже окрестили эту идею чушью :)

в том, что в почтовом демоне на сервере (postfix? sendmail? exim? что?) - прописан

ваш домен example.com. локальные настройки имеют приоритет над тем, что

прописано в MX для домена.

решение - удалить example.com из доменов, обслуживаемых вашим почтовиком.

zexis, не обижайтесь, но вы сделали велосипед. с квадратными колесами :)

советую вам обратить внимание на nginx, модули:

http://sysoev.ru/nginx/docs/http/ngx_http_limit_zone_module.html

http://sysoev.ru/nginx/docs/http/ngx_http_limit_req_module.html

+ отдельно настроенные под разные location (статика, динамика, тяжелая динамика)

+ whitelist для некоторых IP/подсетей (зависит от специфики сайта, скажем, WAP-сайт).

заинтересует - обращайтесь.

madoff:
И сразу я скажу..не важно кейпаливе, или нет,он в любом случии дёргал не раз в 2 минуты ....если у него настроен апачи по дефолту то породить новый процесс апачи почти сразу там чилдрены установлены минимальны..всё ранво бы его замочило*)))...

где ТС сказал про апач, настроенный по _дефолту_? Борис просто указал

на _еще одину_ логическую возможность - почему правила не работают.

первый вариант - другие правила с ACCEPT _до_ указанных ТС (см. ответ #2).

имеете к этому что-то добавить?

madoff:
Что для вас конструктивное ? (keepalive?)? (борис написал это к чему привязать к apache, ? или keepalive?

то, что дергая ссылки на сайте - он совершенно не обязательно откроет

новое TCP-соединение.

madoff:

он же в посте не знает даже что го-варит...вы себе представляете на 80 порт ограничить 2 соединение в час ?

представляю отчетливо: человек хочет потестировать работу правил. низкий

лимит - специально, чтобы попасть в DROP.

madoff:
И дайте вывод нам в форум что-бы мы не гадали что у вас за порядок правил-цепочек, и откомпилирован Iptables у вас с модулем hashlimit ? какая версия Iptables какое ядро, какая система,вы дали сводную информацию и нельзя составить цепочку логики вашей работы

ему указали в первом ответе, что работа правил зависит от предыдущих в цепочке.

имхо, что-то конструктивное к этому добавил только Борис.

PS: hashlimit у NC есть, естественно - иначе ядро ругалось бы при попытке добавления правил.

Всего: 4890