家里路由器后台被反复尝试登录?服务器日志里一堆陌生IP在扫SSH端口?这些很可能不是偶然,而是有人正用暴力工具批量探测你的开放端口。这时候,光靠改密码、关端口还不够——得给每个服务设个“进门人数上限”,也就是最大连接数限制。
为什么连上来的数量要管?
一个Web服务(比如Nginx)默认可能允许几百个并发连接,但攻击者会用脚本瞬间发起上千次连接请求,占满资源,导致正常用户打不开网页,这就是典型的连接耗尽型攻击。再比如,某台Linux服务器只开SSH供运维用,结果每天收到上万次失败登录尝试,CPU和带宽全被无效连接吃掉——这不单是烦,更是安全隐患。
常见服务怎么配最大连接数?
以Linux系统为例:
1. iptables 配合 connlimit 限同一IP的并发连接数(适合防护SSH、HTTP等):
iptables -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 3 -j REJECT --reject-with tcp-reset这条命令的意思是:对目标端口22(SSH),同一个IP最多只允许3个并发连接,超了就直接拒绝,不给响应。
2. Nginx 配置 limit_conn 防HTTP洪水:
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
location / {
limit_conn addr 10;
}
}
}上面配置表示:每个客户端IP最多同时建立10个到该站点的连接,超过就返回503错误。
Windows系统也能做类似控制
比如IIS服务器,在「连接限制」设置里可手动指定最大并发连接数;若用Windows防火墙,可通过高级安全策略配合“连接安全规则”+“IPsec筛选器”实现源IP连接频次控制(需搭配组策略或PowerShell脚本)。
别小看这几个数字——把SSH从默认不限制改成“单IP最多2连接”,能拦下90%以上的自动爆破脚本;把网站入口从“无限连接”压到“每IP 8个”,普通CC攻击基本就卡在半路了。
实际操作前建议先查当前连接状态:netstat -an | grep :22 | wc -l(Linux查看SSH当前连接数)
或在Windows中运行:netstat -an | findstr :3389 | find /c "ESTABLISHED"(查RDP活跃连接)
心里有底,再调参数,不盲目砍太狠,避免误伤自己或同事的合法访问。