中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

安全检查与加固

通过安全检查与加固提高系统或网络的安全性和稳定性,防止黑客攻击、数据泄露、系统崩溃等问题的发生。同时,也可以满足法规和合规要求,保护用户隐私和信息安全。

防病毒软件例行检查

此项所有特性均需关注。

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

日志控制

此项除OmniShuffle Shuffle加速外均需关注。

关注点:

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

设置登录会话超时时间

此项仅需OmniShield机密大数据特性关注。

登录会话30分支(或更短)的时间内没有活动的情况下应该超时。具体操作步骤如下:

  1. 登录安装Ascend-mindxdl-mindio组件的节点。
  2. 执行以下命令,打开“/etc/profile”文件。
    1
    vim /etc/profile
    
  3. 按“i”进入编译模式,在文件尾部增加以下内容。
    1
    2
    export TMOUT=1800
    readonly TMOUT
    
  4. 按“ESC”键,输入 :wq!,按“Enter”保存并退出编辑。

设置禁用History命令

此项仅需OmniShield机密大数据特性关注。

为了防止通过History查看历史操作信息,需要设置禁用History命令。具体操作步骤如下:

  1. 登录安装Ascend-mindxdl-mindio组件的节点。
  2. 执行以下命令,打开“/etc/profile”文件。
    1
    vim /etc/profile
    
  3. “i”进入编译模式,在文件尾部增加以下内容。
    1
    2
    export HISTFILESIZE=0
    readonly HISTFILESIZE
    
  4. “ESC”键,输入 :wq!,按“Enter”保存并退出编辑。

设置umask

此项仅需OmniShield机密大数据特性关注。

建议用户服务器的umask设置为027~777,提高文件权限。

以设置umask为027为例,具体操作如下所示:

  1. 以root用户登录服务器,打开“/etc/profile”文件。
    1
    vim /etc/profile
    
  2. “i”进入编辑模式,在文件末尾加上umask 027
  3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  4. 执行如下命令使配置生效。
    1
    source /etc/profile
    

缓冲区溢出安全保护

为阻止缓冲区溢出攻击,建议使用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

SSH加固

此项所有特性均需关注。

在部署安装过程,需要通过SSH连接服务器。由于root用户拥有最高权限,直接使用root用户登录服务器可能会存在安全风险。建议您使用普通用户登录服务器进行安装部署,并建议您通过配置禁止root用户SSH登录的选项,来提升系统安全性。操作步骤:

登录后检查/etc/ssh/sshd_config配置项“PermitRootlogin”

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

信息泄露风险提醒

此项仅OmniShuffle Shuffle加速特性需关注。

ock.conf文件中的三个安全配置(ock.ucache.rpc.enableAuthentication,ock.ucache.rpc.enableTLS,ock.ucache.rpc.enableAuthorization)和Zookeeper的安全配置开关支持关闭,但关闭认证和传输加密可能会引入仿冒、信息泄露等风险,用户需谨慎操作。

地址随机化及内核地址栈编译开关

此项仅OmniShuffle Shuffle加速特性需关注。

为保证程序运行阶段内存地址保护,建议用户在编译选项中开启地址随机化randomize_va_space(如:echo 2 >\proc\sys\kernel\randomize_va_space)和内核地址栈保护配置,包括但不限于KASLR,PAX,SMAP/SMEP。

密钥更新

此项仅OmniShuffle Shuffle加速特性需关注。

密钥更新需要重启OmniShuffle Shuffle加速服务,请合理规划密钥更新周期。

使用kmc_tool工具定期进行密钥更新。

导入吊销列表

此项仅OmniShuffle Shuffle加速特性需要关注。

用户可以通过生成吊销列表文件后,在配置文件中配置吊销文件路径,吊销列表在重启OCKD进程后生效。

配置限制集群外IP地址访问

此项仅OmniShuffle Shuffle加速特性需要关注。

为了避免集群外Dos攻击,建议用户在集群防火墙配置限制集群外IP地址访问方式。

常见大数据集群环境为多网卡,即业务网(小网,带宽较大的网卡)和管理网(带宽较小的网卡)。建议将OmniShuffle Shuffle加速的监测端口都绑定为业务网络,并通过防火墙配置各节点业务网络为仅接受集群组网的网段报文,以抵御来自集群外部的DOS攻击。

本文以主节点(master)+计算节点(slave01,slave02,slave03)的经典组网为例:每个节点均有两个网卡(假设为网卡A和网卡B),网卡A为10GE,管理网段为90.90.1.*,网卡B为100GE,业务网段为192.168.1.*。那么可通过以下配置策略消减来自业务集群外的DOS攻击风险。

  1. 各节点保证OmniShuffle Shuffle加速网络通信通过网卡B进行。

    ock.conf文件中的“ock.ucache.rpc.transport.devices”配置为网卡B的设备名称。

  2. 各节点配置防火墙策略。

    通过iptables或ACL规则等限制此节点业务网段只接受网卡B业务网段192.168.1.*的报文。

配置Kerberos身份认证票据

此项仅OmniShuffle Shuffle加速特性需要关注。

由于OmniShuffle Shuffle加速业务以及ZooKeeper认证均通过Kerberos完成,为了消减Kerberos认证可能存在的重放攻击导致仿冒,建议将身份认证票据有效期设置为最短时间。

推荐环境变量设置

此项仅OmniShuffle Shuffle加速特性需要关注。

HCOM环境变量推荐配置章节中,UCX_TCP_TX_MAX_BUFS、UCX_TCP_RX_MAX_BUFS、UCX_RC_VERBS_TX_MAX_BUFS、UCX_RC_VERBS_RX_MAX_BUFS、UCX_RC_MLX5_TX_MAX_BUFS、UCX_RC_MLX5_RX_MAX_BUFS等环境变量的缺省值为-1,表示底层通信库UCX使用的内存没有上限,为了避免内存使用过大导致服务不可用,建议最大数目设置为131072(在单个Buffer大小为8K时最大的缓存池为1GB),用户可根据自己服务器的内存配置以及业务流量合理设置该环境变量。