系统环境

  • ubuntu18.04 & 16.04

增强对服务器多用户管理,防止用户使用弱密码被爆破,使用PAM(Pluggable Authentication Modules),为系统提供口令复杂度策略检测功能。

安装PAM

  1. sudo apt install libpam-cracklib


强制复杂密码

!最好先将密码设成符合规则的密码,然后再设置密码规则,否则可能无法登陆!

配置密码策略

  1. sudo vim /etc/pam.d/common-password

找到 pam_cracklib.so retry=3 这行,在该行后面写入 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

  1. password requisite pam_cracklib.so retry=3 minlen=8 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

含义:

  • minlen=8 密码最小长度为 8
  • ucredit=-1 最少一个大写字母
  • lcredit=-1 最少一个小写字母
  • dcredit=-1 最少一个数字
  • ocredit=-1 最少一个字符

限制密码尝试次数

  1. sudo vi /etc/pam.d/sshd

在第二行添加下面内容

auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10

  • deny=3 表示限制密码错误次数为三次
  • unlock_time=5 锁定账户5秒后自动解锁
  • even_deny_root 锁定 root 账户
  • root_unlock_time=10 root账户解锁时间为 10秒

查看用户登录失败次数

  1. sudo pam_tally2 --user=username

解锁账户

  1. sudo pam_tally2 -r -u user_name

锁定账号

查看系统账号

  1. cat /etc/passwd

将不使用的账号锁定

  1. passwd l username

解锁账号

  1. passwd -u username