短期内来自您网络的失败登录过多怎么解决,fail2ban 配置 防止暴力破解

题图来自Unsplash,基于CC0协议
导读
当您的网络或服务器出现“来自您网络的失败登录过多”的提示时,通常意味着有外部攻击者(或配置错误的客户机)正在对您的服务进行暴力破解尝试。这种情况不仅会触发安全警报,还可能导致您的IP被上游服务商(如云平台、邮件服务)临时封禁。
针对这一突发问题,建议按以下步骤进行短期紧急处理和中期加固配置。
一、 紧急处置:阻断源头并验证自身
-
立即排查内部设备是否已被攻破(“肉鸡”化)
- 登录您的网关或路由器,查看“系统日志”或“安全日志”,确认大量失败的SSH、RDP或SMTP登录请求是来自内部(如某台Windows台式机、Linux服务器发往外部),还是外部发往您内部设备的。
- 如果是内部某台设备向外部疯狂发包,说明该设备可能已感染病毒或被作为跳板。立即断网该设备,并进行病毒查杀或系统重装。这是最常见的“误报”原因——您的网络IP本身是干净的,但内部有设备的程序在尝试登录别人的服务器。
-
临时更换关键服务端口(仅限SSH/RDP)
- 如果您使用的是默认端口(SSH 22, RDP 3389),可以临时改到高位端口(如 SSH 2222)。修改
/etc/ssh/sshd_config中的Port参数,然后重启服务。这一步可以瞬间规避90%的脚本扫描攻击,快速恢复服务可用性。
- 如果您使用的是默认端口(SSH 22, RDP 3389),可以临时改到高位端口(如 SSH 2222)。修改
-
检查IP白名单与来源
- 确认报错中提到的“您网络”是否包含动态IP。如果是家庭宽带,重启路由器获得新IP,可能是最快的临时解决方案。
- 如果是云服务器,登录云厂商控制台,查看“安全组”或“防火墙”的入站规则,确认是否将RDP或SSH端口对全互联网(0.0.0.0/0)开放。短期应急:只允许您当前使用的办公固定IP访问。
二、 短期技术解决:系统级锁定与自动封禁
对于Linux服务器,以下两种方案可以迅速阻止暴力破解的进行:
-
推荐:安装 Fail2Ban(自动化封禁利器)
- 安装:
apt install fail2ban(Debian/Ubuntu) 或yum install fail2ban(CentOS)。 - 配置:创建
/etc/fail2ban/jail.local,添加规则:[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log (或 /var/log/secure) maxretry = 3 # 允许失败3次 bantime = 3600 # 封禁1小时 findtime = 600 # 10分钟内 - 启动后,Fail2Ban会自动监控日志,超过失败次数的IP会被防火墙规则(iptables/nftables)直接DROP掉,效果立竿见影。这是解决“SSH/邮件服务登录失败过多”的标准答案。
- 安装:
-
备选:PAM模块限制(Linux本地账号锁定)
- 如果您不想封禁IP,只想阻止恶意用户继续尝试密码,可使用
pam_tally2或pam_faillock。 - 执行
pam_tally2 --user=用户名 --reset可以手动清零失败计数。 - 配置
/etc/pam.d/sshd,添加:auth required pam_tally2.so deny=5 unlock_time=600 even_deny_root root_unlock_time=300 - 效果:某个用户名登录失败5次后,该用户名被锁定10分钟,无论IP如何。
- 如果您不想封禁IP,只想阻止恶意用户继续尝试密码,可使用
三、 针对Windows远程桌面(RDP)的方案
Windows系统的“失败登录过多”通常是RDP漏洞扫描的目标。
-
组策略限制(本地安全策略)
- 运行
secpol.msc-> 账户策略 -> 账户锁定策略。 - 设置“账户锁定阈值”为 3-5 次无效登录。
- 设置“账户锁定时间”为 30分钟。
- 设置“重置账户锁定计数器”为 30分钟。
- 注意:此设置会将本地管理员账户也锁住,建议启用“内置管理员账户”的锁定保护策略,或者确保有控制台访问权限。
- 运行
-
Windows防火墙 + IP安全策略
- 仅允许您信任的IP列表访问 3389 端口(高级安全Windows Defender防火墙 -> 入站规则 -> 限制RDP范围)。
- 或者使用第三方工具(如
RDP Defender、Win2box),它们会像Fail2Ban一样监视事件日志,自动封禁攻击IP。
四、 专业分析与长期规避
如果攻击持续且频繁,以上措施只能治标。建议进行以下分析:
- 抓包分析: 在服务器上运行
tcpdump -i eth0 port 22或netstat -nt | grep :22 | wc -l观察并发数。如果来源IP来自海外且无业务关联,直接使用IP白名单(只允许中国地区或特定ASN访问)是最彻底的方案。 - 更换身份验证方式: 长远来看,对于SSH,应禁止密码登录,彻底转向密钥对(SSH Key)认证。修改
PasswordAuthentication no并重启sshd服务后,密码暴力破解将彻底失效,这是最安全、最省心的做法。对于RDP,强烈建议启用网络级身份验证(NLA) 并配合VPN使用。
总结一句话: 立刻排查看是否内网有肉鸡(最紧急),马上部署Fail2Ban(最有效),接着关闭SSH密码登录改用密钥(最根本)。
© 版权声明
本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com