一、身份鉴别
a)应对登录的用户进行身份标识和鉴别
身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换。
参考配置操作:
①、口令过期时间
vim /etc/login.defs
修改下列参数为建议值
PASS_MAX_DAYS 90 #密码有效期为90天
PASS_MIN_DAYS 1 #密码最短修改时间为1天
PASS_MIN_LEN 8 #密码最小长度为8位
PASS_WARN_AGE 7 #密码过期提前7天提示修改
②、口令复杂度
vim /etc/pam.d/system-auth或/etc/pam.d/common-password
password requisite pam_cracklib.so行替换成如下:
password requisite pam_cracklib.so retry=6 difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
参数 | 说明 |
retry | 尝试次数 |
difok | 最少不同字符 |
minlen | 最小密码长度 |
ucredit | 最少大写字母 |
lcredit | 最少小写字母 |
dcredit | 最少数字 |
ocredit | 最少特殊符号 |
除此之外,口令复杂度还可通过/etc/security/pwquality.conf文件实现,三种复杂度满足一种即可。
同理使用vim命令修改其配置文件:
参数 | 说明 |
minlen=N | 定义用户密码的最小长度; |
dcredit=N | 定义用户密码中必须包含多少个数字; |
ucredit=N | 定义用户密码中必须包含多少个大写字母; |
lcredit=N | 定义用户密码中必须包含多少个小写字母; |
ocredit=N | 定义用户密码中必须包含多少个特殊字符(除数字、字母之外); |
其中N=-1表示至少有一个。 |
③、口令至少5次内不能重复(可选)
vim /etc/pam.d/system-auth
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5
备注:system-auth和pwquality.conf中密码复杂度优先级高于login.defs
b)应具有登录失败处理功能
应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施。
一、登录失败处理功能参考配置操作:
①、限制本地登录次数
vim /etc/pam.d/login
在第二行增加如下内容:
auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=600
②、限制ssh本地登录次数
vim /etc/pam.d/sshd
在第二行增加如下内容:
auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=600
参数 | 说明 |
even_deny_root | 也限制root用户 |
deny | 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户 |
unlock_time | 设定普通用户锁定后,多少时间后解锁,单位是秒 |
root_unlock_time | 设定root用户锁定后,多少时间后解锁,单位是秒 |
注1:必须在 #%PAM-1.0 的下面,即第二行,添加内容,一定要写在前面。如果写在后面,虽然用户被锁定,但是只要用户输入正确的密码,还是可以登录的。
注2:此处使用的是 pam_tally2 模块,如果不支持 pam_tally2 可以使用 pam_tally 模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。
二、登录超时参考配置操作:
①、通过修改账户中 TMOUT参数,可以实现此功能。编辑 /etc/profile 文件,在后面加入TMOUT值:
vim /etc/profile
TMOUT=180 #表示 180 秒
export TMOUT #设置为全局变量
# source /etc/profile #使配置生效
这样,如果系统中登录的用户在 3 分钟内都没有动作,那么系统会自动注销这个账户。
②、ssh连接超时
通过修改ssh的配置文件 /etc/ssh/sshd_config我们同样也可以实现超时自动登出功能,具体如下:
vim /etc/ssh/sshd_config
ClientAliveInterval 90
ClientAliveCountMax 2
# systemctl restart sshd #重启服务使配置生效
这种方法对除了root之外的所有用户都是90秒登录超时,自动登出。第一行表示每90秒检测一次,第二行表示检测到2次不活动就断开连接。
当然,若仅通过堡垒机管理服务器,堡垒机开启了连接服务器超时自动退出功能也可给到符合。
c)当进行远程管理时
- 应采取必要措施防止鉴别信息在网络传输过程中被窃听;
若操作系统只在本地管理或通过KVM等硬件方式管理则该项符合。在远程管理时如通过堡垒机采用SSH、HTTPS协议进行远程管理则满足本测评项要求。
若开启远程管理则需要开启ssh服务并仅通过ssh协议进行远程管理,并关闭telnet服务。
①、开启ssh服务
使用service sshd status 或者 systemctl status sshd查看ssh服务是否已开启
若未开启相应服务使用service sshd start 或 systemctl start sshd
备注:systemctl命令兼容了service
②、关闭telnet服务(若未安装telnet服务可忽略)
通过修改telnet服务的配置文件 /etc/xinetd.conf,(centos7和redhat7之前版本的配置文件为/etc/xinetd.d/telnet),需要把disable改成yes以关闭telnet服务。
vim /etc/xinetd.conf
disable = yes
# systemctl restart xinetd #重启服务使配置生效
Comments NOTHING