网络–Iptables内容阻止防火墙

我已经设置了一个带iptables的防火墙,根据内容对速率限制进行评估.以下是我的一个规则停止wordpress暴力攻击的例子.

iptables -A INPUT  -p tcp -m tcp --dport 80 -m string --algo bm --string "POST /wp-login.php" -m recent --set --name wp_brute --rsource
iptables -A INPUT  -p tcp -m tcp --dport 80 -m string --algo bm --string "POST /wp-login.php" -m recent --name wp_brute --rcheck --seconds 60 --hitcount 4 -j LOG --log-level=6 --log-prefix="Wordpress Attack:"
iptables -A INPUT  -p tcp -m tcp --dport 80 -m string --algo bm --string "POST /wp-login.php" -m recent --name wp_brute --rcheck --seconds 60 --hitcount 4 -j REJECT --reject-with tcp-reset

我试图获得另一个有点小问题的规则,因为我想根据来自传入连接的响应数据包进行阻止.例如,如果有人尝试使用pop3登录并且响应是身份验证失败,那么我想阻止原始IP.然而,上述规则显然不会起作用,因为这项运动是原来的运动.

我试过这个,但我认为它应该是输出表而不是输入表.

iptables -A INPUT  -p tcp -m tcp --dport 110 -m string --algo bm --string "Password supplied for " -m recent --set --name pop3_brute --rsource
iptables -A INPUT  -p tcp -m tcp --dport 110 -m string --algo bm --string "Password supplied for " -m recent --name pop3_brute --rcheck --seconds 60 --hitcount 4 -j LOG --log-level=6 --log-prefix="POP3 Attack:"
iptables -A INPUT  -p tcp -m tcp --dport 110 -m string --algo bm --string "Password supplied for " -m recent --name pop3_brute --rcheck --seconds 60 --hitcount 4 -j REJECT --reject-with tcp-reset

那么我试过这个

iptables -A OUTPUT  -p tcp -m tcp --sport 110 -m string --algo bm --string "Password supplied for " -m recent --set --name pop3_brute --rsource
iptables -A OUTPUT  -p tcp -m tcp --sport 110 -m string --algo bm --string "Password supplied for " -m recent --name pop3_brute --rcheck --seconds 60 --hitcount 4 -j LOG --log-level=6 --log-prefix="POP3 Attack:"
iptables -A OUTPUT  -p tcp -m tcp --sport 110 -m string --algo bm --string "Password supplied for " -m recent --name pop3_brute --rcheck --seconds 60 --hitcount 4 -j REJECT --reject-with tcp-reset

我对iptables有点新意,因此根据我在点击计数器上返回的响应数据包来确定如何阻止远程IP有点麻烦.

最佳答案
通常,您将在应用程序级别记录故障,然后使用实用程序(例如fail2ban)解析日志并生成/管理防火墙规则.

转载注明原文:网络–Iptables内容阻止防火墙 - 代码日志