目录
1
安全服务
………………………………………………………………………………………………………………………..1
1.1
检查是否关闭不必要的服务和端口
……………………………………………………………………… 1
1.1.1
说明
………………………………………………………………………………………………………….. 1
1.1.2
检查方法
…………………………………………………………………………………………………… 1
1.1.3
修改建议
…………………………………………………………………………………………………… 1
1.2
检查是否禁用不必要的系统服务
…………………………………………………………………………. 1
1.2.1
说明
………………………………………………………………………………………………………….. 1
1.2.2
检查方法
…………………………………………………………………………………………………… 1
1.2.3
修改建议
…………………………………………………………………………………………………… 1
1.3
禁止匿名
WU-FTP
用户登录
……………………………………………………………………………….. 2
1.3.1
说明
………………………………………………………………………………………………………….. 2
1.3.2
检查方法
…………………………………………………………………………………………………… 2
1.3.3
修改建议
…………………………………………………………………………………………………… 2
1.4
禁止匿名
VSFTP
用户登录
………………………………………………………………………………….. 2
1.4.1
说明
………………………………………………………………………………………………………….. 2
1.4.2
检查方法
…………………………………………………………………………………………………… 2
1.4.3
修改建议
…………………………………………………………………………………………………… 2
1.5
开启
ssh
服务
………………………………………………………………………………………………………. 3
1.5.1
说明
………………………………………………………………………………………………………….. 3
1.5.2
检查方法
…………………………………………………………………………………………………… 3
1.5.3
修改建议
…………………………………………………………………………………………………… 3
1.6
禁用
telnet
服务
…………………………………………………………………………………………………… 3
1.6.1
说明
………………………………………………………………………………………………………….. 3
1.6.2
检查方法
…………………………………………………………………………………………………… 3
1.6.3
修改建议
…………………………………………………………………………………………………… 3
1.7
禁止
root
登录
VSFTP…………………………………………………………………………………………..4
1.7.1
说明
………………………………………………………………………………………………………….. 4
1.7.2
检查方法
…………………………………………………………………………………………………… 4
1.7.3
修改建议
…………………………………………………………………………………………………… 4
1.8
禁止
root
登录
WU-FTP………………………………………………………………………………………..4
1.8.1
说明
………………………………………………………………………………………………………….. 4
1.8.2
检查方法
…………………………………………………………………………………………………… 4
1.8.3
修改建议
…………………………………………………………………………………………………… 5
1.9 SSH
登录前
banner
设置
………………………………………………………………………………………..5
1.9.1
说明
………………………………………………………………………………………………………….. 5
1.9.2
检查方法
…………………………………………………………………………………………………… 5
1.9.3
修改建议
…………………………………………………………………………………………………… 5
1.10
检查是否设置
ssh
成功登录后
Banner………………………………………………………………… 6
1.10.1
说明
………………………………………………………………………………………………………… 6
1.10.2
检查方法
…………………………………………………………………………………………………. 6
1.10.3
修改建议
…………………………………………………………………………………………………. 6
1.11
检查
telnet Banner
设置
………………………………………………………………………………………6
1.11.1
说明
………………………………………………………………………………………………………….6
1.11.2
检查方法
…………………………………………………………………………………………………. 6
1.11.3
修改建议
…………………………………………………………………………………………………. 7
1.12 telnet
登录后的信息设置
…………………………………………………………………………………….. 7
1.12.1
说明
………………………………………………………………………………………………………… 7
1.12.2
检查方法
…………………………………………………………………………………………………. 7
1.12.3
修改建议
…………………………………………………………………………………………………. 7
1.13 Telnet
未禁用
root
登录
………………………………………………………………………………………..8
1.13.1
说明
………………………………………………………………………………………………………… 8
1.13.2
检查方法
…………………………………………………………………………………………………. 8
1.13.3
修改建议
…………………………………………………………………………………………………. 8
1.14 SSH
未禁用
root
登录
…………………………………………………………………………………………. 8
1.14.1
说明
………………………………………………………………………………………………………… 8
1.14.2
检查方法
…………………………………………………………………………………………………. 8
1.14.3
修改建议
…………………………………………………………………………………………………. 8
1.15 SSH
未设置安全协议
…………………………………………………………………………………………..9
1.15.1
说明
………………………………………………………………………………………………………… 9
1.15.2
检查方法
…………………………………………………………………………………………………. 9
1.15.3
修改建议
…………………………………………………………………………………………………. 9
1.16 SSH
日志等级未加固
…………………………………………………………………………………………..9
1.16.1
说明
………………………………………………………………………………………………………… 9
1.16.2
检查方法
…………………………………………………………………………………………………. 9
1.16.3
修改建议
……………………………………………………………………………………………….. 10
1.17 SSH
失败尝试次数未配置
………………………………………………………………………………….10
1.17.1
说明
………………………………………………………………………………………………………. 10
1.17.2
检查方法
……………………………………………………………………………………………….. 10
1.17.3
修改建议
……………………………………………………………………………………………….. 10
1.18 SSH
未禁用空密码用户登录
………………………………………………………………………………10
1.18.1
说明
………………………………………………………………………………………………………. 10
1.18.2
检查方法
……………………………………………………………………………………………….. 10
1.18.3
修改建议
……………………………………………………………………………………………….. 11
1.19 SSH
未禁用环境处理
………………………………………………………………………………………… 11
1.19.1
说明
………………………………………………………………………………………………………. 11
1.19.2
检查方法
……………………………………………………………………………………………….. 11
1.19.3
修改建议
……………………………………………………………………………………………….. 11
1.20 SSH
强加密算法未开启
……………………………………………………………………………………..11
1.20.1
说明
………………………………………………………………………………………………………. 11
1.20.2
检查方法
……………………………………………………………………………………………….. 12
1.20.3
修改建议
……………………………………………………………………………………………….. 12
2
风险账户
…………………………………………………………………………………………………………………….. 12
2.1
空口令账号加固
………………………………………………………………………………………………… 12
2.1.1
说明
………………………………………………………………………………………………………… 12
2.1.2
检查方法
…………………………………………………………………………………………………. 12
2.1.3
修改建议
…………………………………………………………………………………………………. 12
2.2
系统账号登录限制
…………………………………………………………………………………………….. 13
2.2.1
说明
………………………………………………………………………………………………………… 13
2.2.2
检查方法
…………………………………………………………………………………………………. 13
2.2.3
修改建议
…………………………………………………………………………………………………. 13
2.3
加固
uid
为
0
除
root
之外的帐户
……………………………………………………………………….. 13
2.3.1
说明
………………………………………………………………………………………………………… 13
2.3.2
检查方法
…………………………………………………………………………………………………. 13
2.3.3
修改建议
…………………………………………………………………………………………………. 13
2.4
锁定与设备运行和维护无关的账户
…………………………………………………………………….14
2.4.1
说明
………………………………………………………………………………………………………… 14
2.4.2
检查方法
…………………………………………………………………………………………………. 14
2.4.3
修改建议
…………………………………………………………………………………………………. 14
3
密码强度
…………………………………………………………………………………………………………………….. 14
3.1
系统开启密码复杂度策略
………………………………………………………………………………….. 14
3.1.1
说明
………………………………………………………………………………………………………… 14
3.1.2
检查方法
…………………………………………………………………………………………………. 14
3.1.3
修改建议
…………………………………………………………………………………………………. 15
3.2
系统密码复杂度配置
…………………………………………………………………………………………. 15
3.2.1
说明
………………………………………………………………………………………………………… 15
3.2.2
检查方法
…………………………………………………………………………………………………. 15
3.2.3
修改建议
…………………………………………………………………………………………………. 15
3.3
口令生命周期加固
…………………………………………………………………………………………….. 16
3.3.1
说明
………………………………………………………………………………………………………… 16
3.3.2
检查方法
…………………………………………………………………………………………………. 16
3.3.3
修改建议
…………………………………………………………………………………………………. 16
3.4
口令最小长度加固
…………………………………………………………………………………………….. 16
3.4.1
说明
………………………………………………………………………………………………………… 16
3.4.2
检查方法
…………………………………………………………………………………………………. 17
3.4.3
修改建议
…………………………………………………………………………………………………. 17
3.5
口令更改最短间隔设置
……………………………………………………………………………………… 17
3.5.1
说明
………………………………………………………………………………………………………… 17
3.5.2
检查方法
…………………………………………………………………………………………………. 17
3.5.3
修改建议
…………………………………………………………………………………………………. 17
3.6
口令过期前警告天数设置
………………………………………………………………………………….. 18
3.6.1
说明
………………………………………………………………………………………………………… 18
3.6.2
检查方法
…………………………………………………………………………………………………. 18
3.6.3
修改建议
…………………………………………………………………………………………………. 18
3.7
检查密码重复使用次数限制
………………………………………………………………………………. 18
3.7.1
说明
………………………………………………………………………………………………………… 18
3.7.2
检查方法
…………………………………………………………………………………………………. 19
3.7.3
修改建议
…………………………………………………………………………………………………. 19
4
账户锁定
…………………………………………………………………………………………………………………….. 19
4.1
口令失败尝试锁定功能开启
………………………………………………………………………………. 19
4.1.1
说明
………………………………………………………………………………………………………… 19
4.1.2
检查方法
…………………………………………………………………………………………………. 19
4.1.3
修改建议
…………………………………………………………………………………………………. 19
4.2
配置口令失败尝试锁定
……………………………………………………………………………………… 20
4.2.1
说明
………………………………………………………………………………………………………… 20
4.2.2
检查方法
…………………………………………………………………………………………………. 20
4.2.3
修改建议
…………………………………………………………………………………………………. 20
5
系统安全
…………………………………………………………………………………………………………………….. 21
5.1
开启系统安全功能
…………………………………………………………………………………………….. 21
5.1.1
说明
………………………………………………………………………………………………………… 21
5.1.2
检查方法
…………………………………………………………………………………………………. 21
5.1.3
修改建议
…………………………………………………………………………………………………. 21
5.2 firewalld
加固
………………………………………………………………………………………………………22
5.2.1
说明
………………………………………………………………………………………………………… 22
5.2.2
检查方法
…………………………………………………………………………………………………. 22
5.2.3
修改建议
…………………………………………………………………………………………………. 22
6
系统审计
…………………………………………………………………………………………………………………….. 23
6.1
安全日志记录配置
…………………………………………………………………………………………….. 23
6.1.1
说明
………………………………………………………………………………………………………… 23
6.1.2
检查方法
…………………………………………………………………………………………………. 23
6.1.3
修改建议
…………………………………………………………………………………………………. 23
6.2 psacct
软件加固
………………………………………………………………………………………………….. 23
6.2.1
说明
………………………………………………………………………………………………………… 23
6.2.2
检查方法
…………………………………………………………………………………………………. 23
6.2.3
修改建议
…………………………………………………………………………………………………. 23
6.3 swatch
软件加固
…………………………………………………………………………………………………. 24
6.3.1
说明
………………………………………………………………………………………………………… 24
6.3.2
检查方法
…………………………………………………………………………………………………. 24
6.3.3
安装方法
…………………………………………………………………………………………………. 24
6.4
登录日志记录配置
…………………………………………………………………………………………….. 24
6.4.1
说明
………………………………………………………………………………………………………… 24
6.4.2
检查方法
…………………………………………………………………………………………………. 24
6.4.3
修改建议
…………………………………………………………………………………………………. 24
6.5 audit
规则加固
……………………………………………………………………………………………………. 25
6.5.1
说明
………………………………………………………………………………………………………… 25
6.5.2
检查方法
…………………………………………………………………………………………………. 25
6.5.3
修改建议
…………………………………………………………………………………………………. 25
7
内核参数
…………………………………………………………………………………………………………………….. 26
7.1 icmp
重定向报文未禁止
……………………………………………………………………………………… 26
7.1.1
说明
………………………………………………………………………………………………………… 26
7.1.2
检查方法
…………………………………………………………………………………………………. 26
7.1.3
修改建议
…………………………………………………………………………………………………. 26
7.2
发送重定向未禁止
…………………………………………………………………………………………….. 27
7.2.1
说明
………………………………………………………………………………………………………… 27
7.2.2
检查方法
…………………………………………………………………………………………………. 27
7.2.3
修改建议
…………………………………………………………………………………………………. 27
7.3 icmp echo
请求广播未开启
…………………………………………………………………………………..28
7.3.1
说明
………………………………………………………………………………………………………… 28
7.3.2
检查方法
…………………………………………………………………………………………………. 28
7.3.3
修改建议
…………………………………………………………………………………………………. 28
7.4 icmp
源路由未禁止
…………………………………………………………………………………………….. 28
7.4.1
说明
………………………………………………………………………………………………………… 28
7.4.2
检查方法
…………………………………………………………………………………………………. 28
7.4.3
修改建议
…………………………………………………………………………………………………. 29
7.5
数据包转发未禁止
…………………………………………………………………………………………….. 29
7.5.1
说明
………………………………………………………………………………………………………… 29
7.5.2
检查方法
…………………………………………………………………………………………………. 29
7.5.3
修改建议
…………………………………………………………………………………………………. 29
8
安全网络
…………………………………………………………………………………………………………………….. 30
8.1
关闭
IP
绑定
……………………………………………………………………………………………………….30
8.1.1
说明
………………………………………………………………………………………………………… 30
8.1.2
检查方法
…………………………………………………………………………………………………. 30
8.1.3
修改建议
…………………………………………………………………………………………………. 30
8.2
不允许对主机进行
IP
伪装
………………………………………………………………………………….30
8.2.1
说明
………………………………………………………………………………………………………… 30
8.2.2
检查方法
…………………………………………………………………………………………………. 30
8.2.3
修改建议
…………………………………………………………………………………………………. 31
8.3 snmp
加固
……………………………………………………………………………………………………………31
8.3.1
说明
………………………………………………………………………………………………………… 31
8.3.2
检查方法
…………………………………………………………………………………………………. 31
8.3.3
修改建议
…………………………………………………………………………………………………. 31
9
系统命令
…………………………………………………………………………………………………………………….. 32
9.1
设置输出历史命令
…………………………………………………………………………………………….. 32
9.1.1
说明
………………………………………………………………………………………………………… 32
9.1.2
检查方法
…………………………………………………………………………………………………. 32
9.1.3
修改建议
…………………………………………………………………………………………………. 32
9.2
设置记录历史命令
…………………………………………………………………………………………….. 32
9.2.1
说明
………………………………………………………………………………………………………… 32
9.2.2
检查方法
…………………………………………………………………………………………………. 32
9.2.3
修改建议
…………………………………………………………………………………………………. 33
9.3 su
命令使用日志配置
…………………………………………………………………………………………..33
9.3.1
说明
………………………………………………………………………………………………………… 33
9.3.2
检查方法
…………………………………………………………………………………………………. 33
9.3.3
修改建议
…………………………………………………………………………………………………. 33
10
潜在危险
…………………………………………………………………………………………………………………… 33
10.1
重命名
.netrc
文件
…………………………………………………………………………………………….. 33
10.1.1
说明
………………………………………………………………………………………………………. 33
10.1.2
检查方法
……………………………………………………………………………………………….. 33
10.1.3
修改建议
……………………………………………………………………………………………….. 34
10.2
重命名
hosts.equiv
文件
……………………………………………………………………………………. 34
10.2.1
说明
………………………………………………………………………………………………………. 34
10.2.2
检查方法
……………………………………………………………………………………………….. 34
10.2.3
修改建议
……………………………………………………………………………………………….. 34
10.3
重命名
.rhosts
文件
…………………………………………………………………………………………….34
10.3.1
说明
………………………………………………………………………………………………………. 34
10.3.2
检查方法
……………………………………………………………………………………………….. 34
10.3.3
修改建议
……………………………………………………………………………………………….. 35
10.4
重命名
equiv
文件
……………………………………………………………………………………………. 35
10.4.1
说明
………………………………………………………………………………………………………. 35
10.4.2
检查方法
……………………………………………………………………………………………….. 35
10.4.3
修改建议
……………………………………………………………………………………………….. 35
10.5
重命名
rhosts
文件
…………………………………………………………………………………………….35
10.5.1
说明
………………………………………………………………………………………………………. 35
10.5.2
检查方法
……………………………………………………………………………………………….. 35
10.5.3
修改建议
……………………………………………………………………………………………….. 36
10.6 /etc/aliases
未禁用不必要的别名
……………………………………………………………………….. 36
10.6.1
说明
………………………………………………………………………………………………………. 36
10.6.2
检查方法
……………………………………………………………………………………………….. 36
10.6.3
修改建议
……………………………………………………………………………………………….. 36
10.7 /etc/mail/aliases
未禁用不必要的别名
………………………………………………………………… 37
10.7.1
说明
………………………………………………………………………………………………………. 37
10.7.2
检查方法
……………………………………………………………………………………………….. 37
10.7.3
修改建议
……………………………………………………………………………………………….. 37
10.8
判断
chkrootkit
是否安装
…………………………………………………………………………………..37
10.8.1
说明
………………………………………………………………………………………………………. 37
10.8.2
检查方法
……………………………………………………………………………………………….. 37
10.8.3
安装方法
……………………………………………………………………………………………….. 38
11
系统设置
…………………………………………………………………………………………………………………….38
11.1 su
命令的访问限制
…………………………………………………………………………………………….38
11.1.1
说明
………………………………………………………………………………………………………. 38
11.1.2
检查方法
……………………………………………………………………………………………….. 38
11.1.3
修改建议
……………………………………………………………………………………………….. 38
11.2
限制
core dump ………………………………………………………………………………………………… 38
11.2.1
说明
………………………………………………………………………………………………………. 38
11.2.2
检查方法
……………………………………………………………………………………………….. 39
11.2.3
修改建议
……………………………………………………………………………………………….. 39
11.3
禁用
ctrl+alt+delete ……………………………………………………………………………………………39
11.3.1
说明
………………………………………………………………………………………………………. 39
11.3.2
检查方法
……………………………………………………………………………………………….. 39
11.3.3
修改建议
……………………………………………………………………………………………….. 39
11.4
设置空闲锁屏时间
…………………………………………………………………………………………… 40
11.4.1
说明
………………………………………………………………………………………………………. 40
11.4.2
检查方法
……………………………………………………………………………………………….. 40
11.4.3
修改建议
……………………………………………………………………………………………….. 40
11.5
启用屏保
…………………………………………………………………………………………………………..40
11.5.1
说明
………………………………………………………………………………………………………. 40
11.5.2
检查方法
……………………………………………………………………………………………….. 40
11.5.3
修改建议
……………………………………………………………………………………………….. 40
11.6
用户会话超时设置
…………………………………………………………………………………………… 41
11.6.1
说明
………………………………………………………………………………………………………. 41
11.6.2
检查方法
……………………………………………………………………………………………….. 41
11.6.3
修改建议
……………………………………………………………………………………………….. 41
11.7 grub
引导设置密码
……………………………………………………………………………………………. 41
11.7.1
说明
………………………………………………………………………………………………………. 41
11.7.2
检查方法
……………………………………………………………………………………………….. 41
11.7.3
修改建议
……………………………………………………………………………………………….. 41
12
文件权限
…………………………………………………………………………………………………………………… 42
12.1
默认用户
umask
为
027
或更严格
………………………………………………………………………42
12.1.1
说明
………………………………………………………………………………………………………. 42
12.1.2
检查方法
……………………………………………………………………………………………….. 42
12.1.3
修改建议
……………………………………………………………………………………………….. 42
12.2
配置重要目录文件的权限
………………………………………………………………………………… 43
12.2.1
说明
………………………………………………………………………………………………………. 43
12.2.2
目录文件
–
权限列表
…………………………………………………………………………………43
12.2.3
检查方法
……………………………………………………………………………………………….. 43
12.2.4
修改建议
……………………………………………………………………………………………….. 43
12.3
配置日志配置文件默认文件目录权限
……………………………………………………………….43
12.3.1
说明
………………………………………………………………………………………………………. 43
12.3.2
检查方法
……………………………………………………………………………………………….. 43
12.3.3
修改建议
……………………………………………………………………………………………….. 44
12.4
日志文件权限加固
…………………………………………………………………………………………… 44
12.4.1
说明
………………………………………………………………………………………………………. 44
12.4.1
日志文件
……………………………………………………………………………………………….. 44
12.4.2
检查方法
……………………………………………………………………………………………….. 44
12.4.3
修改建议
……………………………………………………………………………………………….. 44
12.5
配置
ftp
服务器
umask ……………………………………………………………………………………… 45
12.5.1
说明
………………………………………………………………………………………………………. 45
12.5.2
检查方法
……………………………………………………………………………………………….. 45
12.5.3
修改建议
……………………………………………………………………………………………….. 45
12.6
配置
ftp
服务器用户访问权限
……………………………………………………………………………45
12.6.1
说明
………………………………………………………………………………………………………. 45
12.6.2
检查方法
……………………………………………………………………………………………….. 45
12.6.3
修改建议
……………………………………………………………………………………………….. 45
13
磁盘检查
…………………………………………………………………………………………………………………… 46
13.1
系统磁盘扩容
………………………………………………………………………………………………….. 46
13.1.1
说明
………………………………………………………………………………………………………. 46
13.1.2
检查方法
……………………………………………………………………………………………….. 46
13.1.3
修改建议
……………………………………………………………………………………………….. 46
13.2 tripwire
加固
………………………………………………………………………………………………………46
13.2.1
说明
………………………………………………………………………………………………………. 46
13.2.2
检查方法
……………………………………………………………………………………………….. 46
13.2.3
修改建议
……………………………………………………………………………………………….. 46
14
资源分配
…………………………………………………………………………………………………………………… 47
14.1 quota
加固
………………………………………………………………………………………………………… 47
14.1.1
说明
………………………………………………………………………………………………………. 47
14.1.2
检查方法
……………………………………………………………………………………………….. 47
14.1.3
修改建议
……………………………………………………………………………………………….. 47
14.2 cgroup
加固
………………………………………………………………………………………………………. 47
14.2.1
说明
………………………………………………………………………………………………………. 47
14.2.2
检查方法
……………………………………………………………………………………………….. 47
14.2.3
修改建议
……………………………………………………………………………………………….. 47
15
系统维护
…………………………………………………………………………………………………………………… 47
15.1 grub
维护模式设置
…………………………………………………………………………………………….47
15.1.1
说明
………………………………………………………………………………………………………. 47
15.1.2
检查方法
……………………………………………………………………………………………….. 48
15.1.3
修改建议
……………………………………………………………………………………………….. 48
1
1
安全服务
1.1
检查是否关闭不必要的服务和端口
1.1.1
说明
不必要的服务:
printer
,
sendmail
,
nfs
,
kshell
,
lpd
,
tftp
,
ident
,
time
,
ntalk
,
bootps
,
klogin
,
ypbind
,
daytime
,
nfslock
,
echo
,
discard
,
chargen
。
1.1.2
检查方法
验证是否未启用不必要的服务。运行以下命令并验证结果是否如所示
#systemctl list-unit-files
和使用
#chkconfig –list
查看服务
1.1.3
修改建议
1)
加固方法:
运行以下命令进行服务禁用:
#chkconfig <
服务名
> off
2)
还原方法:
运行以下命令将加固时设置为
off
的服务启用:
#chkconfig <
服务名
> on
1.2
检查是否禁用不必要的系统服务
1.2.1
说明
不必要的系统服务:
chargen-dgram
,
daytime-stream
,
echo-streamklogin
,
tcpmux-server
,
chargen-stream
,
discard-dgram
,
eklogin
,
krb5-telnet
,
tftp
,
cvs
,
discard-stream
,
ekrb5-telnet
,
kshell
,
time-dgram
,
daytime-dgram
,
echo-dgram
,
gssftp
,
rsync
,
time-stream
。
1.2.2
检查方法
验证是否未启用不必要的服务。运行以下命令并验证结果是否如所示
#systemctl list-unit-files
和使用
#chkconfig –list
查看服务
1.2.3
修改建议
1)
加固方法:
运行以下命令进行服务禁用:
#chkconfig <
服务名
> off
2
2)
还原方法:
运行以下命令将加固时设置为
off
的服务启用:
#chkconfig <
服务名
> on
1.3
禁止匿名
WU-FTP
用户登录
1.3.1
说明
检查是否限制
FTP
用户登录后能访问的目录。
1.3.2
检查方法
检查编辑
/etc/ftpaccess
文件,查看是否包含参数
class
all
real,guest,anonymous *
这一行,包含则需要加固。
1.3.3
修改建议
1)
加固方法:
修改
/etc/ftpaccess
文件,找到“
class
all
real,guest,anonymous *”
把查找到的
行
在行首添加
“#”
进行注释,在注释行之后添加以下内容
class all real,guest *
2)
还原方法:
把加固时新增的行全部删除,再去掉查找到的“
class
all
real,guest,anonymous
*”
所在行
的行首的
“#”
。
1.4
禁止匿名
VSFTP
用户登录
1.4.1
说明
检查是否限制
FTP
用户登录后能访问的目录。
1.4.2
检查方法
检查编辑
/etc/vsftpd.conf
文件,参数“
anonymous_enable
”是否为“
NO
”。
1.4.3
修改建议
1)
加固方法:
在
/etc/vsftpd.conf
文件中找到“
anonymous_enable
”所在行,
在行首添加
“#”
进行注释,在注释行之后添加以下内容
anonymous_enable=NO
2)
还原方法:
3
把加固时新增的行全部删除,再去掉查找到的“
anonymous_enable
”所在行
的行首
的
“#”
。
1.5
开启
ssh
服务
1.5.1
说明
对于使用
IP
协议进行远程维护的设备
,
应配置使用
SSH
协议。
1.5.2
检查方法
使用以下命令验证是否开启了
ssh
服务
#systemctl status sshd
1.5.3
修改建议
1)
加固方法:
如果未开启服务,使用以下命令进行加固:
#systemctl enable sshd
#systemctl restart sshd
2)
还原方法:
如果原始服务状态没有开启
#systemctl stop sshd
#systemctl disable sshd
1.6
禁用
telnet
服务
1.6.1
说明
对于使用
IP
协议进行远程维护的设备
,
应禁止使用
telnet
协议。
1.6.2
检查方法
使用以下命令验证是否开启了
telnet
服务
#systemctl status telnet.socket
1.6.3
修改建议
1)
加固方法:
如果安装
telnet
服务软件,服务开启,使用以下命令进行加固:
#systemctl disable telnet.socket
#systemctl stop telnet.socket
4
2)
还原方法:
如果安装
telnet
服务软件,原始服务开启,使用以下命令进行还原:
#systemctl enable telnet.socket
#systemctl start telnet.socket
1.7
禁止
root
登录
VSFTP
1.7.1
说明
检查是否禁止
root
用户登录
FTP
。
1.7.2
检查方法
运行以下命令并验证是否安装了
vsftpd
#rpm -qa |grep vsftpd
运行以下命令并验证是否禁用了
root
登录
#cat /etc/vsftpd/ftpusers|grep -w root
#cat /etc/vsftpd/user_list|grep -w root
1.7.3
修改建议
1)
加固方法:
运行以下命令进行加固
#echo “root” >> /etc/vsftpd/ftpusers
2)
还原方法:
从
/etc/vsftpd/ftpusers
文件中删除
root
1.8
禁止
root
登录
WU-FTP
1.8.1
说明
检查是否禁止
root
用户登录
FTP
。
1.8.2
检查方法
运行以下命令并验证是否安装了
wu-ftp
#rpm -qa |grep wu-ftp
运行以下命令并验证是否禁用了
root
登录
#cat /etc/ftpusers|grep -w root
。
5
1.8.3
修改建议
1)
加固方法:
运行以下命令进行加固
#echo “root” >>/etc/ftpusers
2)
还原方法:
从
/etc/ftpusers
文件中删除指定
root
。
1.9 SSH
登录前
banner
设置
1.9.1
说明
检查是否设置
ssh
登录前警告
Banner
。
1.9.2
检查方法
运行以下命令并验证输出是否匹配:
1.# grep "^Banner" /etc/ssh/sshd_config
,找不到则需加固
2.
如果存在,查看
banner
对应的
/etc/issue.net
文件中是否包含
" Authorized only. All
activity will be monitored and reported "
,不包含则需加固
1.9.3
修改建议
1)
加固方法:
i
、编辑
/etc/ssh/sshd_config
,如下设置参数:
Banner /etc/issue.net
ii
、创建
banner
对应的
/etc/issue.net
文件并设置相关警告信息
#touch /etc/ issue.net
#chmod 644 /etc/ issue.net
#echo " Authorized only. All activity will be monitored and reported " > /etc/ issue.net
2)
还原方法:
i
、 如果文件不存在
/etc/
issue.net
信息文件:
#rm /etc/telnet_banner
ii
、如果文件存在,在
/etc/
issue.net
删除如下信息:
# Authorized only. All activity will be monitored and reported
6
1.10
检查是否设置
ssh
成功登录后
Banner
1.10.1
说明
检查是否设置
ssh
成功登录后
Banner
。
1.10.2
检查方法
运行以下命令并验证输出是否匹配:
1.# grep "pam_motd.so" /etc/pam.d/sshd|grep "session"|grep "optional"
2.
查看
/etc/motd
是否存在,若不存在则需加固
3. /etc/motd
存在,查看文件中是否包含
"
Login success. All activity will be monitored
and reported.
"
,不包含则需加固
1.10.3
修改建议
1)
加固方法:
i
、编辑
/etc/pam.d/sshd
,如下设置参数:
session optional pam_motd.so
ii
、在
/etc/motd
添加信息
#touch /etc/motd
#chmod 644 /etc/motd
#echo "
Login success. All activity will be monitored and reported.
" >
/etc/motd
2)
还原方法:
i
、 删除
/etc/pam.d/sshd
对应行
session optional pam_motd.so
ii
、 如果没有
motd
文件还原删除
rm /etc/motd
iii
、 如果文件存在,则在
/etc/motd
删除信息
"
Login success. All activity will
be monitored and reported.
"
1.11
检查
telnet Banner
设置
1.11.1
说明
检查是否设置
telnet
登录前警告
Banner
。
1.11.2
检查方法
运行以下命令并验证输出是否匹配:
7
#find /etc/issue.net
。
1.11.3
修改建议
1)
加固方法:
i
、 执行如下命令创建
/etc/
issue.net
信息文件:
#touch /etc/
issue.net
#chmod 644 /etc/
issue.net
#echo " Authorized only. All activity will be monitored and reported " > /etc/
issue.net
2)
还原方法:
i
、 如果文件不存在
/etc/
issue.net
信息文件:
#rm /etc/
issue.net
ii
、 如果文件存在,在
/etc/ issue.net
删除如下信息:
" Authorized only. All activity will
be monitored and reported "
1.12 telnet
登录后的信息设置
1.12.1
说明
检查是否设置
telnet
成功登录后
Banner
。
1.12.2
检查方法
运行以下命令并验证输出是否匹配:
#find /etc/motd
。
1.12.3
修改建议
1)
加固方法:
i
、如果没有
motd
文件创建
motd
文件:
#touch /etc/motd
ii
、如果文件一直存在,在
/etc/motd
删除如下信息:
#
Login success. All activity will be monitored and reported.
2)
还原方法:
i
、如果没有
motd
文件还原删除
motd
文件:
#rm /etc/motd
ii
、如果文件存在,在
/etc/motd
删除如下信息:
#
Login success. All activity will be monitored and reported.
8
1.13 Telnet
未禁用
root
登录
1.13.1
说明
检查系统
telnet
安全配置。
1.13.2
检查方法
2
、
telnet
服务验证方法
运行以下命令并验证输出是否配置
pam_succeed_if.so
#grep
“
pam_succeed_if
”
/etc/pam.d/remote
auth requisite pam_succeed_if.so user != root
1.13.3
修改建议
1)
加固方法:
i
、编辑
/etc/pam.d/remote,
添加如下:
auth requisite pam_succeed_if.so user !=root
2)
还原方法:
找到添加行删除
auth requisite pam_succeed_if.so user !=root
1.14 SSH
未禁用
root
登录
1.14.1
说明
检查系统
openssh
安全配置。
1.14.2
检查方法
1
、
ssh
验证方法
运行以下命令并验证输出是否匹配
# grep "^PermitRootLogin" /etc/ssh/sshd_config
PermitRootLogin no
1.14.3
修改建议
3)
加固方法:
i
、编辑
/etc/ssh/sshd_config
,找到
PermitRootLogin
所在行,
在行首添加
“#”
进行注
释,在注释行之后添加以下内容:
PermitRootLogin no
ii
、重启
ssh
服务
9
systemctl restart sshd
4)
还原方法:
i
、把加固时新增的行全部删除,再去掉查找到的
PermitRootLogin
所在行
的行首的
“#”
。
ii
、重启
ssh
服务
systemctl restart sshd
1.15 SSH
未设置安全协议
1.15.1
说明
检查系统
openssh
安全配置。
1.15.2
检查方法
运行以下命令并验证输出是否匹配:
# grep "^Protocol" /etc/ssh/sshd_config
Protocol 2
。
1.15.3
修改建议
1)
加固方法:
编辑
/etc/ssh/sshd_config
,找到
Protocol
所在行,
在行首添加
“#”
进行注释,在注释
行之后添加以下内容:
Protocol 2
2)
还原方法:
把加固时新增的行全部删除,再去掉查找到的
Protocol
所在行
的行首的
“#”
。
1.16 SSH
日志等级未加固
1.16.1
说明
检查系统
openssh
安全配置。
1.16.2
检查方法
运行以下命令并验证输出是否匹配
# grep "^LogLevel" /etc/ssh/sshd_config
LogLevel INFO
。
10
1.16.3
修改建议
1)
加固方法:
编辑
/etc/ssh/sshd_config
,找到
LogLevel
所在行,
在行首添加
“#”
进行注释,在注
释行之后添加以下内容
:
LogLevel INFO
2)
还原方法:
把加固时新增的行全部删除,再去掉查找到的
LogLevel
所在行
的行首的
“#”
。
1.17 SSH
失败尝试次数未配置
1.17.1
说明
检查系统
openssh
安全配置。
1.17.2
检查方法
运行以下命令并验证输出
MaxAuthTries
是否小于或等于
4
:
# grep "^MaxAuthTries" /etc/ssh/sshd_config
MaxAuthTries 4
。
1.17.3
修改建议
1)
加固方法:
编辑
/etc/ssh/sshd_config
,找到
MaxAuthTries
所在行,
在行首添加
“#”
进行注释,在
注释行之后添加以下内容
:
MaxAuthTries 4
2)
还原方法:
把加固时新增的行全部删除,再去掉查找到的
MaxAuthTries
所在行
的行首的
“#”
。
1.18 SSH
未禁用空密码用户登录
1.18.1
说明
检查系统
openssh
安全配置。
1.18.2
检查方法
运行以下命令并验证输出是否匹配
# grep "^PermitEmptyPasswords" /etc/ssh/sshd_config
11
PermitEmptyPasswords no
。
1.18.3
修改建议
1)
加固方法:
编辑
/etc/ssh/sshd_config
,找到
PermitEmptyPasswords
所在行,
在行首添加
“#”
进行
注释,在注释行之后添加以下内容
:
PermitEmptyPasswords no
2)
还原方法:
把加固时新增的行全部删除,再去掉查找到的
PermitEmptyPasswords
所在行
的行
首的
“#”
。
1.19 SSH
未禁用环境处理
1.19.1
说明
检查系统
openssh
安全配置。
1.19.2
检查方法
运行以下命令并验证输出是否匹配:
# grep PermitUserEnvironment /etc/ssh/sshd_config
PermitUserEnvironment no
1.19.3
修改建议
1)
加固方法:
编辑
/etc/ssh/sshd_config
,找到
PermitUserEnvironment
所在行,
在行首添加
“#”
进行
注释,在注释行之后添加以下内容
:
PermitUserEnvironment no
2)
还原方法:
把加固时新增的行全部删除,再去掉查找到的行
的
PermitUserEnvironment
所在
行
首的
“#”
。
1.20 SSH
强加密算法未开启
1.20.1
说明
检查系统
openssh
安全配置。
12
1.20.2
检查方法
nmap –script ssh2-enum-algos -sV -p 22 ip
(测试目标的
ip
地址
)
encryption_algorithms: (6)
|
aes128-ctr
|
aes192-ctr
|
aes256-ctr
|
aes128-cbc
|
3des-cbc
|
arcfour128
1.20.3
修改建议
1)
加固方法:
编辑
/etc/ssh/sshd_config
,添加如下行:
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc
2)
还原方法:
编辑
/etc/ssh/sshd_config
,删除如下行:
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc
2
风险账户
2.1
空口令账号加固
2.1.1
说明
检查是否存在空口令账号,对存在的空口令账号加固,可防止系统被黑客所创建的账户
登录或遭到黑客暴力破解。
2.1.2
检查方法
检查
/etc/shadow
,查看
uid
大于
1000
,
secadm
、
auditadm
是否存在空密码。
2.1.3
修改建议
1)
加固方法:
运行以下命令进行加固并提示用户进行密码设置
# usermod -L <
用户名
>
2)
还原方法:
对之前加固的用户调用
" usermod -U <
用户名
>"
解除锁定。
13
2.2
系统账号登录限制
2.2.1
说明
检查是否对系统账号进行登录限制。
2.2.2
检查方法
检查
/etc/passwd
,查看
uid
小于
1000
,且非
root
、
secadm
、
auditadm
用户是否设置为
/sbin/halt
或
/sbin/nologin
。
2.2.3
修改建议
1)
加固方法:
对上面检查发现不符合的用户运行以下命令进行加固
# usermod -s /sbin/nologin <
用户名
>
2)
还原方法:
对之前加固的用户使用命令
usermod -s /bin/bash
重新设置参数。
2.3
加固
uid
为
0
除
root
之外的帐户
2.3.1
说明
检查是否设置除
root
之外
UID
为
0
的用户。
2.3.2
检查方法
运行以下命令并确认仅返回“
root
”:
# cat /etc/passwd | awk -F: '($3 == 0) { print $1 }'
root
2.3.3
修改建议
1)
加固方法:
使用一下命令禁用具有
UID 0
的
root
用户以外的任何用户
# usermod -L <
用户名
>
2)
还原方法:
对之前加固的用户,调用
" usermod -U <
用户名
>"
解除锁定。
14
2.4
锁定与设备运行和维护无关的账户
2.4.1
说明
检查是否删除与设备运行、维护等工作无关的账号。
2.4.2
检查方法
检查
/etc/shadow
中是否存在用户(
adm
,
lp
,
mail
,
uucp
,
operator
,
games
,
gopher
,
ftp
,
nobody
,
nobody4
,
noaccess
,
listen
,
webservd
,
rpm
,
dbus
,
avahi
,
mailnull
,
smmsp
,
nscd
,
vcsa
,
rpc
,
rpcuser
,
nfs
,
sshd
,
pcap
,
ntp
,
haldaemon
,
distcache
,
apache
,
webalizer
,
squid
,
xfs
,
gdm
,
sabayon
,
named
)且未锁定。
2.4.3
修改建议
1)
加固方法:
运行以下命令进行用户锁定:
# usermod -L <
用户名
>
2)
还原方法:
对之前加固的用户,调用
"passwd -u -f <
用户名
>"
解除锁定
3
密码强度
3.1
系统开启密码复杂度策略
3.1.1
说明
检查设备是否开启密码复杂度策略(密码强度功能、密码禁止包含用户名功能、密码回
文检查功能、密码相似性检查功能、密码字典检查功能)功能。
3.1.2
检查方法
1
、运行以下命令,并验证是否开启密码强度功能,配置则符合
#grep “pam_pwquality” /etc/pam.d/system-auth|grep enforce_for_root
password requisite pam_pwquality.so try_first_pass local_user_only enforce_for_root
2
、 当 发 现 步 骤
1
配 置 了
pam_pwquality
且 包 含 参 数
enforce_for_root
时 , 检 查
/etc/security/pwquality.conf
中参数“
palindromic
”是否未屏蔽,未屏蔽则符合
3
、 当 发 现 步 骤
1
配 置 了
pam_pwquality
且 包 含 参 数
enforce_for_root
时 , 检 查
/etc/security/pwquality.conf
中参数“
usercheck
”是否为“
1
”
1
符合,
0
不符合,屏蔽也不符
合
15
4
、 当 发 现 步 骤
1
配 置 了
pam_pwquality
且 包 含 参 数
enforce_for_root
时 , 检 查
/etc/security/pwquality.conf
中参数“
no_similar_check
”是否屏蔽,屏蔽则符合
5
、 当 发 现 步 骤
1
配 置 了
pam_pwquality
且 包 含 参 数
enforce_for_root
时 , 检 查
/etc/security/pwquality.conf
中参数““
dictcheck
”是否为“
1
”
1
符合,
0
不符合
,
屏蔽也不符
合
3.1.3
修改建议
1)
加固方法:
i
、在
/etc/pam.d/system-auth
中找到对应行,然后在后面增加字段
enforce_for_root
:
password requisite pam_pwquality.so try_first_pass local_user_only enforce_for_root
iii
、 在
/etc/security/pwquality.conf
中把查找到的行
在行首添加
“#”
进行注释,在注
释行之后添加以下内容:
dictcheck=1
usercheck=1
palindromic
#no_similar_check
//
屏蔽
no_similar_check
2)
还原方法:
i
、 在
/etc/pam.d/system-auth
中找到对应行,删除字段
enforce_for_root
:
password requisite pam_pwquality.so try_first_pass local_user_only
ii
、 把加固时新增的行全部删除,去掉查找到的行
的行首的
“#”
。
3.2
系统密码复杂度配置
3.2.1
说明
检查设备密码复杂度策略。
3.2.2
检查方法
检查
/etc/security/pwquality.conf
中参数“
ucredit
、
dcredit
、
ocredit
、
lcredit
”,未屏蔽且
值是否为“
-1
”以下则符合。
3.2.3
修改建议
1)
加固方法:
i
、在
/etc/security/pwquality.conf
中把查找到的行
在行首添加
“#”
进行注释,在注释行之
后添加以下内容
:
dcredit=-1
16
ucredit=-1
ocredit=-1
lcredit=-1
2)
还原方法:
把加固时新增的行全部删除,再去掉查找到的行
的行首的
“#”
。
3.3
口令生命周期加固
3.3.1
说明
检查是否设置口令生存周期。
3.3.2
检查方法
1
、运行以下命令并验证
PASS_MAX_DAYS
是否符合站点策略(
90
)
:
# grep PASS_MAX_DAYS /etc/login.defs
2
、
chage -l <
用户名
>
查看有效期是否为
90
以内,包括
90
天
# chage -l <user>
两次改变密码之间相距的最大天数
:
99999
记下这一行两次改变密码之间相距的最大天数
:
99999
中数值。
3.3.3
修改建议
1)
加固方法:
1.
在
/etc/login.defs
中将查找到的行
在行首添加
“#”
进行注释,在注释行之后添加以
下内容
:
PASS_MAX_DAYS 90
2.# chage –maxdays 90 <user>
2)
还原方法:
i.
把新增的行全部删除,再去掉查找到的行
的行首的
“#”
。
ii.
先取得检查方法中
chage -l
获取的用户密码最大有效期时间,调用
chage
–maxdays
命令重新设置时间。
3.4
口令最小长度加固
3.4.1
说明
检查口令最小长度。
17
3.4.2
检查方法
运行命令验证
/etc/security/pwquality.conf
的参数
minlen
是否为
8
或
8
位以上,且未屏
蔽。
3.4.3
修改建议
1)
加固方法:
在
/etc/security/pwquality.conf
中把查找到的行
在行首添加
“#”
进行注释,在注释行之后
添加以下内容
:
minlen=8
2)
还原方法:
把加固时新增的行全部删除,再去掉查找到的行
的行首的
“#”
。
3.5
口令更改最短间隔设置
3.5.1
说明
检查是否设置口令更改最小间隔天数。
3.5.2
检查方法
1.
运行以下命令并验证
PASS_MIN_DAYS
是否为
7
天或
7
天以上:
# grep PASS_MIN_DAYS /etc/login.defs
PASS_MIN_DAYS 7
2
、
chage -l <
用户名
>
查看有效期是否为
90
以内,包括
90
天
# chage -l <user>
两次改变密码之间相距的最小天数
:
0
记下这一行在两次改变密码之间相距的最小天数
:
0
中数值。
3.5.3
修改建议
1)
加固方法:
1.
在
/etc/login.defs
中将查找到的行
在行首添加
“#”
进行注释,在注释行之后添加以
下内容
:
PASS_MIN_DAYS 7
2.
修改密码设置为匹配的所有用户的用户参数
# chage –mindays 7 <user>
2)
还原方法:
18
i.
把加固时新增的行全部删除,再去掉查找到的行
的行首的
“#”
。
ii.
先取得检查方法中
chage -l
获取的用户最小有效时间,调用
chage — mindays
命令
重新设置时间。
3.6
口令过期前警告天数设置
3.6.1
说明
检查是否设置口令过期前警告天数。
3.6.2
检查方法
1.
运行以下命令并验证
PASS_WARN_AGE
是否为
7
或更长:
# grep PASS_WARN_AGE /etc/login.defs
PASS_WARN_AGE 30
2
、
chage -l <
用户名
>
查看有效期是否为
90
以内,包括
90
天
# chage -l <user>
在密码过期之前警告的天数 :
7
记下这一行在密码过期之前警告的天数
:
7
中数值。
3.6.3
修改建议
1)
加固方法:
1
.在
/etc/login.defs
中将查找到的行
在行首添加
“#”
进行注释,在注释行之后添加
以下内容
:
PASS_WARN_AGE 30
2.
修改密码设置为匹配的所有用户的用户参数
# chage –warndays 30 <user>
2)
还原方法:
i.
把加固时新增的行全部删除,再去掉查找到的行
的行首的
“#”
。
ii.
先取得检查方法中
chage -l
获取的用户密码告警天数,调用
chage –warndays
命
令重新设置时间。
3.7
检查密码重复使用次数限制
3.7.1
说明
检查密码重复使用次数限制。
19
3.7.2
检查方法
运行以下命令,并确保“
remember
”选项为“
5
”或更多并包含在所有结果中:
# egrep "pam_pwhistory.so" /etc/pam.d/system-auth|grep password|grep remember
3.7.3
修改建议
1)
加固方法:
编 辑
/etc/pam.d/system-auth
, 找 到 类 似 行
password
requisite
pam_pwquality.so try_first_pass local_users_only
,在下一行添加密码历史策略:
password requisite pam_pwhistory.so remember=5 enforce_for_root
2)
还原方法:
编辑
/etc/pam.d/system-auth
,删除改行
password requisite pam_pwhistory.so remember=5
enforce_for_root
4
账户锁定
4.1
口令失败尝试锁定功能开启
4.1.1
说明
检查账户认证失败次数限制。
4.1.2
检查方法
执行以下操作以确定用户锁定的当前设置,
deny
小于等于
5
次,锁定时间大于等于
600
秒算符合
# grep "pam_faillock" /etc/pam.d/system-auth|grep deny|grep
“
unlock_time
”
4.1.3
修改建议
1)
加固方法:
把查找到的行
在行首添加
“#”
进行注释,在注释行之后添加以下内容
i
、编辑
/etc/pam.d/system-auth
修改为如下策略
auth required pam_faillock.so preauth audit deny=5 even_deny_root unlock_time=600
auth [default=die] pam_faillock.so authfail audit deny=5 even_deny_root
unlock_time=600
auth sufficient pam_faillock.so authsucc audit deny=5 even_deny_root
unlock_time=600
ii
、编辑
/etc/pam.d/password-auth
修改为如下策略
20
auth required pam_faillock.so preauth audit deny=5 even_deny_root unlock_time=600
auth [default=die] pam_faillock.so authfail audit deny=5 even_deny_root
unlock_time=600
auth sufficient pam_faillock.so authsucc audit deny=5 even_deny_root
unlock_time=600
2)
还原方法:
把加固时新增的行全部删除,再去掉查找到的行
的行首的
“#”
。
4.2
配置口令失败尝试锁定
4.2.1
说明
检查是否配置
SSH
方式账户认证失败次数限制。
4.2.2
检查方法
执行以下操作以确定用户锁定的当前设置,
deny
小于等于
5
次,锁定时间大于等于
600
秒算符合
# grep "pam_faillock" /etc/pam.d/system-auth|grep deny|grep
“
unlock_time
”
4.2.3
修改建议
1)
加固方法:
把查找到的行
在行首添加
“#”
进行注释,在注释行之后添加以下内容
i
、编辑
/etc/pam.d/system-auth
修改为如下策略
auth required pam_faillock.so preauth audit deny=5 even_deny_root unlock_time=600
auth [default=die] pam_faillock.so authfail audit deny=5 even_deny_root
unlock_time=600
auth sufficient pam_faillock.so authsucc audit deny=5 even_deny_root
unlock_time=600
ii
、编辑
/etc/pam.d/password-auth
修改为如下策略
auth required pam_faillock.so preauth audit deny=5 even_deny_root unlock_time=600
auth [default=die] pam_faillock.so authfail audit deny=5 even_deny_root
unlock_time=600
auth sufficient pam_faillock.so authsucc audit deny=5 even_deny_root
unlock_time=600
2)
还原方法:
把加固时新增的行全部删除,再去掉查找到的行
的行首的
“#”
。
21
5
系统安全
5.1
开启系统安全功能
5.1.1
说明
检查系统安全功能是否开启。
5.1.2
检查方法
针对银河麒麟高级服务器
V10SP3
1
、查看安全模式,模式为
strict
为符合
#security-switch –get
2
、查看
box
是否开启,状态
on
为符合
#getstatus -m box
针对银河麒麟高级服务器
V10SP1
和
V10SP2
1
.查看安全模式,模式为
strict
为符合
使用
#security-switch –get
并记录操作前的系统安全状态
2
.查看
box
是否开启,值
1
为符合
#cat /sys/kernel/security/box/status
SP1&SP2
通过读取
grub
文件中的参数获取
box
状态;
SP3
通过
getstatus -m box
获取状
态
5.1.3
修改建议
1)
针对银河麒麟高级服务器
V10SP3
加固方法:
i
、当模式不是
strict
时,执行以下命令开启
strict
模式
#security-switch –set strict
ii
、当
box
未开启时,使用如下命令进行加固
#setstatus box -s enable
2)
针对银河麒麟高级服务器
V10SP1
和
V10SP2
加固方法:
i
、当模式不是
strict
时,执行以下命令开启
strict
模式
#security-switch –set strict
ii
、当
box
未开启时,在
/boot/grub2/grub.cfg
中
security=kysec
后加入
box ,
如下:
linux
/vmlinuz-4.19.90-25.9.v2101.ky10.x86_64
root=/dev/mapper/klas-root
ro
resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet
crashkernel=1024M,high security=kysec,box kysec_status=2
22
3)
还原方法:
使用命令
security-switch –set
重新设置安全状态;
SP1&SP2
通过修改
grub
文件参
数设置
box
状态;
SP3
通过
setstatus box -s XX
设置
box
状态。
5.2 firewalld
加固
5.2.1
说明
应按
GB/T 20271
—
2006
中5
.
1
.
5a)会话建立机制的要求,根据访问地址或端口,允
许或拒绝用户的登录。鉴别机制不准许被旁路。
系统应提供一种机制,按时间、进入方式、地点、网络地址或端口等条件规定哪些用户
能进入系统。
5.2.2
检查方法
1
、运行以下命令并验证
firewalld
是否运行
#firewall-cmd –state
2
、如
firewalld
已运行,则运行以下命令查看默认模式是否设置了规则,主要是查看
ports
、
services
、
protocols
、
forward-ports
、
source-ports
、
icmp-blocks
、
rich rules
等是否存在规则,
如果为空则无规则。
#firewall-cmd –list-all
5.2.3
修改建议
1)
手动加固方法:
i
、如果
firewalld
未运行,使用如下命令进行加固
,
如已运行则直接进行第二步
#systemctl enable firewalld
#systemctl restart firewalld
ii
、使用如下命令查看是否设置了规则,如未设置规则则提示用户手动添加规则:
#firewall-cmd –list-all
。
2)
手动还原方法:
i
、如果
firewalld
已运行,使用如下命令进行加固
,
如已运行则直接进行第二步
#systemctl disable firewalld
#systemctl stop firewalld
ii
、使用如下命令查看是否设置了规则,如已设置规则则提示用户手动删除规则:
#firewall-cmd –remove
。删除完即恢复
23
6
系统审计
6.1
安全日志记录配置
6.1.1
说明
检查安全事件日志配置。
6.1.2
检查方法
1
、存在
/etc/rsyslog.conf
,查看相关文件是否配置了
*.err
,
kern.debug
,
daemon.notice
等
信息。
6.1.3
修改建议
1)
加固方法:
i
、存在
/etc/rsyslog.conf
,在相关文件中配置添加如下行:
*.err;kern.debug;daemon.notice /var/adm/messages
2)
还原方法:
删除加固时添加的行。
6.2 psacct
软件加固
6.2.1
说明
检查是否记录用户对设备的操作。
6.2.2
检查方法
1
、运行以下命令检查是否安装了
psacct
软件
#rpm -qa |grep psacct
2
、查看
psacct
服务是否开启,开启无需加固。
#systemctl status psacct
6.2.3
修改建议
1)
加固方法:
i
、 未安装提示用户安装
psacct
软件。
ii
、 安装后,查看服务状态。服务启动无需加固
2)
还原方法
i
、 如果服务未开启,恢复到服务之前状态。
24
ii
、 如果用户手动安装
psacct
包,则不会卸载。
6.3 swatch
软件加固
6.3.1
说明
审计日志分析软件
swatch
未安装,建议安装。
6.3.2
检查方法
1
、运行以下命令检查是否安装了
swatch
软件
#rpm -qa |grep swatch
6.3.3
安装方法
1
、运行以下命令安装
swatch
软件
#yum install swatch
6.4
登录日志记录配置
6.4.1
说明
检查是否对登录进行日志记录。
6.4.2
检查方法
1
、检查是否存在
/var/log/wtmp,/var/run/utmp
文件。
6.4.3
修改建议
3)
加固方法:
i
、使用如下命令创建相关文件:
#touch /var/log/wtmp
#touch /var/run/utmp
4)
还原方法:
删除文件
#rm /var/log/wtmp
#rm /var/run/utmp
25
6.5 audit
规则加固
6.5.1
说明
1
、身份鉴别、自主访问控制、标记和强制访问控制等安全功能的使用
2
、创建、删除客体的操作
3
、所有管理员的操作
4
、每条审计记录应包括:事件类型、事件发生的日期和时间、触发事件的用户、事件
成功或失败等字段
5
、创建和删除客体的事件审计记录还应包括客体的名字、客体的安全属性
6
、网络会话事件审计记录还应包括:网络程序名称、协议类型、源IP地址、目的I
P地址、源端口、目的端口、会话总字节数等字段。
6.5.2
检查方法
1
、先在
grub
中加上
audit=1
,保证内核的审计功能已打开
2
、运行以下命令并验证
auditd
是否运行
#systemctl status auditd
3
、运行如
auditd
已运行,则运行以下命令查看是否设置了规则,
#auditctl -l
6.5.3
修改建议
1)
加固方法:
i
、如果
auditd
未运行,使用如下命令进行加固
,
如已运行则直接进行第二步
#systemctl enable auditd
#systemctl restart auditd
ii
、使用如下命令查看是否设置了规则(输出未空则未添加规则),如未设置规则
则提示用户添加规则:
#auditctl -l
。
iii
、 设置审计规则
auditctl -w /tmp/file1 -k file
//
监控
file1
文件的
arwx
auditctl -a exit,always -F arch=b64 -S execve -F uid=0 //
监控
root
用户下的系统调
用
execve
2)
还原方法:
i
、如果加固前
auditd
未运行,使用如下命令进行还原,如已运行则直接进行第二
步
#systemctl disable auditd
#systemctl stpo auditd
26
ii
、使用如下命令查看是否设置了规则
#auditctl -l
iii
、删除规则(加固时设置的规则)
#auditctl -D //
删除
auditctl -l
查出的所有规则
#auditctl -d always,exit -F arch=b64 -S execve -F uid=0 //
删除监控
root
用户下的系
统调用
execve
规则
7
内核参数
7.1 icmp
重定向报文未禁止
7.1.1
说明
检查系统内核参数配置,是否禁止
icmp
重定向报文。
7.1.2
检查方法
1
、运行以下命令并验证输出是否匹配:
# sysctl net.ipv4.conf.all.accept_redirects
net.ipv4.conf.all.accept_redirects = 0
# sysctl net.ipv4.conf.default.accept_redirects
net.ipv4.conf.default.accept_redirects = 0
# grep "net\\.ipv4\\.conf\\.all\\.accept_redirects" /etc/sysctl.conf
net.ipv4.conf.all.accept_redirects= 0
# grep "net\\.ipv4\\.conf\\.default\\.accept_redirects" /etc/sysctl.conf
net.ipv4.conf.default.accept_redirects= 0
7.1.3
修改建议
1)
加固方法:
i
、 在
/etc/sysctl.conf
文件中把查找到的行
在行首添加
“#”
进行注释,在注释行之后添
加以下内容
:
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
ii
、 运行以下命令以载入
sysctl
配置文件,并设置活动内核参数:
# sysctl -p
2)
还原方法:
i
、 把加固时新增的行全部删除,再去掉查找到的行
的行首的
“#”
。
ii
、 运行以下命令以载入
sysctl
配置文件,并设置活动内核参数:
27
# sysctl -p
7.2
发送重定向未禁止
7.2.1
说明
检查系统内核参数配置,检查
send_redirects
配置。
7.2.2
检查方法
1
、运行以下命令并验证输出是否匹配
# sysctl net.ipv4.conf.all.send_redirects
net.ipv4.conf.all.send_redirects = 0
# sysctl net.ipv4.conf.default.send_redirects
net.ipv4.conf.default.send_redirects = 0
# grep "net\\.ipv4\\.conf\\.all\\.send_redirects" /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
# grep "net\\.ipv4\\.conf\\.default\\.send_redirects" /etc/sysctl.conf
net.ipv4.conf.default.send_redirects= 0
7.2.3
修改建议
1)
加固方法:
i
、 在
/etc/sysctl.conf
文件中把查找到的行
在行首添加
“#”
进行注释,在注释行之后添
加以下内容
:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
ii
、 运行以下命令以载入
sysctl
配置文件,并设置活动内核参数:
# sysctl -p
2)
还原方法:
i
、 把加固时新增的行全部删除,再去掉查找到的行
的行首的
“#”
。
ii
、 运行以下命令以载入
sysctl
配置文件,并设置活动内核参数:
# sysctl -p
28
7.3 icmp echo
请求广播未开启
7.3.1
说明
检查系统内核参数配置,检查
icmp_echo_ignore_broadcasts
配置。
7.3.2
检查方法
1
、运行以下命令并验证输出是否匹配
# sysctl net.ipv4.icmp_echo_ignore_broadcasts
net.ipv4.icmp_echo_ignore_broadcasts = 1
# grep "net\\.ipv4\\.icmp_echo_ignore_broadcasts" /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_broadcasts = 1
7.3.3
修改建议
1)
加固方法:
i
、 在
/etc/sysctl.conf
文件中把查找到的行
在行首添加
“#”
进行注释,在注释行之后添
加以下内容
:
net.ipv4.icmp_echo_ignore_broadcasts = 1
ii
、 运行以下命令以载入
sysctl
配置文件,并设置活动内核参数:
# sysctl -p
2)
还原方法:
i
、 把加固时新增的行全部删除,再去掉查找到的行
的行首的
“#”
。
ii
、 运行以下命令以载入
sysctl
配置文件,并设置活动内核参数:
# sysctl -p
7.4 icmp
源路由未禁止
7.4.1
说明
检查系统内核参数配置,是否禁止
icmp
源路由。
7.4.2
检查方法
1
、运行以下命令并验证输出是否匹配:
# sysctl net.ipv4.conf.all.accept_source_route
net.ipv4.conf.all.accept_source_route = 0
# sysctl net.ipv4.conf.default.accept_source_route
net.ipv4.conf.default.accept_source_route = 0
29
# grep "net\\.ipv4\\.conf\\.all\\.accept_source_route" /etc/sysctl.conf
net.ipv4.conf.all.accept_source_route= 0
#grep "net\\.ipv4\\.conf\\.default\\.accept_source_route" /etc/sysctl.conf
net.ipv4.conf.default.accept_source_route= 0
7.4.3
修改建议
1)
加固方法:
i
、 在
/etc/sysctl.conf
文件中把查找到的行
在行首添加
“#”
进行注释,在注释行之后添
加以下内容
:
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
ii
、 运行以下命令以载入
sysctl
配置文件,并设置活动内核参数:
# sysctl -p
2)
还原方法:
i
、 把加固时新增的行全部删除,再去掉查找到的行
的行首的
“#”
。
ii
、 运行以下命令以载入
sysctl
配置文件,并设置活动内核参数:
# sysctl -p
7.5
数据包转发未禁止
7.5.1
说明
检查系统内核参数配置,检查
ip_forward
配置。
7.5.2
检查方法
运行以下命令并验证输出是否匹配:
# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0
# grep "net\\.ipv4\\.ip_forward" /etc/sysctl.conf
net.ipv4.ip_forward = 0
7.5.3
修改建议
1)
加固方法:
i
、 在
/etc/sysctl.conf
文件中把查找到的行
在行首添加
“#”
进行注释,在注释行之后添
加以下内容
:
net.ipv4.ip_forward = 0
30
ii
、 运行以下命令以载入
sysctl
配置文件,并设置活动内核参数:
# sysctl -p
2)
还原方法:
i
、 把加固时新增的行全部删除,再去掉查找到的行
的行首的
“#”
。
ii
、 运行以下命令以载入
sysctl
配置文件,并设置活动内核参数:
# sysctl -p
8
安全网络
8.1
关闭
IP
绑定
8.1.1
说明
检查是否配置关闭多
IP
绑定。
8.1.2
检查方法
1
、运行以下命令并验证是否关闭
IP
绑定,查看是否存在相关参数且值为
off
#grep multi /etc/host.conf
8.1.3
修改建议
1)
加固方法:
i
、在
/etc/host.conf
中设置添加参数
multi off
2)
还原方法:
删除加固时添加的行。
8.2
不允许对主机进行
IP
伪装
8.2.1
说明
检查是否配置关闭
IP
伪装。
8.2.2
检查方法
1
、运行以下命令并验证是否启用反向路由筛选,查看是否存在相关参数且值为
1
#sysctl -n net.ipv4.conf.all.rp_filter
#sysctl -n net.ipv4.conf.default.rp_filter
31
8.2.3
修改建议
1)
加固方法:
i
、 在
/etc/sysctl.conf
文件中找到查找行,在查找行前加“
#
”注释,然后添加以下
参数:
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
ii
、运行以下命令以设置活动内核参数:
# sysctl -w net.ipv4.conf.all.rp_filter = 1
# sysctl -w net.ipv4.conf.default.rp_filter = 1
2)
还原方法:
i
、在
/etc/sysctl.conf
文件中找到查找行,在查找行前去掉“
#
”注释,删除
以下行参数:
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
ii
、运行以下命令以设置活动内核参数:
# sysctl -w net.ipv4.conf.all.rp_filter = 0
# sysctl -w net.ipv4.conf.default.rp_filter = 0
8.3 snmp
加固
8.3.1
说明
检查是否修改
snmp
默认团体字。
8.3.2
检查方法
1
、验证是否安装了
snmp
:
$rpm -qa |grep net-snmp
2
、检查是否存在
/etc/snmp/snmpd.conf
3
、检查是否存在
private
、
public
团体名
8.3.3
修改建议
1)
加固方法:
i
、 如果系统未安装
snmp
服务,则无需加固
ii
、如存在
/etc/snmp/snmp.conf
,且存在
private
或
public
默认团体名
把查找到的行在行首添加“
#
”进行注释,在注释行之后添加以下内容:
把
private
或
public
改成:
kylin_snmp
,并去除
default
关键字。
iii
、重启
snmp
服务
32
systemctl restart snmpd
2)
还原方法:
i
、把加固时新增的行全部删除,再去掉查找到的行
的行首的
“#”
。
ii
、重启
snmp
服务
systemctl restart snmpd
9
系统命令
9.1
设置输出历史命令
9.1.1
说明
检查保留历史命令的条数。
9.1.2
检查方法
1
、运行以下命令,并验证返回内容,查看是否存在相关参数,且条数设置为
5
条以下。
# grep "^HISTSIZE" /etc/profile
。
9.1.3
修改建议
1)
加固方法:
i
、编辑
/etc/profile,
查找到的行
,
在行首添加
“#”
进行注释
,
在注释行下
添加如下:
HISTSIZE=5
2)
还原方法:
i
、查找
HISTSIZE
所在行
,
在行首去掉“
#
”注释
ii
、删除行
HISTSIZE=5
9.2
设置记录历史命令
9.2.1
说明
检查保留历史命令的记录文件大小。
9.2.2
检查方法
1
、运行以下命令,并验证返回内容,查看是否存在相关参数,且条数设置为
5
条以下。
# grep "^HISTFILESIZE" /etc/profile
。
33
9.2.3
修改建议
1)
加固方法:
i
、编辑
/etc/profile
查找到的行
,
在行首添加
“#”
进行注释
,
在注释行下
添加如下
HISTFILESIZE=5
2)
还原方法:
i
、
查找
HISTFILESIZE
所在行,
在行首去掉
“#”
注释
ii
、删除行
HISTFILESIZE =5
9.3 su
命令使用日志配置
9.3.1
说明
检查是否配置
su
命令使用情况记录。
9.3.2
检查方法
1
、存在
/etc/rsyslog.conf
,查看相关文件是否配置了如下行:
authpriv.*
/var/log/secure
9.3.3
修改建议
1)
加固方法:
1
、存在
/etc/rsyslog.conf
,添加如下行:
authpriv.*
/var/log/secure
2)
还原方法:
删除
authpriv.*
/var/log/secure
所在行
10
潜在危险
10.1
重命名
.netrc
文件
10.1.1
说明
是否删除
.netrc
文件。
10.1.2
检查方法
1
、运行以下命令并验证输出是否存在
.netrc
文件
#find / -name .netrc 2>/dev/null
34
10.1.3
修改建议
1)
加固方法:
i
、运行以下命令进行加固:
#find / -name .netrc 2>/dev/null|xargs -I {} mv {} {}.bak
2)
还原方法:
带
.bak
文件名改为不带
.bak
。
mv .netrc.bak .netrc
10.2
重命名
hosts.equiv
文件
10.2.1
说明
是否删除
hosts.equiv
文件。
10.2.2
检查方法
1
、运行以下命令并验证输出是否存在
hosts.equiv
文件
#find / -name hosts.equiv 2>/dev/null
10.2.3
修改建议
1)
加固方法:
运行以下命令进行加固:
#find / -name hosts.equiv 2>/dev/null|xargs -I {} mv {} {}.bak
2)
还原方法:
带
.bak
文件名改为不带
.bak
。
mv hosts.equiv.bak hosts.equiv
10.3
重命名
.rhosts
文件
10.3.1
说明
是否删除
.rhosts
文件。
10.3.2
检查方法
1
、运行以下命令并验证输出是否存在
.rhosts
文件
#find / -name .rhosts 2>/dev/null
35
10.3.3
修改建议
1)
加固方法:
运行以下命令进行加固:
#find / -name .rhosts 2>/dev/null|xargs -I {} mv {} {}.bak
2)
还原方法:
带
.bak
文件名改为不带
.bak
。
mv .rhosts.bak rhosts
10.4
重命名
equiv
文件
10.4.1
说明
检查是否存在
equiv
文件。
10.4.2
检查方法
1
、运行以下命令并验证输出是否存在
equiv
文件
#find / -name equiv 2>/dev/null
10.4.3
修改建议
1)
加固方法:
运行以下命令进行加固:
#find / -name equiv 2>/dev/null|xargs -I {} mv {} {}.bak
2)
还原方法:
带
.bak
文件名改为不带
.bak
。
mv equiv.bak equiv
10.5
重命名
rhosts
文件
10.5.1
说明
检查是否存在
rhosts
文件。
10.5.2
检查方法
1
、运行以下命令并验证输出是否存在
rhosts
文件
#find / -name rhosts 2>/dev/null
36
10.5.3
修改建议
1)
加固方法:
运行以下命令进行加固:
#find / -name rhosts 2>/dev/null|xargs -I {} mv {} {}.bak
2)
还原方法:
带
.bak
文件名改为不带
.bak
。
mv rhosts.bak rhosts
10.6 /etc/aliases
未禁用不必要的别名
10.6.1
说明
检查
/etc/aliases
是否禁用不必要的别名。
10.6.2
检查方法
1
、打开
/etc/aliases
,查看结果是否存在:
games: root
;
ingres: root
;
system: root
;
toor: root
;
uucp: root
;
manager: root
;
dumper:
root
;
operator: root
;
decode: root
;
root: mar
。
10.6.3
修改建议
1)
加固方法:
对上述检查的结果进行屏蔽,
在行首添加
“#”
进行注释
:
#games: root
#ingres: root
#system: root
#toor: root
#uucp: root
#manager: root
#dumper: root
#operator: root
#decode: root
#root: marc
2)
还原方法:
去除加固时注释行前面的
“#”
。
37
10.7 /etc/mail/aliases
未禁用不必要的别名
10.7.1
说明
检查
/etc/mail/aliases
是否禁用不必要的别名。
10.7.2
检查方法
打开
/etc/mail/aliases
,查看结果是否存在:
games: root
;
ingres: root
;
system: root
;
toor: root
;
uucp: root
;
manager: root
;
dumper:
root
;
operator: root
;
decode: root
;
root: mar
。
10.7.3
修改建议
1)
加固方法:
对上述检查的结果进行屏蔽,
在行首添加
“#”
进行注释
:
#games: root
#ingres: root
#system: root
#toor: root
#uucp: root
#manager: root
#dumper: root
#operator: root
#decode: root
#root: marc
2)
还原方法:
去除加固时注释行前面的
“#”
。
10.8
判断
chkrootkit
是否安装
10.8.1
说明
检查是否安装
chkrootkit
进行系统监测。
10.8.2
检查方法
1
、运行以下命令,并验证是否安装了
chkrootkit
#rpm -qa|grep chkrootkit
2
、如步骤
1
安装则,检查系统是否存在
rootkit
程序,运行以下命令:
38
#chkrootkit -p /home:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
10.8.3
安装方法
1
、 配置系统运行的网络环境
2
、 如未安装则提醒用户安装,运行以下命令安装
chkrootkit
软件
#yum install chkrootkit
3
、 执行
chkrootkit -p /home:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin,
检查
是否存在
rootkit
程序,并把疑似
rootkit
的程序输入到
/var/log/security_reinforce_chkrootkit.log
中。
11
系统设置
11.1 su
命令的访问限制
11.1.1
说明
检查是否使用
PAM
认证模块禁止
wheel
组之外的用户
su
为
root
。
11.1.2
检查方法
1
、运行以下命令并验证输出是否包含匹配行:
# grep pam_wheel.so /etc/pam.d/su
auth required pam_wheel.so
运行以下命令并验证控制盘组中的用户是否与站点策略匹配:
# grep wheel /etc/group
wheel:x:10:root,<user list>
11.1.3
修改建议
1)
加固方法:
在
etc/pam.d/su
中添加如下行
auth required pam_wheel.so group=wheel
2)
还原方法:
在
etc/pam.d/su
中删除如下行
auth required pam_wheel.so group=wheel
11.2
限制
core dump
11.2.1
说明
检查系统
core dump
设置。
39
11.2.2
检查方法
1
、运行以下命令并验证输出是否匹配:
# grep "hard core" /etc/security/limits.conf /etc/security/limits.d/*
* hard core 0
# grep "hard core" /etc/security/limits.conf /etc/security/limits.d/*
* soft core 0
11.2.3
修改建议
1)
加固方法:
在
/etc/security/limits.conf
文件中添加以下行:
* hard core 0
* soft core 0
重启生效
2)
还原方法:
在
/etc/security/limits.conf
文件中删除以下行:
* hard core 0
* soft core 0
重启生效
11.3
禁用
ctrl+alt+delete
11.3.1
说明
检查系统是否禁用
ctrl+alt+del
组合键。
11.3.2
检查方法
使用如下命令查看
logout
的
defualt
设置是否为””
#gsettings get org.mate.SettingsDaemon.plugins.media-keys logout
,
11.3.3
修改建议
1)
加固方法:
gsettings set org.mate.SettingsDaemon.plugins.media-keys logout ''
。用户注销后
再登陆,对当前用户生效
2)
还原方法:
命令行执行
gsettings set org.mate.SettingsDaemon.plugins.media-keys logout
'<Control><Alt>Delete'
。用户注销后再登陆,对当前用户均生效
40
11.4
设置空闲锁屏时间
11.4.1
说明
检查是否配置定时自动屏幕锁定(适用于具备图形界面的设备)。
11.4.2
检查方法
运行以下命令并验证锁屏时间,看是否小于等于
15
分钟
#gsettings get org.mate.session idle-delay
11.4.3
修改建议
1)
加固方法:
命令行执行
gsettings set org.mate.session idle-delay 15
。
生效方式是 :用户注销后再重新登录,对当前用户生效。
2)
还原方法:
命令行执行
gsettings set org.mate.session idle-delay
原始值。
生效方式是 :用户注销后再重新登录,对当前用户生效。
11.5
启用屏保
11.5.1
说明
检查是否配置定时自动屏幕锁定(适用于具备图形界面的设备)。
11.5.2
检查方法
运行以下命令并验证是否启用
,
结果为
blank-only
说明已启用
gsettings get org.ukui.screensaver mode
11.5.3
修改建议
1)
加固方法:
命令行执行
gsettings set org.ukui.screensaver mode blank-only
生效方式是 :用户注销后再重新登录,对当前用户生效。
2)
还原方法:
命令行执行
gsettings set org.ukui.screensaver mode
原始值。
生效方式是 :用户注销后再重新登录,对当前用户生效。
41
11.6
用户会话超时设置
11.6.1
说明
检查是否设置命令行界面超时退出。
11.6.2
检查方法
运行以下命令,并验证返回的所有
TMOUT
行都不超过
600
秒,文件存在一行。
# grep "^TMOUT" /etc/profile
export TMOUT=600
11.6.3
修改建议
1)
加固方法:
i
、 编辑
/etc/profile
文件添加如下行:
export TMOUT=600
ii
、运行如下命令:
source /etc/profile
2)
还原方法:
i
、 编辑
/etc/profile
文件并按如下方式删除
TMOUT
所在行
export TMOUT=600
ii
、 运行如下命令:
source /etc/profile
11.7 grub
引导设置密码
11.7.1
说明
检查是否设置系统引导管理器密码。
11.7.2
检查方法
运行以下命令,并验证
grub
是否设置了密码:
# grep "password_pbkdf2" | grep "grub.pbkdf2"
11.7.3
修改建议
1)
加固方法:
i
、运行以下命令进行加固:
# grub-mkpasswd-pbkdf2
42
Enter password
: 《《《这里输入你的
grub
密码
Reenter password
: 《《《这里输入你的
grub
密码
Your PBKDF2 is
grub.pbkdf2.sha512.10000.BC4D0A450E86EE447561FC822C832xxxxxxxxxxxxx4557
2D3B4E40500CE
ii
、在
/etc/grub2/grub.cfg
中添加如下行:
set superusers=“root”
password_pbkdf2 root
grub.pbkdf2.sha512.10000.BC4D0A450E86EE447561FC822C832xxxxxxxxxxxxx4557
2D3B4E40500CE
2)
还原方法:
从
/etc/grub2/grub.cfg
中把加固时(步骤
ii
)新增的行全部删除。
12
文件权限
12.1
默认用户
umask
为
027
或更严格
12.1.1
说明
检查用户目录缺省访问权限设置。
12.1.2
检查方法
1
、 使用
umask
命令查看当前
umask
值
2
、 若
umask
值不为
027
,则查看
/etc/bashrc
文件中是否包含对应
umask
值
12.1.3
修改建议
1)
加固方法:
1
、 编辑
/etc/bashrc
并添加或编辑
umask
参数如下:
umask 027
2
、 重启生效
2)
还原方法:
i
. 编辑
/etc/bashrc
并删除或编辑
umask
参数为之前的修改值
ii
.重启生效
43
12.2
配置重要目录文件的权限
12.2.1
说明
检查重要目录或文件权限设置。
12.2.2
目录文件
–
权限列表
/etc/rc.d/init.d/ 750
;
/etc/xinetd.conf 600
;
/etc/rc5.d/ 750
;
/etc/rc4.d 750
;
/etc/security 600
;
/etc/shadow 600
;
/etc/passwd 644
;
/etc/grub.conf 600
;
/boot/grub/grub.conf 600
;
/etc/lilo.conf
600
;
/etc/grub2.cfg 600
;
/boot/grub2/grub.cfg 600
;
/etc/rc0.d/ 750
;
/etc/rc6.d 750
;
/etc/rc1.d/ 750
;
/etc/rc2.d/ 750
;
/etc/group 644
;
/etc/services 644
;
/etc/rc3.d 750
;。
12.2.3
检查方法
1
、运行以下命令并访问权限是否符合上述文件目录权限或者更严
# stat <
目录
>
12.2.4
修改建议
1)
加固方法:
运行以下命令设置文件目录的权限:
# chmod <
权限
> <
文件目录名称
>
2)
还原方法:
运行以下命令设置成加固前
stat
命令查询出来的文件目录的权限:
# chmod <
权限
> <
文件目录名称
>
12.3
配置日志配置文件默认文件目录权限
12.3.1
说明
检查日志配置文件默认文件目录权限。
12.3.2
检查方法
1
、存在
/etc/rsyslog.conf
运行以下命令并验证
$FileCreateMode
是否具有
0640
或更高的限制,
# grep ^\\$FileCreateMode /etc/rsyslog.conf /etc/rsyslog.d/*.conf
运行以下命令并验证
$DirCreateMode
是否具有
0755
或更高的限制,
# grep ^\\$DirCreateMode /etc/rsyslog.conf /etc/rsyslog.d/*.conf
44
12.3.3
修改建议
1)
加固方法:
存在
/etc/rsyslog.conf
编辑
/etc/rsyslog.conf
文件,把查找到的行
在行首添加
“#”
进行注释,在注释行之后
添加以下内容,
将
$FileCreateMode
设置为
0640
或更严格
,$DirCreateMode
设置为
0755
或更严格:
$FileCreateMode 0640
$DirCreateMode 0755
2)
还原方法:
把加固时新增的行全部删除,去掉查找到的行
的行首的
“#”
。
12.4
日志文件权限加固
12.4.1
说明
检查日志文件权限设置。
12.4.1
日志文件
/var/log/mail
;
/var/log/boot.log
;
/var/log/localmessages
;
/var/log/secure
;
/var/log/messages
;
/var/log/cron
;
/var/log/spooler
;
/var/log/maillog
。
12.4.2
检查方法
运行以下命令并访问权限,确认是否满足文件
other
用户不可写
# stat <
目录
>
12.4.3
修改建议
1)
加固方法:
other
用户可写则运行以下命令设置文件的权限:
# chmod <644> <
文件目录名称
>
2)
还原方法:
运行以下命令设置成之前
stat
命令查询出来的文件目录的权限:
# chmod <
权限
> <
文件目录名称
>
45
12.5
配置
ftp
服务器
umask
12.5.1
说明
检查
FTP
用户上传的文件所具有的权限。
12.5.2
检查方法
1
、存在
/etc/vsftpd/vsftpd.conf
查看其参数
local_umask
是否是
022
或者更严。
12.5.3
修改建议
1)
加固方法:
存在
/etc/vsftpd/vsftpd.conf
,添加如下行:
local_umask 022
2)
还原方法:
在
/etc/vsftpd/vsftpd.conf
,删除如下行:
local_umask 022
12.6
配置
ftp
服务器用户访问权限
12.6.1
说明
检查并配置配置
ftp
服务器用户访问权限。
12.6.2
检查方法
1.
存在
/etc/vsftpd/vsftpd.conf
查看是否配置
chroot_local_user=YES
、
allow_writeable_chroot = YES
12.6.3
修改建议
1)
加固方法:
i
、在
/etc/vsftpd/vsftpd.conf
文件中找到配置项所在行,
把查找到的行在行首添加
“#”
进行注释,在注释行之后添加以下内容
chroot_local_user=YES
allow_writeable_chroot = YES
如需要写权限需要再配置:
write_enable=YES
ii
、重启
vsftp
服务
systemctl restart vsftp
46
2)
还原方法:
i
、在
/etc/vsftpd/vsftpd.conf
文件中,找到加固配置项所在行,
把查找到的行在行首
前
“#”
进行删除,把加固时新增的内容删除。
ii
、重启
vsftp
服务
systemctl restart vsftp
13
磁盘检查
13.1
系统磁盘扩容
13.1.1
说明
检查系统磁盘分区使用率。
13.1.2
检查方法
1
、运行以下命令,并验证返回磁盘空间是否超过
80%
# df -h |grep -w '/' |awk '{print $5}'|awk -F '%' '{print $1}'
13.1.3
修改建议
1)
加固方法:
如存在磁盘使用率超过
80%
的则提醒用户扩容。
13.2 tripwire
加固
13.2.1
说明
文件系统和磁盘完整性校验。
13.2.2
检查方法
1
、运行以下命令,并验证是否安装了
tripwire
#rpm -qa|grep tripwire
13.2.3
修改建议
1)
加固方法:
如未安装则提醒用户安装。
47
14
资源分配
14.1 quota
加固
14.1.1
说明
应以每个用户或每个用户组为基础,提供一种机制,控制其对磁盘的消耗和对CPU等
资源的使用。
14.1.2
检查方法
1
、运行以下命令,并验证是否安装了
quota
#rpm -qa|grep quota
14.1.3
修改建议
1)
加固方法:
如未安装则提醒用户安装。
14.2 cgroup
加固
14.2.1
说明
应以每个用户或每个用户组为基础,提供一种机制,控制其对磁盘的消耗和对
CPU
等
资源的使用。
14.2.2
检查方法
1
、运行以下命令,并验证是否安装了
libcgroup
#rpm -qa|grep libcgroup
14.2.3
修改建议
1)
加固方法:
如未安装则提醒用户安装。
15
系统维护
15.1 grub
维护模式设置
15.1.1
说明
应提供维护模式中运行系统的能力,在维护模式下各种安全功能全部失效。系统仅允许
系统管理员进入维护模式。
48
15.1.2
检查方法
1
、若系统为
uboot
引导,运行以下命令并验证输出是否匹配:
# cat -n /boot/grub2/grub.cfg|sed -n ‘/rescue/,/\\}/p’|grep vmlinuz|grep “init=”
2
、若系统为
uefi
引导,运行以下命令并验证输出是否匹配:
# cat -n /boot/efi/EFI/kylin/grub.cfg|sed -n ‘/rescue/,/\\}/p’|grep vmlinuz|grep “init=”
15.1.3
修改建议
1)
加固方法:
在
/boot/grub2/grub.cfg
或者
/boot/efi/EFI/kylin/grub.cfg
文件里,查找到匹配行后,把
查找到的行在行首添加“
#
”进行注释,在注释行之后添加以下内容。
如:
linux/vmlinuz-0-rescue-6538b46541e04ca29dece0eabc82d725
root=/dev/mapper/klas-root rw resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root
rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high init=/bin/bash
。
2)
还原方法:
在
/boot/grub2/grub.cfg
或者
/boot/efi/EFI/kylin/grub.cfg
文件里,查找到匹配行后,去
掉行前的“
#
”,再把加固时增加的行删除。
评论前必须登录!
注册