Я установил fail2ban на веб-сервере Ubuntu Linux 16.04 lts. Я настроил его так, чтобы запрещенный IP-адрес (jailed) всегда запоминался, и то же самое для iptable - он настроен на запоминание запрещенного адреса. Я сделал это только для того, чтобы посмотреть, сколько попыток взлома было сделано. Я мог бы настроить его так, чтобы он не запоминал эти IP-адреса и просто дал им тюремный срок на 24 часа. Может быть, я был слишком параноиком насчет хакеров, пытающихся взломать. Я видел, как количество попыток взлома (в зависимости от установленных правил) растет ежедневно на 100-150 попыток, все с уникальными IP-адресами. Большинство этих IP-адресов находятся за пределами США. Я должен верить, что в какой-то момент счет достигнет нескольких тысяч плохих IP-адресов, которые я пометил как не разрешающие доступ. Я обеспокоен тем, что сервер может быть перегружен и деградирован до такой степени, что станет бесполезным. Есть ли какие-то хорошие практики, которые я должен реализовать с помощью fail2ban и iptables, чтобы справиться с этими плохими IP-адресами, которые пытаются взломать?
Обновление: я установил fail2ban и создал следующую тюрьму:
## Чтобы остановить DOS-атаку с удаленного хоста.
[http-get-dos]
enabled = true
порт = http, https
фильтр = http-get-dos
logpath = /var/log/apache*/access.log
maxretry = 1
findtime = 86400
bantime = -1
ignoreip = 111.222.333.12
## action = iptables [имя = HTTP, порт = http, протокол = tcp]
banaction = iptables-ipset-proto4
У меня ipset и iptables настроены следующим образом:
sudo iptables -I INPUT -m set --match-set f2b-http-get-dos src -j DROP
sudo iptables -I FORWARD -m set --match-set f2b-http-get-dos src -j DROP
Когда я запрашиваю имя набора ipset, я вижу перечисленные члены.
Когда я запрашиваю iptables, я вижу имя набора.
Как узнать и подтвердить, что запрещенные IP-адреса, перечисленные в наборе, указанном в ipset, защищены межсетевым экраном iptables?