3.3. 传输中加密(Encryption in transit)
从 Red Hat Ceph Storage 4 及更高版本开始,您可以通过引入 messenger version 2 协议,为网络上的所有 Ceph 流量启用加密。me
senger v2 的安全模式设置加密 Ceph 守护进程和 Ceph 客户端之间的通信,从而为您提供端到端加密。
messenger v2 协议
Ceph on-wire 协议 msgr2
的第二个版本包括几个新功能:
- 安全模式通过网络加密所有数据。
- 身份验证有效负载的封装改进。
- 功能公告和协商的改进。
Ceph 守护进程绑定到多个端口,允许旧旧 v1- 兼容新的 v2 兼容 Ceph 客户端,以连接同一存储集群。Ceph 客户端或其他 Ceph 守护进程连接到 Ceph Monitor 守护进程将先尝试使用 v2
协议(如果可能),但若不可能,则使用旧的 v1
协议。默认情况下,启用 messenger 协议 v1
和 v2
。新的 v2 端口为 3300,旧的 v1 端口默认为 6789。
msgr2
协议支持两种连接模式:
crc
-
当使用
cephx
建立连接时,提供强大的初始身份验证。 -
提供
crc32c
完整性检查,以防止比特反转(bit flipping)攻击。 - 不能提供对恶意的中间人攻击提供保护。
- 不能阻止对认证后的网络流量进行窃听。
-
当使用
secure
-
当使用
cephx
建立连接时,提供强大的初始身份验证。 - 提供所有认证后的网络流量的完全加密。
- 提供加密完整性检查。
-
当使用
默认模式是 crc
。
Ceph 对象网关加密
另外,Ceph 对象网关支持使用其 S3 API 与客户提供的密钥进行加密。
为了遵守法规合规性标准要求传输严格的加密,管理员必须通过客户端侧加密部署 Ceph 对象网关。
Ceph 块设备加密
系统管理员使用 dm_crypt
将 Ceph 块设备卷集成为 Red Hat OpenStack Platform 13 必须 加密 Ceph 块设备卷,以确保 Ceph 存储集群中的在线加密。
为了遵守法规合规性标准要求传输严格的加密,系统管理员必须使用 dmcrypt
用于 RBD Cinder,以确保 Ceph 存储集群中的在线加密。
其它资源
- 如需了解有关 SSL 终止的详细信息,请参阅 Red Hat Ceph Storage Data Security and Hardening Guide。
- 如需有关 S3 API 加密的详细信息,请参阅 Red Hat Ceph Storage Developer Guide。
3.3.1. 启用 messenger v2 协议
对于 Red Hat Ceph Storage 4 的新安装,默认为启用 messenger v2 协议 msgr2
。对于 Red Hat Ceph Storage 3 或更早版本,Ceph Monitor 绑定到旧的 v1 端口 6789
。升级后,您可以启用 msgr2
协议来利用其新功能。在重启 Ceph Monitor 服务后,Ceph Monitor 会绑定到 msgr2
协议后,它们开始公告 v2 地址。msgr2
协议的默认连接模式是 crc
请确定在规划 Red Hat Ceph Storage 集群时考虑集群 CPU 要求,使其包含加密开销。
Ceph 内核客户端目前支持使用 secure
模式,比如 Red Hat Enterprise Linux 8.2 上的 CephFS 和 krbd
。Ceph 客户端使用 librbd
(如 OpenStack Nova、Glance 和 Cinder)支持使用 secure
模式。
先决条件
- 正在运行的 Red Hat Ceph Storage 4 集群。
- 在防火墙中打开 TCP 端口 3300。
- Ceph 监控节点的 root 级别访问。
流程
-
默认情况下,打开 Ceph 配置文件(默认为
/etc/ceph/ceph.conf
)进行编辑。 在
[global]
部分下,将以下内容添加到新行中:ms_bind_msgr2 = true
另外,要在 Ceph 守护进程之间启用在线加密,并在 Ceph 客户端和守护进程之间启用在线加密,请在 Ceph 配置文件的
[global]
部分中添加以下选项:[global] ms_cluster_mode=secure ms_service_mode=secure ms_client_mode=secure
- 保存对 Ceph 配置文件的更改。
- 将更新的 Ceph 配置文件复制到 Red Hat Ceph Storage 集群中的所有节点。
启用
msgr2
协议:[root@mon ~]# ceph mon enable-msgr2
重启每个 Ceph Monitor 节点上的 Ceph Monitor 服务:
[root@mon ~]# systemctl restart ceph-mon.target
其它资源
-
如需有关
msgr2
协议的更多详情,请参阅 Red Hat Ceph Storage 架构指南。