银河麒麟高级服务器操作系统 V10 加固

时间:2025-03-31 10:46:06
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 服务项