一,密码策略

一,密码策略

编辑

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#修改password requisite pam_pwquality.so 所在行
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= 
在其后边空格添加配置minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 difok=5 enforce_for_root
#####################
参数说明负数代表最少出现次数正数代表最多出现次数

        minlen=8密码长度至少8位

        lcredit=-1至少包含一个小写字母

        ucredit=-1至少包含一个大写字母

        dcredit=-1至少包含要给数字

        ocredit=-1至少包含一个特殊字符

        difok=5新密码最多与旧密码重复5个字符

        enforce_for_root对root强制执行密码复杂度策略

更新密码策略,

1
2
#执行命令或重启
passwd --systweak

二、密码登录失败策略

redhat策略文件:远程登录失败处理。

Ubuntu策略文件:

根据系统修改两个文件都增加

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#增加auth required  pam_tally2.so模块
#例:连续3次密码错误,将解锁600秒后,包括root用户,root用户解锁600秒后
#第一种,常用方式
auth        required      pam_tally2.so deny=3  unlock_time=600 even_deny_root root_unlock_time=600

#第二种,添加lock_time(lock_time,在lock_time时间内连续输入多次密码,那么也只会被记为一次,当大于lock_time时才会被记录为多次)
auth        required      pam_tally2.so deny=3  lock_time=60 unlock_time=600 even_deny_root root_unlock_time=600

#解析:
deny=3                          连续3次失败
lock_time=60                    60秒内无论多少次错误都被记录为一次登录失败!!!(不常用)
unlock_time=600                 600秒后可以解锁
even_deny_root                  启用对root账户的登录失败处理       
root_unlock_time=600            root用户600秒后可以解锁


注:若添加lock_time,在lock_time时间内连续输入多次密码,那么也只会被记为一次,当大于lock_time时才会被记录为多次;
如果不指定lock_time,那么连短时间内多次输入错误密码,错误几次就会被记录为几次。无论是本地登录还是远程登录都是一样的结果。



#查看状态
#查看所有有用锁定状态
pam_tally2
#查看test用户的锁定状态
pam_tally2 --user test

三,密码有效期

编辑/etc/login.defs

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
(1)设置新用户密码有效期

   #vi /etc/login.defs  

#密码的最大有效期

        PASS_MAX_DAYS   90

        #是否可修改密码,多少天后可修改

        PASS_MIN_DAYS   0

        #密码最小长度,pam_pwquality设置优先

        PASS_MIN_LEN    8

        #密码失效前多少天在用户登录时通知用户修改密码

        PASS_WARN_AGE   15

        #以上设置只针对新用户生效,原来用户不生效。

 (2)通过chage命令设置老用户密码有效期

        #chage -d 0 -m 0 -M 90 -W 7 root

       #-d,上一次更改时间
       #-m,可更改的最小天数 0则任何时间都可修改
       #-M,有效天数
       #-W,到期前多少天提醒
       #root,用户名
       #这里则是有效期90天,提前7天给出过期提醒,任意时间段都可以修改密码。 当密码到期后进行ssh连接时会强制用户更改密码。

 (3)查看用户的密码信息
       #chage -l 用户名

四、禁止用户登录

1
2
3
4
5
6
7
8
#第一种方法,/etc/nologin文件配置
#1.使用除root外,禁止所有其他用户登录
touch /etc/nologin
#2.禁用test用户登录
echo 'test' > /etc/nologin


#第二种方法,修改/etc/passwd文件,修改为/sbin/nologin

五、限制sshd远程登录

白名单:

黑名单:/etc/hosts.deny

注:白名单 高于 黑名单配置的优先级

1