超节点

版本:24.03 LTS SP4

UBSIO-BoostIO 安全指南 ​

本文档汇总 UBSIO-BoostIO 的通信矩阵、运行用户与文件权限建议、安全加固、账户及公网地址说明。

通信矩阵 ​

原设备源IP地址源端口目的设备目的IP地址目的端口(侦听)协议端口说明侦听端口是否可更改认证方式加密方式所属平面备注
计算服务器计算服务器IP地址随机分配(由操作系统自动分配)BoostIO ServerBoostIO Server自配置IP7201-7800ROCEBoostIO SDK与BoostIO Server之间的通信交互;BoostIO Server和BoostIO Server之间的通信交互是证书双向认证TLS1.3业务面无
计算服务器计算服务器IP地址随机分配(由操作系统自动分配)BoostIO ServerBoostIO Server自配置IP7201-7800TCPBoostIO SDK与BoostIO Server之间的通信交互;BoostIO Server和BoostIO Server之间的通信交互是证书双向认证TLS1.3业务面无
计算服务器计算服务器IP地址随机分配(由操作系统自动分配)Zookeeper运行服务器Zookeeper配置客户配置TCPZookeeper业务端口,用于BoostIO集群管理的消息交互否Zookeeper配置Zookeeper配置业务面Zookeeper为开源组件,由客户自己安装在环境上安装。配置参考Zookeeper的官网安全配置。
计算服务器计算服务器IP地址随机分配(由操作系统自动分配)Ceph运行服务器Ceph配置客户配置TCPCeph业务端口,用于BoostIO集群数据交互否Ceph配置Ceph配置业务面用户将后端存储类型配置为Ceph时才会存在此通信链路,配置参考Ceph的官网安全配置。
计算服务器计算服务器IP地址随机分配(由操作系统自动分配)HDFS运行服务器HDFS配置客户配置TCPHDFS业务端口,用于BoostIO集群数据交互否HDFS配置HDFS配置业务面用户将后端存储类型配置为HDFS时才会存在此通信链路,配置参考HDFS的官网安全配置。

通信矩阵中涉及的安全配置建议用户根据实际业务场景和安全要求进行配置。

运行用户建议 ​

基于安全性考虑,建议您在执行任何命令时,不建议使用root等管理员类型账户执行,遵循权限最小化原则。

文件权限建议 ​

  • 建议用户在主机(包括宿主机)及容器中设置运行系统umask值为0027及以上,保障新增文件夹默认最高权限为750,新增文件默认最高权限为640。
  • 建议对使用当前项目已有和产生的文件、数据、目录,设置如下建议权限。
类型Linux权限参考最大值
用户主目录750(rwxr-x---)
程序文件(含脚本文件、库文件等)550(r-xr-x---)
程序文件目录550(r-xr-x---)
配置文件640(rw-r-----)
配置文件目录750(rwxr-x---)
日志文件(记录完毕或者已经归档)440(r--r-----)
日志文件(正在记录)640(rw-r-----)
日志文件目录750(rwxr-x---)
Debug文件640(rw-r-----)
Debug文件目录750(rwxr-x---)
临时文件目录750(rwxr-x---)
维护升级文件目录770(rwxrwx---)
业务数据文件640(rw-r-----)
业务数据文件目录750(rwxr-x---)
密钥组件、私钥、证书、密文文件目录700(rwx------)
密钥组件、私钥、证书、加密密文600(rw-------)
加解密接口、加解密脚本500(r-x------)

安全加固 ​

设置登录会话超时时间 ​

登录会话30分钟(或更短)的时间内没有活动的情况下属于超时。

  1. 登录安装UBS IO组件的节点。

  2. 执行以下命令,打开“/etc/profile“文件。

    cmd
    vim /etc/profile
  3. 按“i”进入编辑模式,在文件尾部增加以下内容。

    cmd
    export TMOUT=1800
    readonly TMOUT
  4. 按“ESC”键,输入:wq!,按“Enter”保存并退出编辑。

设置umask ​

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

此处以设置umask为027为例。

  1. 以root用户登录服务器,编辑“/etc/profile“文件。

    cmd
    vim /etc/profile
  2. 在“/etc/profile“文件末尾加上umask 027,保存并退出。

  3. 执行如下命令使配置生效。

    cmd
    source /etc/profile

安全配置基线 ​

所属功能域/功能TLS证书开关
OM对象(可选)NA
配置参数(可选)NA
规则分类(支持定制)证书管理
规则分类IDNA
规则子类(支持定制)TLS证书认证
规则子类IDNA
规则名称启用TLS认证
规则IDNA
风险等级中
规则描述开启后,集群中所有的Client端和Server端需要同步开启TLS认证,否则会连接失败。同时UBS IO集群中的所有计算节点均需开启TLS认证。
风险描述不开启TLS,网络通信数据未加密容易泄露。
修复影响开启之后通信通道数据加密传输。
取值范围[true,false]
安全推荐值TRUE
缺省值TRUE
修复建议无
是否必选项是
是否默认安全是

密钥更新 ​

密钥更新需要重启UBS IO加速组件服务,请合理规划密钥更新周期。密钥管理请参见配置说明中的 TLS 认证配置。

缓冲区溢出安全保护 ​

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

开启方式:

cmd
echo 2 >/proc/sys/kernel/randomize_va_space

说明:

该命令需要root权限才能执行,且该修改方式是临时的,系统重启后会失效。

账户一览表 ​

说明:

用户创建的安装用户需定期修改密码。

用户描述初始密码密码修改方法
bioadmin分离部署场景UBS IO Server运行用户。用户自定义。使用passwd命令修改。
juiceadmin融合部署场景上层调用组件运行用户。用户自定义。使用passwd命令修改。

公网地址声明 ​

以下地址来自源码、构建配置或文档引用,均用于开源依赖、许可证或安全配置说明。

类型开源代码地址文件名公网IP地址/公网URL地址/域名/邮箱地址用途说明
依赖三方库https://gitcode.com/Ascend/mockcpp.gitCMakeLists.txthttps://gitcode.com/Ascend/mockcpp.git单元测试框架依赖
依赖三方库https://gitcode.com/openeuler/libboundscheck.gitCMakeLists.txthttps://gitcode.com/openeuler/libboundscheck.git安全边界检查库依赖
依赖三方库https://gitcode.com/openeuler/ubs-comm.gitCMakeLists.txthttps://gitcode.com/openeuler/ubs-comm.git通信库依赖
依赖三方库https://gitcode.com/gh_mirrors/pr/prometheus-cpp.gitCMakeLists.txthttps://gitcode.com/gh_mirrors/pr/prometheus-cpp.git监控指标库依赖
依赖三方库https://codehub.devcloud.cn-north-4.huaweicloud.com/aca5f619a7a34d3fb99b76a842fda236/googletest.gitinstall_test_tools.shhttps://codehub.devcloud.cn-north-4.huaweicloud.com/aca5f619a7a34d3fb99b76a842fda236/googletest.git单元测试框架依赖
license 地址不涉及LICENSEhttp://license.coscl.org.cn/MulanPSL2licensefile
license 地址不涉及多处源码文件头http://www.apache.org/licenses/LICENSE-2.0Apache许可证声明
license 地址https://github.com/nginx/nginx/blob/master/LICENSEnginx相关代码文件https://github.com/nginx/nginx/blob/master/LICENSEnginx代码License
依赖三方库https://docs.ceph.com/en/latest/rados/configuration/auth-config-ref/#keysboostio_deployment_guide.mdhttps://docs.ceph.com/en/latest/rados/configuration/auth-config-ref/#keysCeph密钥配置参考