创建禁止 IP 的 fail2ban txt 列表

创建禁止 IP 的 fail2ban txt 列表

使用 fail2ban 多年了,效果很好,想自动化并加强路由器的安全性。

因此我希望 fail2ban 创建一个本地文件,例如,list.txt 文件,其中包含被禁止的 IP 地址列表。

与此类似https://sslbl.abuse.ch/blacklist/sslipblacklist.txt

这样我就可以将其分享到网页上。我的路由器设置为从此类来源导入被阻止的 IP。

那么我该如何做这样的事情呢?有什么想法吗?

答案1

是的,例如,您可以将一个功能添加到位于 /etc/fail2ban/action.d/ 中的现有“操作”,就我而言,我只是将其添加到“iptables-multiport.conf”文件中。

actionban = <iptables> -I f2b-<name> 1 -s <ip> -j <blocktype>
                echo '<ip>' >> /path/to/file/ips.txt

答案2

Orphan 的回答是正确的,但我会尝试进一步解释一下。

首先,您应该检查您对哪个监狱感兴趣,然后检查哪一个actionban与该监狱相关。

actionban参数可以在 Fail2ban 的配置文件中找到,但这并不简单。例如,以下配置/etc/fail2ban/jail.local

[DEFAULT]
backend = auto
banaction = iptables-multiport
bantime = 1h

[sshd]
enabled = true
logpath = %(sshd_log)s
maxretry = 3
port = 22

对于sshdjail,没有直接定义,因此采用banaction默认值。因此,我们应该查看配置文件。如果那里没有明确定义,那么我们应该检查它引用哪个文件。在此示例中,配置文件包括:banaction = iptables-multiport/etc/fail2ban/action.d/iptables-multiport.confactionbaniptables-multiport

[INCLUDES]

before = iptables.conf

这指向/etc/fail2ban/action.d/iptables.conf,我们最终可以找到 的定义actionban

actionban = <iptables> -I f2b-<name> 1 -s <ip> -j <blocktype>

现在,按照 Orphan 的回答,可以修改此行的禁止操作,添加自定义命令:

actionban = <iptables> -I f2b-<name> 1 -s <ip> -j <blocktype>
            echo '<ip>'  >> /path/to/file/ips.txt

最后,应重新加载 Fail2ban 客户端以应用更改:

fail2ban-client reload

相关内容