3.6. Ceph on-wire 加密


您可以使用 messenger 版本 2 协议通过网络为所有 Ceph 流量启用加密。me senger v2 的安全模式设置加密 Ceph 守护进程和 Ceph 客户端之间的通信,从而为您提供端到端加密。

Ceph on-wire 协议 msgr2 的第二个版本包括几个新功能:

  • 安全模式通过网络加密所有数据。
  • 身份验证有效负载的封装改进。
  • 功能公告和协商的改进。

Ceph 守护进程绑定到多个端口,允许旧旧 v1- 兼容新的 v2 兼容 Ceph 客户端,以连接同一存储集群。Ceph 客户端或其他 Ceph 守护进程连接到 Ceph Monitor 守护进程将先尝试使用 v2 协议(如果可能),但若不可能,则使用旧的 v1 协议。默认情况下,启用 messenger 协议 v1 和 v2。新的 v2 端口为 3300,旧的 v1 端口默认为 6789。

messenger v2 协议有两个配置选项,用于控制是否使用 v1 还是 v2 协议:

  • ms_bind_msgr1 - 这个选项控制守护进程是否绑定到 v1 协议的端口,默认为 true。
  • ms_bind_msgr2 - 这个选项控制守护进程是否绑定到 v2 协议的端口,默认为 true。

同样,两个选项根据使用的 IPv4 和 IPv6 地址进行控制:

  • ms_bind_ipv4 - 此选项控制守护进程是否绑定到 IPv4 地址;默认为 true。
  • ms_bind_ipv6 - 这个选项控制守护进程是否绑定到 IPv6 地址,默认为 true。

msgr2 协议支持两种连接模式:

  • crc

    • 当使用 cephx 建立连接时,提供强大的初始身份验证。
    • 提供 crc32c 完整性检查,以防止比特反转(bit flipping)攻击。
    • 不能提供对恶意的中间人攻击提供保护。
    • 不能阻止对认证后的网络流量进行窃听。
  • secure

    • 当使用 cephx 建立连接时,提供强大的初始身份验证。
    • 提供所有认证后的网络流量的完全加密。
    • 提供加密完整性检查。

默认模式是 crc。

请确定在规划 Red Hat Ceph Storage 集群时考虑集群 CPU 要求,使其包含加密开销。

重要

Ceph 内核客户端目前支持使用 secure 模式,比如 Red Hat Enterprise Linux 上的 CephFS 和 krbd。Ceph 客户端使用 librbd (如 OpenStack Nova、Glance 和 Cinder)支持使用 secure 模式。

地址更改

对于同一存储集群中共存的 messenger 协议的两个版本,地址格式已更改:

  • 旧地址格式为:IP_ADDR:PORT/CLIENT_ID,例如 1.2.3.4:5678/91011。
  • 新的格式为:PROTOCOL_VERSION:IP_ADDR:PORT/CLIENT_ID,例如 v2:1.2.3.4:5678/91011,其中 PROTOCOL_VERSION 可以是 v1 或 v2。

由于 Ceph 守护进程现在绑定到多个端口,因此守护进程会显示多个地址,而不是单个地址。以下是 monitor 映射转储的示例:

epoch 1
fsid 50fcf227-be32-4bcb-8b41-34ca8370bd17
last_changed 2021-12-12 11:10:46.700821
created 2021-12-12 11:10:46.700821
min_mon_release 14 (nautilus)
0: [v2:10.0.0.10:3300/0,v1:10.0.0.10:6789/0] mon.a
1: [v2:10.0.0.11:3300/0,v1:10.0.0.11:6789/0] mon.b
2: [v2:10.0.0.12:3300/0,v1:10.0.0.12:6789/0] mon.c

此外,mon_host 配置选项并使用 -m 在命令行中指定地址,支持新的地址格式。

连接阶段

进行加密的连接有四个阶段:

横幅
连接时,客户端和服务器会发送横幅。目前,Ceph 横幅是 ceph 0 0n。
身份验证交换
所有数据(发送或接收)包含在连接的持续时间内。服务器将决定身份验证是否已完成,以及连接模式是什么。框架格式已被修复,可以采用三种不同的形式,具体取决于所使用的身份验证标志。
Message Flow Handshake Exchange
对等点互相识别并建立会话。客户端会发送第一个消息,服务器将使用相同的消息进行回复。如果客户端与错误守护进程通信,服务器可以关闭连接。对于新会话,客户端和服务器会继续交换消息。客户端 Cookie 用于识别会话,并可重新连接现有会话。
消息交换
客户端和服务器开始交换消息,直到连接关闭为止。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部