1
用户账户
1.1
检查是否存在无用账户
1.1.1
说明
检查当前系统是否存在无用账户、可疑账户,及时进行禁用或者删除,可防止系统被黑
客所创建的账户登录或遭到黑客暴力破解。
1.1.2
检查方法
1)
在终端中输入命令:
[root@localhost ~]# more /etc/passwd
2)
根据显示结果检查是否存在异常账户
1.1.3
修改建议
1)
文件的每一行内容含义为:
用户名:密码保留字段:用户
uid
:用户组
gid
:个人资料:主目录:登录
Shell
2)
其中主要查看用户
uid
字段,默认系统用户
uid
中,
root
为
0
;系统用户为
1-999
;
普通用户为
1000-65535
;应保证只有
root
用户的
uid
为
0
,并检查有无其他可疑账
户,及时进行删除或禁用。
3)
相关命令:
账户删除命令:
[root@localhost ~]# userdel -r
用户名
锁定账户命令:
[root@localhost ~]# usermod -L
用户名
解锁账户命令:
[root@localhost ~]# usermod -U
用户名
1.2
设置账户口令复杂度
1.2.1
说明
为了保证之后所创建的账号每个账号的口令复杂度均满足实际所需,需更改相应的配置
达到效果。
1.2.2
检查方法
1)
在终端中输入命令:
[root@localhost ~]# more /etc/security/
6
2)
根据显示结果检查相关项是否未被备注或数值不等于
0
3) difok
代表不得与上次密码相同的字符个数;
minlen
为密码最小长度;
dcredit
为密码中最少包含数字的个数;
ucredit
为密码中最少包含大写字母的个数;
lcredit
为密码中最少包含小写字母的个数;
ocredit
为密码中最少包含特殊字符的个数;
maxrepeat
为密码中相同字符出现最多的次数;
usercheck
为检测密码是否与用户名相似。
1.2.3
修改建议
1)
使用
vim
编辑器修改口令复杂度文件:
[root@localhost ~]# vim /etc/security/
2)
修改检查方法中所提的项,数值为
-1
时代表至少需要相应字符一位、数值为
-2
时
代表需要需要相应字符两位,依次类推。
3)
修改例子:(密码最小长度为
8
位,密码需包含大小写字母、数字与特殊字符)
minlen = 8
dcredit = -1
ucredit = -1
lcredit = -1
ocredit = -1
1.3
设置当前已存在账户的密码有效期
1.3.1
说明
定期更改密码有助于提高账户的安全性,设置合理的密码有效期是此项的目的。
1.3.2
检查方法
1)
在终端中输入命令:
[root@localhost ~]# chage -l
用户名
2)
根据显示结果检查密码有效期
1.3.3
修改建议
1)
根据需求设置密码有效期
2)
在终端中输入命令:
#
设置密码最长有效期为
90
天
7
8
[root@localhost ~]# chage -M 90
用户名
#
设置密码最短有效期为
1
天
[root@localhost ~]# chage -m 1
用户名
#
设置密码过期前
3
天提醒用户
[root@localhost ~]# chage -W 3
用户名
1.4
设置未来新账户的密码有效期
1.4.1
说明
通过之前的命令只可更改当前已存在的账户的密码有效期,为了保障以后新建立的账户
也可遵循相应的密码有效期规则,需要修改相应的配置文件。
1.4.2
检查方法
1)
在终端中输入命令:
[root@localhost ~]# more /etc/
2)
根据显示结果检查密码有效期
1.4.3
修改建议
1)
使用
vim
编辑器修改密码有效期文件:
[root@localhost ~]# vim /etc/
2) PASS_MAX_DAYS
后数值为密码最长有效期
PASS_MIN_DAYS
后数值为密码最短有效期
PASS_WARN_AGE
后数值为密码过期前告警天数
3)
修改例子:(设置密码最长有效期为
90
天,最短有效期为
1
天,过期前
3
天提醒)
PASS_MAX_DAYS 90
PASS_MIN_DAYS 1
PASS_WARN_AGE 3
1.5
账户登陆失败锁定
1.5.1
说明
为防止遭受恶意暴力破解,设置账户登录尝试次数并进行锁定,有效保护账户的安全。
1.5.2
检查方法
1)
在终端中输入命令:
[root@localhost ~]# more /etc//system-auth
2)
检查是否存在如下内容:
auth required pam_faillock.so preauth audit deny=3 even_deny_root unlock_time=60
3)
其中:
deny=
为登陆失败尝试次数
even_deny_root
为
root
账户登录达到失败次数也会锁定
unlock_time=
为锁定时长,以秒为单位
1.5.3
修改建议
1)
使用
vim
编辑器修改账户策略文件:
[root@localhost ~]# vim /etc//system-auth
2)
修改例子:(设置登录失败尝试次数为
5
,锁定时长为
5
分钟,包含
root
账户)
auth required pam_faillock.so preauth audit deny=5 even_deny_root unlock_time=300
2
系统服务类
2.1
更改
SSH
端口
2.1.1
说明
更改
SSH
默认端口可在一定程度上防止被黑客使用大批量扫描方式攻击。
2.1.2
检查方法
1)
在终端中输入命令:
[root@localhost ~]# more +Port /etc/ssh/sshd_config
2)
根据显示结果检查
SSH
服务端口设置
2.1.3
修改建议
1)
使用
vim
编辑器修改
SSH
配置文件:
[root@localhost ~]# vim /etc/ssh/sshd_config
2)
找到或添加以下内容:
Port
端口号
3)
端口号可配置为
1-65535
的任意端口,但应避免端口重复使用。
2.2
限制
SSH
服务可访问源
2.2.1
说明
通过修改
SSH
的配置文件限制可以使用
SSH
服务远程管理的主机。
9
10
2.2.2
检查方法
1)
在终端中输入命令:
[root@localhost ~]# more /etc/
[root@localhost ~]# more /etc/
2)
根据显示结果检查
SSH
服务可访问源地址
2.2.3
修改建议
1)
使用
vim
编辑器修改
hosts
限制文件:
[root@localhost ~]# vim /etc/
sshd:ALL
[root@localhost ~]# vim /etc/
sshd:ip 地址或地址段
2.3
限制
SSH
登录用户与登录方式
2.3.1
说明
通过限制使用
SSH
直接以
root
身份登录,禁用公钥登录的方式加强
SSH
服务的安全性。
2.3.2
检查方法
1)
在终端中输入命令:
[root@localhost ~]# more /etc/ssh/sshd_config
2) PermitRootLogin
为是否允许以
root
用户直接登录
PubkeyAuthentication
为是否允许使用公钥方式登录
PasswordAuthentication
为使用密码方式登录
2.3.3
修改建议
1) vim
编辑器修改
SSH
配置文件:
[root@localhost ~]# vim /etc/ssh/sshd_config
2)
找到或添加以下内容:
PermitRootLogin no
PubkeyAuthentication no
PasswordAuthentication yes
2.4
禁用不必要的服务
2.4.1
说明
关闭当前不需要的服务,以防止黑客通过相关服务的漏洞入侵主机。
2.4.2
检查方法
1)
在终端中输入命令:
[root@localhost ~]# systemctl list-until-files --type=service --state=enabled
2)
根据显示结果检查是否存在多余的服务项
2.4.3
修改建议
1)
正常纯净系统下,以下为默认自启动的服务:
autovt@.service
.
.
.
.
getty@.service
11
lm_sensors.service
2)
如存在其他多余启动项则可使用命令进行关闭:
[root@localhost ~]# systemctl disable --now
服务项