Отбиваем DDOS mod evasive и firewall на CentOS
Автор: admin Раздел: Безопасность
Отбиваем DDOS mod_evasive + firewall на CentOS
Анализ DDoS, конечно, можно сделать свои скрипты для разбора логов. Но лучше, ,чтобы отдать модулю апача mod_evasive. Ставим mod_evasive и в конфигурации пишем: [-hide-]DOSHashTableSize 3097 DOSPageCount 15 DOSSiteCount 15 DOSPageInterval 3 DOSSiteInterval 3 DOSBlockingPeriod 300 DOSSystemCommand «/usr/bin/sudo /usr/bin/fwban %s» DOSPageInterval – интервал для хитов определенной страницы DOSSiteInterval – интервал для хитов определенного vhost DOSPageCount – после этого количества хитов по определенному URI в течении интервала DOSPageInterval, айпи будет забанен DOSSiteCount – после этого количества хитов по определенному vhost в течении интервала DOSSiteInterval, айпи будет забанен Нам понадобиться скрипт для бана на уровне файрвола «/usr/bin/fwban» (вариант для Linux): #!/bin/bash if [ "x$1" = "x" ] ; then echo «USAGE: $0 IPADDR» exit fi /sbin/iptables -A BAN -s $1 -j DROP Ему надо поставить права 755. Так же нам понадобиться утилита sudo. Она стоит практически везде. В «visudo» закомментируем опцию: #Defaults requiretty И добавим строчеку apache ALL = NOPASSWD: /usr/bin/fwban где apache – юзер от которого работает апач. Так же нам понадобиться цепочка BAN в iptables: iptables -N BAN iptables -I INPUT -j BAN Сохраним правила файрвола /etc/init.d/iptables save Рестартанем апач. Теперь попробуйте уложить ваш сайт (только не со своего айпи!!!): ab -n 1000 -c 20 http://yoursite.info/ В логах «жертвы» можно увидеть: May 6 15:18:25 Server1 mod_evasive[26514]: Blacklisting address 1.2.3.4: possible DoS attack. А в файрволе: # iptables-save —многа букав— -A BAN -s 1.2.3.4 -j DROP —многа букав— Ура! No pasaran. Да. И конечно, апач лучше бы прикрыть извне nginx’ом. Да. И данный метод банит айпишнеги перманентно, пока не перезапусканет сервер, или не будет сброшена цепочка BAN. Вот такой брутальный метод ) [-hide-] Источник http://www.pentarh.com/wp/2011/05/06/anti-ddos-mod_evasive-firewall |