Назад | Перейти на главную страницу

fail2ban: остановить попытки входа в pop3?

Как мне настроить 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