myhand

Рейтинг
278
Регистрация
16.09.2009
seocore:
атаки бывают разные, в большинстве случаев вообще до GET-запроса не доходит дело...

речь шла именно о той ситуации, когда доходит. атака, ориентированая на конкретное приложение.

seocore:
iptables сам по себе достаточно громоздкий и неэффективный

инструмент каждый с умом нужно использовать. -m string под DDOS

атакой - совершенно идиотское решение. баньте с ipset ботов (детектируемых

nginx+скриптами), как дополнительную меру - hashlimit/connlimit/limit - и будет вам сщастье.

HP ProLiant DL от DL120G5, а лучше брать что-то

с hot-swap типа DL160G6. цены по порядку величины:

http://www.stss.ru/products/proliant_DL.html

komap:
Стоимость решения не сильно важна (в разумных пределах), главное надёжность. Трафик на сайтах небольшой, около 3k в сутки суммарно.

огласите "разумные пределы", пожалуйста.

удалённый фрилансер-админ вполне может обеспечить и

круглосуточную поддержку, обращайтесь.

madoff:
вы написали,я показал

нет, не показали. попробую объяснить еще раз.

забанить на iptables по конкретной сигнатуре атаки (строка) - совершенно другое,

нежели понимание файерволом прикладного протокола. посмотрите код любого веб-сервера,

как он парсит HTTP-запросы (конкретно, Request-Line). там на порядок

больше работы чем сравнение со строкой "GET / HTTP/1.0" :D

так понятно?

madoff, ищите дальше. начиная с того, что URL может быть

не обязательно "/".

это очень частный случай борьбы с конкретной

сигнатурой в атаке. довольно глупый в итоге, кстати.

Andreyka:
Я собирал thread-safe и работало отлично

да, там есть опция "--enable-maintainer-zts". кому лень

посмотреть в багтрекер PHP - собирают с ней.

причем баги есть совсем древние:

http://bugs.php.net/bug.php?id=16820

Boris A Dolgov:
2) при использовании mpm_worker, думаю, все равно останется достаточно явный вопрос производительности и сложности написания. Хотя, я не пробовал апач с mpm_worker, так как не вижу в этом смыслаю. Там все на тредах?

там тред на клиента (вместо процесса). памяти заметно меньше уходит.

можно посмотреть примеры модулей, использующие готовое там апи для

управления соединениями с базой. authn_dbd_module, например.

kapow_expert:
т.е. php использовать в данном случае вообще нецелесообразно\невозможно? или все таки можно и его, раз не та нагрузка?:)

c prefork - однозначно нельзя, уйдет уйма ресурсов на каждый процесс.

mpm worker в этом отношении получше - но mod_php не thread-safe, потому нельзя его

пихать вместе с тредовыми mpm.

Boris A Dolgov:

В принципе, мне тоже кажется, дергать php нецелесообразно, и можно написать модуль для nginx, который будет делать это. Правда, там придется писать асинхронный коннектор к БД, что очень бажно и затянется.

о чем и речь :) ну чем здесь апач хуже? написать для него простенький модуль, зависящий

от mod_dbd. prefork здесь не нужен - лучше worker. нагрузка не та, чтобы серьезно заморачиваться

с асинхронщиной.

Борис, выше выяснили - что крайне немного: split + mysql insert

zexis:
В файле httpd.conf
KeepAliveTimeout 15
уменьшить до 3

может быть вообще выключить постоянные соединения
KeepAlive Off

KeepAlive - ваш друг. не нужно его отключать, если не знаете зачем.

если KeepAlive "мешает" - используйте другой mpm в апаче (event) - или

поставьте прокси перед апачем.

zexis:

При компиляции апача в файле httpd.h
Увеличить значение HARD_SERVER_LIMIT
Например до 800
Так как там по умодчанию стоит не более 256 одновременных подключений

с такими безумными цифрами - сервер в пике ворочаться просто не будет.

помимо того, что одни апачи отожрут больше 10Gb

не копируйте бездумно глупые инструкции, тем более, что они

для 1.x-ветки апача.

Всего: 4890