云计算百科
云计算领域专业知识百科平台

银河麒麟高级服务器操作系统 V10 SP3 2303安全加固手册

目录

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
.

.
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
文件里,查找到匹配行后,去

掉行前的“
#
”,再把加固时增加的行删除。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 银河麒麟高级服务器操作系统 V10 SP3 2303安全加固手册
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!