Октябрь 4

fail2ban

пробуем банить сканеров и разных XSS любителей
для начала просто бан тех кто много смотрит осторожно админы улитают в бан за секунду
потому важное в этой записи прочитать ее всю и научится разбанивать перед первым забанненым админом

и так
создаем правило кого банить

sudo nano /etc/fail2ban/filter.d/apache-ddos.conf

# Fail2Ban configuration file
# Author: AmiGator

[Definition]

failregex = ^ -.*"(GET|POST).*HTTP.*"

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
#
ignoreregex =

!!!!!! следите чтоб не было перед началом строк пробелов

sudo nano /etc/fail2ban/jail.conf

добавляем в конце

[apache-ddos]

enabled = true
filter = apache-ddos
action = iptables-multiport[name=ddos, port="http,https"]
sendmail-buffered[name=ddos, lines=5, dest=root]
logpath = /var/www/*/log/access.log
bantime = 1800
findtime = 60
maxretry = 10

ignoreregex = \.(jpg|jpeg|png|gif|js|css)

ГДЕ:

logpath — Путь до нашего лога;
findtime — Время после которого будет бан;
maxretry — число повторений за findtime.

sendmail-buffered[name=ddos, lines=5, dest=root]

Куда присылать отчёт root замените на свой почтовый ящик !

Вроде всё и не забудте перезапустить fail2ban !

service fail2ban restart

и так в пока вы выполнили все инструкции

tail -f /var/log/fail2ban.log
выдаст уже в забанненых админов и пару покупателей 🙂
теперь учимся разбанивать под крики и истерику

вывод забаненых (точнее правила iptables)
iptables -L -n --line-numbers

fail2ban-client get apache-ddos actionunban IP
кого нужно разбанить

и после этого таблица почистилась только после перезагрузки fail2ban
service fail2ban restart

спасибо за бан и unban