2.3. Ceph 身份验证


为了识别用户和防止中间人攻击,Ceph 提供其 cephx 身份验证系统,用于验证用户和守护进程。

注意

cephx 协议不会处理通过存储在 OSD 中的网络或数据传输的数据加密。

cephx 使用共享密钥来进行身份验证,这意味着客户端和服务器均有客户端的机密密钥的副本。身份验证协议使双方能够证明其各自具有密钥副本,而无需实际发现它。这提供了 mutual 身份验证,这意味着集群是确保用户具有 secret 密钥,用户则确保集群具有 secret 密钥的副本。

Cephx

cephx 身份验证协议以类似于 Kerberos 的方式运行。

一个用户/actor 可以调用 Ceph 客户端以联系 monitor。与 Kerberos 不同,每个监控器可以验证用户和分发密钥,因此使用 cephx 时没有单点故障或瓶颈。monitor 返回与 Kerberos ticket 类似的身份验证数据结构,其中包含用于获取 Ceph 服务的会话密钥。此会话密钥本身通过用户的永久 secret 密钥加密,以便只有用户可以从 Ceph 监视器请求服务。然后,客户端使用 session 键从 monitor 请求其所需的服务,监控器为客户端提供一个 ticket,将客户端验证实际处理数据的 OSD。Ceph 监视器和 OSD 共享机密,因此客户端可以使用监控器提供的票据以及集群中的任何 OSD 或元数据服务器。与 Kerberos 一样,cephx 票据到期,因此攻击者无法使用过期的票据或会话密钥被大量获得。这种验证形式可防止攻击者访问通信介质的攻击者,可以在另一个用户的身份下创建虚假消息,或者更改其他用户的合法消息,只要用户的机密密钥在过期之前不会被篡改。

要使用 cephx,管理员必须首先设置用户。在以下示意图中,client.admin 用户从命令行调用 ceph auth get-or-create-key 来生成用户名和密钥。Ceph 的 auth 子系统生成用户名和密钥,使用 monitor(s)存储副本,并将用户的机密信息传输回 client.admin 用户。这意味着客户端和 monitor 共享一个 secret 密钥。

注意

client.admin 用户必须以安全的方式向用户提供用户 ID 和密钥。

CephX
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.