首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IPtables :每分钟限制新ssh连接数

IPtables :每分钟限制新ssh连接数
EN

Stack Overflow用户
提问于 2013-09-04 14:14:06
回答 2查看 8.1K关注 0票数 2

我需要确保在我的服务器上,每分钟最大的新ssh连接不超过5。

代码语言:javascript
复制
sudo /sbin/iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 5 -j REJECT

以上IPtables规则适用于我,但一分钟后不允许新连接。

有什么建议吗?如何做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-04 15:06:39

代码语言:javascript
复制
# SSH Anti-Bruteforce
# Next create a limiting rule. I limit to 3 hits in 60 seconds for ssh with this
/sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
/sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ssh-whitelist
/sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 --rttl --name SSH -j LOG --log-level info --log-prefix "Anti SSH-Bruteforce: "
/sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 --rttl --name SSH -j DROP
票数 6
EN

Stack Overflow用户

发布于 2013-09-04 14:31:48

像这样的bash脚本应该可以做到这一点:

代码语言:javascript
复制
#!/bin/bash
# Window of time in seconds
SECS=100
# Max connections per IP
MAXCONN=10
/sbin/iptables -A INPUT -p tcp --syn --dport 22 -m state --state NEW -m recent --set
/sbin/iptables -A INPUT -p tcp --syn --dport 22 -m state --state NEW -m recent --update --seconds ${SECS} --hitcount ${MAXCONN} -j DROP

这是一个用于阻止蛮力SSH攻击的公共规则集的迭代。第一个规则确保将连接的IP地址添加到监视列表中。第二条规则告诉iptables检查监视列表,如果超过hitcount,则丢弃流量。

这是你想要的吗?不确定你是在寻找5个IP的最大连接,还是所有IP的5个总连接,这不一定是个好主意。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18616246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档