Как мне настроить fail2ban, чтобы все эти надоедливые попытки входа в pop3 были устранены? Я использую Ubuntu 9.04, и вот выдержка из журнала pop3, как я вижу в письмах, которые отправляет Logwatch:
LOGIN FAILED, user=Administrador, ip=[::ffff:208.115.212.106]: 8 Time(s)
LOGIN FAILED, user=Alfredo, ip=[::ffff:208.115.212.106]: 8 Time(s)
LOGIN FAILED, user=Antonio, ip=[::ffff:208.115.212.106]: 6 Time(s)
LOGIN FAILED, user=Carmelo, ip=[::ffff:208.115.212.106]: 8 Time(s)
LOGIN FAILED, user=access, ip=[::ffff:208.115.212.106]: 7 Time(s)
LOGIN FAILED, user=account, ip=[::ffff:208.115.212.106]: 7 Time(s)
LOGIN FAILED, user=admin, ip=[::ffff:208.115.212.106]: 5 Time(s)
LOGIN FAILED, user=angel, ip=[::ffff:208.115.212.106]: 9 Time(s)
РЕДАКТИРОВАТЬ: Я думаю, что решение состоит в том, чтобы просто изменить настройки в /etc/fail2ban/jail.conf, включив тюрьмы, связанные с курьером. Может кто-нибудь это проверить?
Мне не нравится fail2ban, потому что он «живет» в пользовательском пространстве и имеет много «движущихся частей». Если вы используете iptables на машине, довольно просто ограничить скорость новых подключений с того же IP-адреса.
iptables -A INPUT -p tcp --dport 110 -m state --state NEW -m recent --name pop --rsource --update --seconds 60 --hitcount 5 -j DROP
iptables -A INPUT -p tcp --dport 110 -m state --state NEW -m recent --name pop --rsource --set -j ACCEPT
Предполагая, что у вас есть правила более высокого уровня в цепочке INPUT, разрешающие УСТАНОВЛЕННЫЕ подключения, эти правила будут работать для ограничения скорости входящих новых TCP-подключений к вашему порту POP3 (превышение 5 за 60 секунд).
fail2ban достаточно гибкий, он может реагировать на любые выражения в любых лог-файлах: в /etc/fail2ban/jail.conf
указываете где смотреть (logpath
), что искать (filter
) и что делать (action
).
В вашем случае вы можете попробовать существующий фильтр /etc/fail2ban/filter.d/courierlogin.conf
(проверьте регулярное выражение, возможно, вам нужно будет его изменить) и существующее действие из /etc/fail2ban/action.d/
(см. примеры в /etc/fail2ban/jail.conf
). Например, если вы используете shorewall:
[pop3]
enabled = true
filter = courierlogin
action = shorewall
logpath = /var/log/mail.log
Я всегда добавляю известные хорошие IP-адреса в ignoreip
, чтобы не забанить эти адреса:
[DEFAULT]
ignoreip = 127.0.0.1 192.168.0.0/24 SOME.EXTERNAL.IPS