2.3. Ceph 身份验证


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

注意

cephx 协议不为通过网络传输的数据或 OSD 中存储的数据进行数据加密寻址。

cephx 使用共享密钥进行身份验证,这意味着客户端和 monitor 集群都具有客户端的机密密钥的副本。认证协议使双方能够相互证明自己有一份密钥副本,而无需实际披露它。这提供了相互身份验证,这意味着集群确定用户拥有 secret 密钥,并且用户确定集群有 secret 密钥的副本。

cephx

cephx 身份验证协议的工作方式与 Kerberos 类似。

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

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

注意

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

CephX
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.