linux – 如何使用iptables对SSH连接进行速率限制?

linux – 如何使用iptables对SSH连接进行速率限制?,第1张

概述我试图限制可能的SSH连接到我的服务器的数量,但它似乎每次锁定我.我对iptables并不是很熟悉,但我一直在阅读我需要应用于限制连接的规则,但没有成功.这是我的iptables配置文件: :INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [28130:3096101]:RH-Firewall-1-INPUT - [0:0]:We 我试图限制可能的SSH连接到我的服务器的数量,但它似乎每次锁定我.我对iptables并不是很熟悉,但我一直在阅读我需要应用于限制连接的规则,但没有成功.这是我的iptables配置文件:
:input ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [28130:3096101]:RH-Firewall-1-input - [0:0]:WebServices - [0:0]-A input -p tcp --dport 2020 -m state --state NEW -m recent --set --name SSH-A input -p tcp --dport 2020 -m state --state NEW -m recent --update --seconds 120 --hitcount 8 --rttl --name SSH -j DROP-A input -j WebServices-A input -j RH-Firewall-1-input-A FORWARD -j RH-Firewall-1-input-A RH-Firewall-1-input -i lo -j ACCEPT-A RH-Firewall-1-input -p icmp -m icmp --icmp-type any -j ACCEPT-A RH-Firewall-1-input -p esp -j ACCEPT-A RH-Firewall-1-input -p ah -j ACCEPT-A RH-Firewall-1-input -m state --state RELATED,ESTABliSHED -j ACCEPT-A RH-Firewall-1-input -j REJECT --reject-with icmp-host-prohibited-A WebServices -p tcp -m tcp --dport 8088 -j ACCEPT-A WebServices -p tcp -m tcp --dport 443 -j ACCEPT-A WebServices -p tcp -m tcp --dport 80 -j ACCEPTCOMMIT

我认为前2条规则应该阻止从主机建立的任何新连接,如果它们在2分钟内超过8个连接,但它只是将端口锁定在一起.我究竟做错了什么?

解决方法 只需添加以下内容:
-A input -p tcp --dport 2020 -m state --state NEW -j ACCEPT

……就在这两行之后:

-A input -p tcp --dport 2020 -m state --state NEW -m recent --set --name SSH-A input -p tcp --dport 2020 -m state --state NEW -m recent --update --seconds 120 --hitcount 8 --rttl --name SSH -j DROP

此外,你应该考虑一个cron任务,它将不时清理你的/ proc / net / ipt_recent / SSH(ipt_recent在新平台上可能是xt_recent),以防你被锁定.

编辑:你的规则排序对我来说有点奇怪,如果我是你,我会用这样的东西:

*filter:input ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]# Loopback interface-A input -i lo -j ACCEPT# ICMP traffic-A input -p icmp --icmp-type any -j ACCEPT# Already established connections-A input -m state --state ESTABliSHED,RELATED -j ACCEPT# SSH-A input -p tcp --dport 2020 -m state --state NEW -m recent --set --name SSH-A input -p tcp --dport 2020 -m state --state NEW -m recent --update --seconds 120 --hitcount 8 --rttl --name SSH -j DROP-A input -p tcp --dport 2020 -m state --state NEW -j ACCEPT# Web services-A input -p tcp --dport 80 -m state --state NEW -j ACCEPT-A input -p tcp --dport 443 -m state --state NEW -j ACCEPT-A input -p tcp --dport 8088 -m state --state NEW -j ACCEPT# Reject everything else-A input -j REJECT --reject-with icmp-host-prohibitedCOMMIT
总结

以上是内存溢出为你收集整理的linux – 如何使用iptables对SSH连接进行速率限制?全部内容,希望文章能够帮你解决linux – 如何使用iptables对SSH连接进行速率限制?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1040840.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存