设置 `require_client_auth` 的功能

Pay*_*yal 2 cassandra

我正在尝试将客户端设置为我们的客户端之一的节点 SSL 加密。

我对 cassandra.yaml 中 client_encryption_options 中设置的功能require_client_auth以及在将 require_client_auth 设置为 true 时需要从客户端和 cassandra 节点设置哪些配置感到困惑。

密码身份验证已设置,现在调查同时打开两者(“authenticator:PasswordAuthenticator”和“require_client_auth:true”)是否有任何额外优势

Aar*_*ron 7

正如 Jim 所说,require_client_auth与 Cassandra 的身份验证系统没有任何关系。它是客户端到节点 SSL 的附加安全配置级别。

\n\n

当您实施客户端到节点 SSL启用时require_client_auth,您就启用了所谓的双向 SSL。Cassandra 客户端不仅仅验证服务器的身份,服务器还验证客户端使用的证书。该文档单向和双向 SSL 和 TLS (Peeples K. 2015) 对此过程有很好的描述:

\n\n
\n

双向 SSL 身份验证也称为客户端或相互身份验证,因为在 SSL 服务器向 SSL 客户端验证自身身份后,充当 SSL 客户端的应用程序向 SSL 服务器提供其证书。

\n\n

使用基于证书的 2 向 SSL 建立加密通道涉及:\n 双向 SSL

\n\n
    \n
  1. 客户端请求访问受保护的资源。
  2. \n
  3. 服务器向客户端提供其证书。
  4. \n
  5. 客户端验证服务器\xe2\x80\x99s 证书。
  6. \n
  7. 如果成功,客户端会将其证书发送到服务器。
  8. \n
  9. 服务器验证 client\xe2\x80\x99s 凭据。
  10. \n
  11. 如果成功,服务器将授予对客户端请求的受保护资源的访问权限。
  12. \n
\n
\n\n

另一方面,使用单向 SSL,客户端仅验证服务器的证书(来自同一文档)。

\n\n

单向 SSL

\n\n

双向 SSL 的优点在于知道 Cassandra 节点将不允许来自未知客户端证书的连接。

\n\n

IMO,单向 SSL 仍然提供了相当程度的安全性。开发团队需要提供一个证书,该证书通过与 Cassandra 节点的证书相同的 CA(证书颁发机构)进行验证。双向 SSL 在大型组织中可能很有用,有助于阻止未首先与您的团队交谈的应用程序的连接。

\n