一、身份鉴别
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天提示修改
</code>
</pre>
![](http://static.51tbox.com/static/2024-12-03/col/6f25d29420d8bd3cff387f2994ebf779/87be1c0de5fb40ecbd1a2ae48b18a2f8.aspx.jpg)
② 、口令复杂度
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
</code>
</pre>
| **参数** | **说明** |
|---------|--------|
| retry | 尝试次数 |
| difok | 最少不同字符 |
| minlen | 最小密码长度 |
| ucredit | 最少大写字母 |
| lcredit | 最少小写字母 |
| dcredit | 最少数字 |
| ocredit | 最少特殊符号 |
![](http://static.51tbox.com/static/2024-12-03/col/6f25d29420d8bd3cff387f2994ebf779/9d54d456aad643bbab9cc73dcdf1015d.aspx.jpg)
除此之外,口令复杂度还可通过/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
</code>
</pre>
备注: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
</code>
</pre>
② 、限制ssh本地登录次数
vim /etc/pam.d/sshd
在第二行增加如下内容:
auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=600
</code>
</pre>
| 参数 | 说明 |
|------------------|----------------------------------------|
| 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 #使配置生效
</code>
</pre>
![](http://static.51tbox.com/static/2024-12-03/col/6f25d29420d8bd3cff387f2994ebf779/ada90250c63348fea616009bc1e2d48c.aspx.jpg)
这样,如果系统中登录的用户在 3 分钟内都没有动作,那么系统会自动注销这个账户。
② 、ssh连接超时
通过修改ssh的配置文件 /etc/ssh/sshd_config我们同样也可以实现超时自动登出功能,具体如下:
vim /etc/ssh/sshd_config
ClientAliveInterval 90
ClientAliveCountMax 2
# systemctl restart sshd #重启服务使配置生效
</code>
</pre>
![](http://static.51tbox.com/static/2024-12-03/col/6f25d29420d8bd3cff387f2994ebf779/34863df0dfe2456a90853146e309f746.aspx.jpg)
这种方法对除了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
![](http://static.51tbox.com/static/2024-12-03/col/6f25d29420d8bd3cff387f2994ebf779/106ca2febb634affbd9899b5d5597f25.aspx.jpg)
备注: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 #重启服务使配置生效
</code>
</pre>
![](http://static.51tbox.com/static/2024-12-03/col/6f25d29420d8bd3cff387f2994ebf779/55e36bb4d2ef43c8bdda2aefc313ca77.aspx.jpg)