Комментарии 15
Справедливости ради наверное следует добавить, что про блокировку классического DDOS через string я первым описал тут еще в 2008 году.
mod_evasive — ерунда и баловство, реально не помогает. Лучше напишите скрипт что будет висеть на логе апача и файрволить частые обращения например к корню сайта (пример на bash были на хабре, но увы не найду)
а насчет файрвола, вот вам кусочек, в общем-то только его хватит чтоб сервер не умирал от слабой атаки, особенно если прижать вниз лимит в нем, да еще желательно подтвикать еще конфиг апача ;)
/sbin/iptables -N DDOS_HTTP_FILTER
/sbin/iptables -F DDOS_HTTP_FILTER
# чтобы свободно к самому себе скрипты могли обращаться
/sbin/iptables -A DDOS_HTTP_FILTER -p tcp --dport 80 -s _ип_нашего_сервера -j RETURN
# все что удовлетворяет этому hashlimit-у — пропускаем, то есть те син пакеты что идут реже лимита
/sbin/iptables -A DDOS_HTTP_FILTER -p tcp --syn --dport 80 -m hashlimit \
--hashlimit-name DDOS --hashlimit-mode srcip \
--hashlimit 40/min --hashlimit-burst 120 \
--hashlimit-htable-size 32768 --hashlimit-htable-max 32768 \
--hashlimit-htable-gcinterval 1000 --hashlimit-htable-expire 100000 -j RETURN
# а остальные сины — дропаем
/sbin/iptables -A DDOS_HTTP_FILTER -p tcp --syn -j DROP
# и собственно направляем син пакеты идущие к нам на http на наш код
/sbin/iptables -A INPUT -p tcp --syn --dport 80 -j DDOS_HTTP_FILTER
а насчет файрвола, вот вам кусочек, в общем-то только его хватит чтоб сервер не умирал от слабой атаки, особенно если прижать вниз лимит в нем, да еще желательно подтвикать еще конфиг апача ;)
/sbin/iptables -N DDOS_HTTP_FILTER
/sbin/iptables -F DDOS_HTTP_FILTER
# чтобы свободно к самому себе скрипты могли обращаться
/sbin/iptables -A DDOS_HTTP_FILTER -p tcp --dport 80 -s _ип_нашего_сервера -j RETURN
# все что удовлетворяет этому hashlimit-у — пропускаем, то есть те син пакеты что идут реже лимита
/sbin/iptables -A DDOS_HTTP_FILTER -p tcp --syn --dport 80 -m hashlimit \
--hashlimit-name DDOS --hashlimit-mode srcip \
--hashlimit 40/min --hashlimit-burst 120 \
--hashlimit-htable-size 32768 --hashlimit-htable-max 32768 \
--hashlimit-htable-gcinterval 1000 --hashlimit-htable-expire 100000 -j RETURN
# а остальные сины — дропаем
/sbin/iptables -A DDOS_HTTP_FILTER -p tcp --syn -j DROP
# и собственно направляем син пакеты идущие к нам на http на наш код
/sbin/iptables -A INPUT -p tcp --syn --dport 80 -j DDOS_HTTP_FILTER
Помоему frontend вёбсервер тут поможет лучше.
>>им же все интересно
нет, они просто малолетние дебилы
нет, они просто малолетние дебилы
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
DDoS — как выжить от школьников?