fail2ban:停止 pop3 登录尝试?

fail2ban:停止 pop3 登录尝试?

我该如何设置 fail2ban 来处理所有这些烦人的 pop3 登录尝试?我使用的是 Ubuntu 9.04,下面是从 Logwatch 发送的邮件中看到的 pop3 日志摘录:

   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)

编辑:我认为解决方案是通过启用与 courier 相关的 jail 来简单地更改 /etc/fail2ban/jail.conf 中的设置。有人可以证实这一点吗?

答案1

我不喜欢“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 链中拥有更高级别的规则来允许通过这些规则建立的连接,则将对进入您的 POP3 端口的新 TCP 连接的速率进行限制(60 秒内超过 5 个)。

答案2

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

相关内容