---
title: 安全检查与加固
description: "定期开展对集群和Spark组件的防病毒扫描，防病毒例行检查会帮助集群免受病毒、恶意代码、间谍软件以及恶意程序，降低系统瘫痪、信息泄露等风险。建议使用业界主流防病毒软件进行防病毒检查。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/230RC2/bds/kunpengbds_omniruntime_20_0098.html
sourcePath: /source/zh/kunpengboostkithistory/230RC2/bds/kunpengbds_omniruntime_20_0098.html
indexId: 8474afd74d08cd44eee89f5a2fc78833d8e89c78505dd1b58d04425d0930d49580
---
# 安全检查与加固

#### 防病毒软件例行检查

定期开展对集群和Spark组件的防病毒扫描，防病毒例行检查会帮助集群免受病毒、恶意代码、间谍软件以及恶意程序，降低系统瘫痪、信息泄露等风险。建议使用业界主流防病毒软件进行防病毒检查。


#### 日志控制

关注点：

- 检查系统是否可以限制单个日志文件的大小。
- 检查日志空间占满后，是否存在机制进行清理。


#### 检查算子下推日志

OmniData算子下推引用了log4j的日志框架，用户可通过修改etc目录下面的logback.xml修改日志记录的相关配置：

- 检查系统是否可以限定单个日志文件的大小。
- 检查系统是否可以限定日志文件的数量或大小的总和。
- 检查日志空间占满后，是否存在机制进行清理。

日志的主要配置如下：

```
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--LOG FILE NAME-->
<FileNamePattern>${LOG_HOME}/omnidata-server.%d{yyyy-MM-dd}.%i.log.gz</FileNamePattern>
<!--LOG FILE RETENTION DAYS -->
<MaxHistory>30</MaxHistory>
<!-- LOG FILE MAX SIZE -->
<MaxFileSize>20MB</MaxFileSize>
<!-- LOG FILE TOTAL SIZE CAP -->
<TotalSizeCap>2GB</TotalSizeCap>
</rollingPolicy>
```


#### 检查HAF日志

HAF的日志使用配置文件进行日志相关功能的配置。日志分为审计日志和运行日志。审计日志的配置文件名为LogAuditCfg.json，运行日志的配置文件名为LogServiceCfg.json。

用户可修改“/home/omm/omnidata-install/haf-offload/etc” 目录下对应的配置：

- 检查系统是否可以限定单个日志文件的大小。logSize设置日志大小，有效范围为1M-100M。
- 检查系统是否可以限定日志文件的数量或大小的总和。backupCount设置备份日志数量，有效范围为0-100。
- 检查日志空间占满后，是否存在机制进行清理。通过覆盖备份日志实现。

日志的主要配置如下：

```
{
"autoReload": false,
"backupCount": 10,
"logFile": "service.log",
"logHeaderFormat": "%time%user%level%pid%tname%function%line",
"logLevel": "INFO",
"logPath": "/home/omm/haf-install/haf-target/logs/haf_user",
"logSize": 10485760
}
```


#### 缓冲区溢出安全保护

为阻止缓冲区溢出攻击，建议使用ASLR（Address space layout randomization）技术，通过对堆、栈、共享库映射等线性区布局的随机化，增加攻击者预测目的地址的难度，防止攻击者直接定位攻击代码位置。该技术可作用于堆、栈、内存映射区（mmap基址、shared libraries、vdso页）。

开启方式：

echo 2 >/proc/sys/kernel/randomize_va_space


#### 漏洞修复

为保证生产环境的安全，降低被攻击的风险，请开启防火墙，并定期修复以下漏洞。

- 操作系统漏洞
- JDK漏洞
- Hadoop及Spark漏洞
- ZooKeeper漏洞
- Kerberos漏洞
- OpenSSL漏洞
- 其他相关组件漏洞
  以CVE-2021-37137为例。

  漏洞描述：

  Netty 4.1.17版本存在两个Content-Length的http header可能会发生混淆的风险通告，漏洞编号：CVE-2021-37137。

  本系统使用hdfs-ceph （version 3.2.0）服务作为存算分离的存储对象，它因依赖aws-java-sdk-bundle-1.11.375.jar而涉及该漏洞。建议用户及时更新漏洞补丁进行防护，以免遭受黑客攻击。

  影响范围：

  Netty 4.1.68及以前版本。

  修复建议：

  目前厂商已发布升级补丁以修复漏洞，请参考如下网址修复漏洞。

  https://github.com/netty/netty/security/advisories/GHSA-9vjp-v76f-g363(https://github.com/netty/netty/security/advisories/GHSA-9vjp-v76f-g363)


#### SSH加固

OmniData算子下推和HAF在部署安装过程，需要通过SSH连接服务器。由于root用户拥有最高权限，直接使用root用户登录服务器可能会存在安全风险。

建议您使用普通用户登录服务器进行安装部署，并建议您通过配置禁止root用户SSH登录的选项，来提升系统安全性。操作步骤：

用户登录系统后检查“/etc/ssh/sshd_config”配置项“PermitRootlogin”。

- 如果显示no，说明禁止了root用户SSH登录。
- 如果显示yes，则需要修改PermitRootlogin为no。
