购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 密码安全

密码是Linux用来校验用户身份的首要方法。因此保护密码的安全对于用户、局域网以及整个网络来说都非常重要。近几年来,弱密码导致的安全事件越来越多,密码安全变得愈加重要。

1.2.1 设置密码生存期

风险分析 如果用户的密码被破解且经常用于登录,那么该用户的个人隐私就有被泄露的风险;若该用户经常修改密码,这种风险就会相应降低很多,可以起到及时止损的作用。

加固详情 设置密码生存期,可以对密码的有效期、到期提示天数、最小密码长度等进行设置。

加固步骤 编辑文件/etc/login.defs,密码生存期参数如表1-1所示。

表1-1 密码生存期参数

1.2.2 设置密码复杂度

风险分析 简单的密码很容易被攻击者使用数据字典破解,加大密码的复杂度,可以增加攻击者破解的难度。想要从根本上防范暴力破解,还需要结合其他的防御手段。

加固详情 对密码的复杂度进行设置。

加固步骤 编辑文件/etc/pam.d/system-auth,在文件中增加以下内容,密码复杂度参数如表1-2所示。

password    requisite     pam_pwquality.so try_first_pass retry=5 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minlen=8

表1-2 密码复杂度参数

1.2.3 确保加密算法为SHA-512

风险分析 使用弱加密算法加密的密码被拦截或者泄露后很容易被破解,所以使用安全的加密算法非常有必要,常见的不安全的加密算法有MD5、SHA-1等,为保证安全,推荐使用SHA-512。

加固详情 使用安全的加密算法。

加固步骤 编辑文件/etc/pam.d/password-auth和/etc/pam.d/system-auth,并添加以下内容。

password sufficient pam_unix.so sha512

配置加密算法为SHA-512,如图1-2所示。

图1-2 配置加密算法为SHA-512

1.2.4 确保/etc/shadow密码字段不为空

风险分析 空密码登录系统是非常危险的,可导致绕过认证鉴权访问系统。

加固详情 确保/etc/shadow密码字段不为空。

加固步骤 执行命令awk-F: '($2=="" ) { print $1 " does not have a password "}' /etc/shadow,返回值即密码字段为空的用户,然后执行命令 passwd username为空密码用户设置密码。相关示例如下。

检查发现用户test的密码字段为空;

[root@centos7~]# awk-F: '($2=="" ) { print $1 " does not have a password "}' /etc/shadow  #查询空密码用户
test does not have a password

给test用户设置密码。(如果用户不使用密码,可以直接删除。) gacJ02SWOUKlOqzelbEG1DvkqolWnr/JutjVOyvO9aCSTBs6yO2CGKYW7oz5jsEr

[root@centos7~]# passwd test
Changing password for user test.
New password:
passwd: all authentication tokens updated successfully.
点击中间区域
呼出菜单
上一章
目录
下一章
×