一、系统账号清理

在 Linux 系统中,除了超级用户 root 之外,还有其他大量账号只是用来维护系统运作、启动或保持服务进程,一般是不允许登录的,因此也称为非登录用户账号。为了确保系统的安全,这些用户账号的登录 Shell 通常被设为/sbin/nologin,表示禁止终端登录。

对于 Linux 服务器中长期不用的用户账号,若无法确定是否应该删除,可以暂时将其锁定(具体操作可参照账户管理篇https://blog.51cto.com/14449521/2430270)。
如果服务器中的用户账号已经固定,不再进行更改,还可以采取锁定账号配置文件的方法。如图我们执行“chattr +i /etc/passwd /etc/shadow”命令锁定账号文件,在执行“lsattr /etc/passwd /etc/shadow”命令可以看到找文件已锁定,无法添加其他用户。
CentOS 7系统安全之账号安全_第1张图片
如果锁定了账号文件后需要添加新的用户,可以执行“chattr -i /etc/passwd /etc/shadow”命令解锁账号文件即可添加去创建新的用户了。
CentOS 7系统安全之账号安全_第2张图片

二、密码安全控制

1、在不安全的网络环境中,为了降低密码被猜出或被暴力破解的风险,用户应养成定期更改密码的习惯,避免长期使用同一个密码。管理员可以在服务器端限制用户密码的最大有效天数,对于密码已过期的用户,登录时将被要求重新设置密码,否则将拒绝登录。
如图我们执行“vim /etc/login.defs”命令进入配置文件将密码有效期设为30天。

CentOS 7系统安全之账号安全_第3张图片
下面我们创建用户新用户然后执行“vim /etc/shadow”命令查看一下新用户的密码有效期。
CentOS 7系统安全之账号安全_第4张图片
2、然而针对已有的用户我们可以执行“chage -M 30 wangwu”命令来修改已有账号的密码有效期。
CentOS 7系统安全之账号安全_第5张图片
3、在某些特殊情况下,如要求批量创建的用户初次登录时必须自设密码,根据安全规划统一要求所有用户更新密码等,可以由管理员执行强制策略,以便用户在下次登录时必须更改密码。如图我们执行“chage -d 0 wangwu”命令要求该用户下一次登录时重设密码。
CentOS 7系统安全之账号安全_第6张图片

三、命令历史限制

Shell 环境的命令历史机制为用户提供了极大的便利,但另一方面也给用户带来了潜在的风险。只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在命令行输入明文的密码,则无意之中服务器的安全壁垒又多了一个缺口。
如图我们执行“vim /etc/profile”命令进入配置文件修改HISTSIZE 变量值,即可修改历史命令记录,再执行“source /etc/profile”命令生效环境变量即可。
CentOS 7系统安全之账号安全_第7张图片
下面我们来执行“history”命令查看一下历史命令记录。
CentOS 7系统安全之账号安全_第8张图片

四、终端自动注销

Bash 终端环境中,还可以设置一个闲置超时时间,当超过指定的时间没有任何输入时即自动注销终端,这样可以有效避免当管理员不在时其他人员对服务器的误操作风险。闲置超时由变量 TMOUT 来控制,默认单位为秒(s)。 

如图我们执行“vim /etc/profile”命令进入配置文件修改闲置超时由变量 TMOUT,再执行“source /etc/profile”命令生效环境变量即可。
CentOS 7系统安全之账号安全_第9张图片

下一篇我们将学习CentOS 7之用户切换与提权,尽请期待!