服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-08-26 更新于 2026-08-26 简米科技 3,536 字 8 分钟阅读

如何设置服务器登录失败锁定策略防暴力破解?服务器安全配置

导读服务器登录失败锁定策略是抵御暴力破解最直接、成本最低的第一道防线,通过限制单位时间内的失败尝试次数,能有效切断绝大多数自动化攻击的成功路径,暴力破解并不高明,但至今仍是服务器被入侵的头号原因,攻击者拿着密码字典,用脚本对SSH、RDP、数据库端口发起海量登录请求,只要密码简单,或者没有限制尝试次数,破门而入只是……

服务器登录失败锁定策略是抵御暴力破解最直接、成本最低的第一道防线,通过限制单位时间内的失败尝试次数,能有效切断绝大多数自动化攻击的成功路径。

暴力破解并不高明,但至今仍是服务器被入侵的头号原因,攻击者拿着密码字典,用脚本对SSH、RDP、数据库端口发起海量登录请求,只要密码简单,或者没有限制尝试次数,破门而入只是时间问题,作为服务器管理者,你需要一套完整的锁定策略,而不是裸奔着把密码交给命运。

为什么暴力破解如此难缠

攻击者的武器库非常朴素:弱口令字典、撞库得到的真实密码组合、以及扫描全网IP的自动化工具,据统计,一台暴露在公网上的Linux服务器,每天平均会收到来自全球数百个IP的数千次SSH登录尝试,这些流量不会在防火墙日志里留下明显的攻击特征,看起来只是“密码输错了”。

攻击者最怕什么

攻击者不怕复杂的密码,因为字典里有成千上万的组合,他们最怕的是时间成本突然变高,当你设置了登录失败锁定,每次试探错误后需要等待解锁,或者IP被临时封禁,攻击脚本的速率就会骤降,几千次尝试原本几分钟跑完,现在需要几天甚至几周,攻击者会果断放弃,转向下一个更软的目标。

锁定策略的本质是提高攻击成本

行业共识认为,安全防护的本质是成本博弈,锁定策略不是让攻击者无法尝试,而是让尝试变得极其昂贵,通过失败次数阈值、锁定时间、重置计数器这三个参数的组合,你可以在不影响正常用户的前提下,把暴力破解的成功率压低到可以忽略不计。

服务器登录失败锁定策略怎么设置才有效

不同操作系统、不同登录入口,锁定策略的落地方式完全不同,你需要同时覆盖系统层和业务层,只做一个端口远远不够。

Linux服务器防暴力破解锁定策略配置指南

Linux服务器目前最主流的攻击入口是SSH端口,配置锁定策略有两种途径:系统自带的PAM模块,以及第三方工具fail2ban。

第一种:使用PAM的faillock模块

这是CentOS/RHEL系列自带的方案,无需安装额外软件,修改

如何设置服务器登录失败锁定策略防暴力破解?服务器安全配置

/etc/pam.d/system-auth/etc/pam.d/password-auth,在auth段落中增加以下配置:

auth required pam_faillock.so preauth audit deny=5 unlock_time=300
auth sufficient pam_unix.so
auth required pam_faillock.so authfail audit deny=5 unlock_time=300

deny=5代表连续失败5次即锁定,unlock_time=300代表锁定300秒,配置完成后,用cat /var/log/faillock可以查看锁定记录,用faillock --user username --reset可以手动解锁。

第二种:使用fail2ban结合防火墙封禁IP

fail2ban的思路不是锁定账号,而是封禁来源IP,安装后修改/etc/fail2ban/jail.local

[sshd]
enabled   = true
port      = ssh
maxretry  = 5
bantime   = 3600

这表示同一个IP尝试SSH登录失败5次后,防火墙封禁该IP一小时。findtime参数用来设置计数窗口,比如findtime=600代表10分钟内的失败次数达到5次才触发封禁,业内专家指出,fail2ban最大的优势在于打击面更精准,它直接切断了攻击者的网络连接,而不是让你在服务器本机等待解锁倒计时。

Windows服务器账户锁定策略在哪里设置

Windows服务器的RDP远程桌面同样是暴力破解的重灾区,通过本地组策略编辑器配置:

  1. Win + R输入gpedit.msc,回车。
  2. 依次展开“计算机配置” → “Windows设置” → “安全设置” → “账户策略” → “账户锁定策略”。
  3. 双击“账户锁定阈值”,设置为5次无效登录
  4. 双击“账户锁定时间”,设置为15分钟
  5. 双击“重置账户锁定计数器”,设置为15分钟

三个参数必须配合使用,且锁定时间必须大于等于计数器重置时间,Windows的专业版和服务器版默认禁用该策略,如果你用的是家庭版系统,需要通过secpol.msc(本地安全策略)进入同样的路径进行设置。

业务层和应用层的锁定策略

如何设置服务器登录失败锁定策略防暴力破解?服务器安全配置

只锁服务器的SSH和RDP还远远不够,你的Web后台、数据库管理面板、FTP服务都暴露在攻击面中,攻击者一旦发现你屏蔽了22端口和3389端口,会立刻转向扫描这些业务端口。

Web管理后台的登录保护

以常见的WordPress和各类CMS为例,登录接口wp-login.php/admin路径经常被脚本批量尝试,配置思路与fail2ban一致:同一IP在10分钟内失败超过3次,禁止该IP访问登录页面半小时,多数Web应用防火墙(WAF)和云服务商的安全组都提供现成的规则模板,直接启用即可,顺便提一句,服务器安全加固服务的费用通常在几百到几千元不等,但自己动手配置半小时就能搞定基础防护,这笔钱并非必须花。

数据库端口的防护

MySQL的3306端口、Redis的6379端口如果暴露在公网,等于把数据库裸奔在攻击者面前,正确的做法是:

  • 通过防火墙限制数据库端口只允许内网IP访问。
  • 如果业务必须公网访问,务必开启SSL加密和IP白名单。
  • 数据库账号同样适用失败锁定机制,但要注意,数据库层面的锁定会因为并发连接数限制引发新的风险,建议优先在网络层拦截。

锁定策略的坑和边界

很多人在配置锁定策略时用力过猛,结果把自己锁在门外,一个典型场景是:你设置了deny=3且锁定期长达一小时,结果因手误输错一次密码,加上同事的合法登录失败,十分钟内账号被锁,紧急事故处理通道直接关闭。

误锁风险如何规避

第一,阈值不能太低。5次失败是比较折中的选择,既能拦住脚本,又给正常输入错误留出空间,第二,管理员账号需要另行处理,Linux下,root账号建议使用unlock_time=900,但不要与其他普通用户共用同一套严格策略,第三,开启白名单,你的办公网IP、跳板机IP应设置为永久放行,完全绕过锁定逻辑。

锁定策略的固有缺陷

锁定策略并非万能,攻击者如果控制了大量僵尸IP,可以做到每个IP只尝试几次,你的锁定策略根本无法触发,还有更极端的情况:攻击者故意用你的域名邮箱注册大量账号并持续输错密码,诱导操作系统锁定这些账号,造成拒绝服务,这种情况下,PAM和fail2ban全部失灵,你必须借助云服务商的DDoS防护和安全组策略来遏制。

如何设置服务器登录失败锁定策略防暴力破解?服务器安全配置

纵深防御才是最终解

锁定策略只是服务器账户安全的一个环节,密码复杂度要求、SSH密钥登录、禁用root直接登录、定期审计登录日志,这些动作必须组合使用,近年来,云服务器被暴力破解怎么办已经成为云厂商工单中最常见的问题之一,多数服务商的控制台里已经内置了“暴力破解防护”功能,例如简米云的云安全中心、酷番云的主机安全,都可以在不手动修改配置文件的前提下,通过控制台一键开启登录失败锁定。

最后说两句

真正的安全不是靠单一武器,而是让攻击者每一步都走得艰难,登录失败锁定策略就是那第一道门槛,它便宜、高效、无需学习成本,花半小时完成今天的配置,意味着你避免了未来某天半夜爬起来处理勒索病毒的概率,这笔账怎么算都不亏。

相关问题解答

服务器登录失败锁定策略会不会误锁正常用户?

会,但只要合理设置参数就可以避免,将失败阈值设在5次左右,锁定时间控制在10到30分钟,同时把办公网IP加入白名单,正常用户几乎感知不到策略的存在,真的被锁了,管理员可以通过命令行工具查看锁定来源IP和用户名,判断是误锁还是攻击行为。

fail2ban和PAM锁定哪个效果更好?

两者作用层面不同,PAM锁定的是账号本身,无论攻击者从哪个IP来,账号一旦达到失败次数就会被锁;fail2ban封锁的是IP,攻击者换个IP就能继续尝试,实际部署中两者互补,PAM负责兜底的账号保护,fail2ban负责切断攻击源,配合使用效果最佳。

云服务器配置登录锁定策略需要额外付费吗?

不需要,Linux的PAM模块和Windows的组策略都是系统内置功能,零成本,云厂商控制台的暴力破解防护功能通常包含在免费的基础安全套餐中,只有涉及日志分析和高级告警时才会收费,如果你购买服务器时选择了带安全组的基础防护套餐,一般都已经包含了该能力。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱