Главная > Сервера и сети > Скрипт .sh для борьбы с HTTP флудом через IPFW freebsd

Скрипт .sh для борьбы с HTTP флудом через IPFW freebsd

Небольшой скрипт для борьбы с флудом. Скриптик для защиты от DDOS атак:
Активируем IPFW
Добавим в /etc/rc.conf

firewall_enable="YES"
firewall_script="/etc/ddos.sh"
firewall_logging="YES"                      
                      
Создаем наш файерволл в файл /etc/ddos

#!/bin/sh
ipfw='/sbin/ipfw -q'
${ipfw} flush
${ipfw} add check-state
${ipfw} table 1 flush
${ipfw} add deny ip from table\(1\) to me
${ipfw} add allow all from any to any                 
                      
Пишем парсер логов и добавляем их в черный список
Создадим файл /etc/ban.sh, который будет собирать IP и добавлять их в table1


#!/bin/sh
echo '' > /etc/bl
cat /var/log/nginx/deathstar.name.access.log | awk ' match($0, /(\d*.\d*.\d*.\d*).*"-" "-"/) {print $1}' | sort | uniq >> /etc/bl
/sbin/ipfw table 1 flush
cat /etc/bl | awk '{ if ($1!="") {system("/sbin/ipfw table 1 add "$1"")} }' > /dev/null
                      
Добавить в cron задание

*/1 * * * * root /etc/ban.sh
process 3

Добавить комментарий


Защитный код
Обновить


Наши заметки



Сайтостроение

Программирование и интеграция сайта с CMS, верстка HTML, CSS, PHP, JAVAscript

Всегда на связи

logotip

Комплексные IT решения для бизнеса и дома