账户口令
实现
将系统帐户的Shell修改为/sbin/nologin。
限制使用su命令的帐户
说明
su命令用于在不同帐户之间切换。为了增强系统安全性,有必要对su命令的使用权进行控制,只允许root和wheel群组的帐户使用su命令,限制其他帐户使用。
实现
su命令的使用控制通过修改/etc/pam.d/su文件实现,配置如下:
表 1 pam_wheel.so配置项说明
说明
用户可以通过修改对应配置文件设置口令的复杂度要求,建议用户根据实际情况设置口令复杂度。
口令复杂度通过/etc/pam.d/password-auth和/etc/pam.d/system-auth文件中的pam_pwquality.so和pam_pwhistory.so模块实现。用户可以通过修改这两个模块中的配置项修改口令复杂度要求。
设置举例
这里给出一个配置口令复杂度的例子,供用户参考。
密码复杂度要求
- 口令长度至少8个字符。
口令必须包含如下至少3种字符的组合:
-至少一个小写字母
-至少一个大写字母
-至少一个数字
-至少一个特殊字符:`~!@#$%^&*()-_=+\|[{}];:’”,<.>/?和空格
口令不能和帐号或者帐号的倒写一样。
- 不能修改为过去5次使用过的旧口令。
配置实现
在/etc/pam.d/password-auth和/etc/pam.d/system-auth文件中添加如下配置内容:
配置项说明
pam_pwquality.so和pam_pwhistory.so的配置项请分别参见表2和。
表 2 pam_pwquality.so配置项说明
表 3 pam_pwhistory.so配置项说明
设置口令有效期
说明
出于系统安全性考虑,建议设置口令有效期限,且口令到期前通知用户更改口令。
实现
口令有效期的设置通过修改/etc/login.defs文件实现,加固项如所示。表中所有的加固项都在文件/etc/login.defs中。表中字段直接通过修改配置文件完成。
表 4 login.defs配置项说明所示
说明
出于系统安全考虑,口令不允许明文存储在系统中,应该加密保护。在不需要还原口令的场景,必须使用不可逆算法加密。设置口令的加密算法为sha512,openEuler默认已设置。通过上述设置可以有效防范口令泄露,保证口令安全。
口令的加密算法设置通过修改/etc/pam.d/password-auth和/etc/pam.d/system-auth文件实现,添加如下配置:
表 5 pam_unix.so配置项说明
登录失败超过三次后锁定
说明
为了保障用户系统的安全,建议用户设置口令出错次数的阈值(建议3次),以及由于口令尝试被锁定用户的自动解锁时间(建议300秒)。
用户锁定期间,任何输入被判定为无效,锁定时间不因用户的再次输入而重新计时;解锁后,用户的错误输入记录被清空。通过上述设置可以有效防范口令被暴力破解,增强系统的安全性。
实现
口令复杂度的设置通过修改/etc/pam.d/password-auth和/etc/pam.d/system-auth文件实现,设置口令最大的出错次数3次,系统锁定后的解锁时间为300秒的配置如下:
表 6 pam_faillock.so配置项说明
说明
为了增强系统安全性,防止使用“su”切换用户时将当前用户环境变量带入其他环境,openEuler默认已做配置。总是在使用su切换用户时初始化PATH。