实用网络站
白蓝主题五 · 清爽阅读
首页  > 服务器维护

设置密码错误次数限制,提升服务器安全

公司新来的实习生小李,昨天差点把测试服务器给锁了。起因是他写脚本时把密码循环试了20次,结果账号直接被系统禁用。运维老张过来一看,笑着说:‘这不就是咱配的密码错误次数限制嘛。’

为什么需要限制密码错误次数

服务器开在外面,每天都有成千上万的暴力破解尝试。攻击者用工具自动试密码,从123456到admin123轮着来。不限制的话,再强的密码也扛不住高频试探。设个阈值,比如连续输错5次就暂时封账号,能有效拦住大部分自动化攻击。

就像你家大门,不可能让人拿一串钥匙不停试开。输错几次,要么等会儿再试,要么得找管理员,这就是基本的安全逻辑。

Linux 下常用实现方式

大多数 Linux 系统用 PAM(Pluggable Authentication Modules)来控制登录行为。要加密码错误限制,改 /etc/pam.d/sshd/etc/pam.d/login 就行。

auth required pam_tally2.so deny=5 unlock_time=600

这行配置的意思是:连续输错5次密码,账号锁定10分钟(600秒)。时间到了自动解锁,不用人工干预。

查看某个用户的失败记录,可以用:

pam_tally2 --user=username

如果想手动清空计数,加个 --reset 参数就行。

Windows 服务器怎么做

在 Windows Server 上,这个功能叫“账户锁定策略”。打开“本地安全策略”或通过域控的组策略都能设。

路径通常是:安全设置 → 账户策略 → 账户锁定策略。关键三项:

  • 账户锁定阈值:比如5次
  • 账户锁定时间:比如30分钟
  • 重置账户锁定计数器:一般设为和锁定时间一致

设完之后,用户连续输错密码超过设定次数,账号就会暂时无法登录。

别忘了例外情况

有些服务账号是自动运行的,比如数据库备份脚本用的账户。这种账号不适合加锁定策略,否则一次配置出错可能引发连锁故障。建议把这些账号加入白名单,或者单独管理。

另外,锁定策略上线前最好通知团队。不然像小李那样,调试时不注意,一跑脚本就被锁,反而耽误事。

安全和便利之间要平衡。限制太严,自己人天天被打进冷宫;不限制,等于大门敞开。合理设置,才能既防外贼又不影响正常使用。