AntiDDoS [Semena]
Есть два режима работы fai2ban для защиты от DDoS:
1. Стандартный Jail: semena - ФИЛЬТР ОБРАБОТКИ /etc/fail2ban/filter.d/semena.conf
Сам конфиг /etc/fail2ban/jail.d/semena.conf
В нем:
maxretry = 100 - Сколько раз IP-адрес должен попасть под failregex в течение findtime, прежде чем будет забанен.
findtime = 60 - Временное окно, в течение которого считаются попытки (maxretry)
В нашем случае: 100 совпадений должны произойти за 60 секунд, чтобы IP попал в бан
Строгий фильтр: semena-hard. Файл фильтра тут: /etc/fail2ban/filter.d/semena-hard.conf
Сам конфиг /etc/fail2ban/jail.d/semena-hard.conf
ВАЖНО! jail HARD не активируется при старте, но его можно включить вручную (если не сработал автоматический запуск, пункт 3). Меняем enabled = false на true, перезапускаем службу fail2ban
Скрипт мониторит лог, запускает автоматом режим HARD, если идет DDoS атака
/usr/local/bin/f2b-ddos-monitor.sh добавлен в крон, запускается раз в минуту, шерстит лог. Если видит, что начинается атака, то делает fail2ban-client enable semena-hard
Проверяем в обычном режиме:
fail2ban-client status semena
Проверяем работу в режиме HARD: