Есть сервер с поднятой Ubuntu Server 10.10, поднят SSH-сервер и Apache. Сервер регулярно подвергается DDoS-атаке, причем валится с простейшего LOIC. Не могли бы вы подсказать, как надо настроить iptables, что бы подобное не повторялось? Пожалуйста, не предлагайте nginx, в данном случае задача специфическая и подходит только Apache.
Спасибо.
Отличный совет, поддерживаю.
Поставить на фронтенд nginx, раскидать его средствами статику\динамику, задействовать также механизмы кэширования nginx.
Неотложные меры:
1. Вот эта команда регулирует количество пакетов в секунду
iptables -A INPUT -p tcp --dport 80 -m hashlimit --hashlimit-upto 50/min \
--hashlimit-burst CONNUM --hashlimit-mode srcip --hashlimit-name http -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
Где CONNUM число коннектов, им можно поиграться.
2. У апача есть mod_reqtimeout
3. Покрутить sysctl и параметры сетевой подсистемы.
Баномет очень неэффективен, вам все равно в итоге будет дешевле (и не так гибельно для репутации) исправить архитектуру, поставить фронтенды и все затюнить.
В том-то и дело, что настраивать нужно. А у меня в этом ноль опыта, совсем недавно сервак появился.
Как только ддос закончится, попробую поковырять, не могли бы вы заранее привести пример конфига fail2ban?
Сталкивался недавно с похожей ситуацией на локальном проекте.
использовали deflate от medialayer дот com + редирект на JS на фейковые домены, которые являлись CNAME к домену второго уровня.
Второй момент спасал нас от большой нагрузки на apache в следствии чего машинка использовала 100% ресурсов и давал возможность скрипту отрабатывать.
к сожалению программеры, которые писали проект, не позаботились о кэшировании, периодически страдаем от ддосов.