我已经使用 fail2ban 一段时间了。今天我想进一步了解 iptables,发现了 iptables-persistent。
安装、保存并清理 /etc/iptables/rules.v4 中的 iptables 规则后,它看起来像这样
# Generated by iptables-save v1.6.0 on Thu Aug 24 15:18:11 2017
*filter
:INPUT DROP [107:22965]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [267:46575]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 53 -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
COMMIT
# Completed on Thu Aug 24 15:18:11 2017
我的 /etc/fail2ban/jail.local 包含以下几行
[...]
bantime = 3600
maxretry = 2
[...]
protocol = tcp
chain = INPUT
[...]
重新启动服务器后,fail2ban 规则将被附加到后面,而不是插入到顶部。
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:22
ACCEPT tcp -- anywhere anywhere tcp spt:domain
ACCEPT udp -- anywhere anywhere udp spt:domain
ACCEPT tcp -- anywhere anywhere tcp spt:http
f2b-sshd tcp -- anywhere anywhere multiport dports 22
如果我输入了错误的登录信息,我就会被封禁并入狱。但是 fail2ban 规则位于输入链的末尾,因此如果我使用正确的登录信息,我仍然可以尝试登录。
我如何确保fail2ban插入到链的顶部?
谢谢
答案1
创建一个链BANS
(iptables -N BANS
)插入输入链()的顶部iptables -I INPUT 1 -j BANS
,然后chain=BANS
在 fail2ban 中进行设置。