系统安全加固2——密码有效期

  密码有效期与文章《系统安全加固1——密码复杂度》配合设置,起到强化作用。

1、环境

操作系统 :Server 8.3 (衍生自 CentOS 8.3)

2、修改系统默认密码有效期

  密码有效期的配置文件为:/etc/login.defs 。这四行内容的解释在文件中也给出了。

# Password aging controls:
#
#       PASS_MAX_DAYS   Maximum number of days a password may be used.
#       PASS_MIN_DAYS   Minimum number of days allowed between password changes.
#       PASS_MIN_LEN    Minimum acceptable password length.
#       PASS_WARN_AGE   Number of days warning given before a password expires.
#
PASS_MAX_DAYS   90
PASS_MIN_DAYS   0
PASS_MIN_LEN    8
PASS_WARN_AGE   7

这里面重要的是:

  1. 第一行:密码有效期天数(白话:过了90天,密码就失效了);
  2. 第二行:两次密码修改需要的间隔天数(此处为0,也就是可以多次修改密码)
  3. 第三行:密码最小位数,与《系统安全加固1——密码复杂度》中密码最小位数保持一致;
  4. 第四行:密码过期告警日期(此处为提前一周给出密码过期告警)

  因为我要将修改固化到Server 8.3系统中,所以我需要修改软件包来实现。/etc/login.defs文件属于shadow源码包(shadow-utils.login.defs文件)。
修改内容和上面保持一致。

3 需要注意的点

3.1 系统中直接修改

  1)在一个已经安装好的系统中,修改/etc/login.defs文件之后,并不会立即生效。
  2)在已经安装好的系统中,修改/etc/shadow文件中用户名所在行的密码有效期(将99999(永不过期)修改为其他数字时),只要用户使用到需要密码的场景,首先会弹出修改密码的提示(也就是立即生效了)。

3.2 修改shadow软件包后,重打ISO

  安装完系统、重启之后,强制需要修改密码(对普通用户,对root并没有生效)。原因是/etc/shadow中用户名后面的密码有效期数据修改了!

3.3 注意/etc/login.defs文件中开头的注释信息

 请注意,这个配置文件中的参数控制着来自shadow-utils组件的工具的行为。这些工具都没有使用PAM机制,\
 因此使用PAM的工具(如passwd命令)应该在其他地方配置。更多信息请参考/etc/pam.d/system-auth。

shadow-utils包中提供的命令(不使用PAM机制)有:

[root@localhost etc]# rpm -ql shadow-utils 
......
/usr/bin/chage
/usr/bin/gpasswd
/usr/bin/lastlog
/usr/bin/newgidmap
/usr/bin/newgrp
/usr/bin/newuidmap
/usr/bin/sg
/usr/sbin/adduser
/usr/sbin/chgpasswd
/usr/sbin/chpasswd
/usr/sbin/groupadd
/usr/sbin/groupdel
/usr/sbin/groupmems
/usr/sbin/groupmod
/usr/sbin/grpck
/usr/sbin/grpconv
/usr/sbin/grpunconv
/usr/sbin/newusers
/usr/sbin/pwck
/usr/sbin/pwconv
/usr/sbin/pwunconv
/usr/sbin/useradd
/usr/sbin/userdel
/usr/sbin/usermod
/usr/sbin/vigr
/usr/sbin/vipw
......

4 测试用例点

1)密码有效期过后,强制修改密码(此处可以通过改短有效期时间来测试)
2)密码过期提示不满足7天之内,没有提示
3)密码过期提示满足7天之内,显示提示信息

此篇内容已经在Server 8.3上进行过验证!

posted @ 2021-08-23 16:46  streamlet_hy  阅读(97)  评论(0编辑  收藏  举报  来源