【问题标题】:Securing Cassandra communication with TLS/SSL使用 TLS/SSL 保护 Cassandra 通信
【发布时间】:2011-03-10 03:22:43
【问题描述】:

我们希望保护 Cassandra 免受中间人攻击。有什么方法可以配置 Cassandra,使客户端-服务器和服务器-服务器(复制)通信是 SSL 加密的?

谢谢

【问题讨论】:

    标签: cassandra ssl


    【解决方案1】:

    简短的回答:没有:)

    对于客户端 - 服务器:THRIFT-151

    编辑:您可能想关注 ML 上的 this 线程

    【讨论】:

    • Cassandra 3.11.2 中的答案是否仍然没有?
    【解决方案2】:

    加密服务器服务器通信似乎现在可用:

    https://issues.apache.org/jira/browse/CASSANDRA-1567
    为节点间通信提供可配置的加密支持

    分辨率:固定
    修复版本/秒:0.8 beta 1
    已解决:11 年 1 月 19 日 18:11

    【讨论】:

      【解决方案3】:

      我采用的策略是让 Apache Cassandra 节点通过站点到站点 VPN 隧道进行通信。

      cassandra.yaml文件的具体配置:

       listen_address: 10.x.x.x # vpn network ip
       rpc_address: 172.16.x.x. # non-vpn network for client access although, I leave it blank so that it listens on all interfaces
      

      这种方法的好处是您可以将 Apache Cassandra 部署到许多不同的环境中,并且您可以与提供商无关。例如,在各种 Amazon EC2 环境中托管节点,在您自己的物理数据中心托管节点,并在您的办公桌下托管其他一些节点!

      成本问题阻止您研究这种方法?看看维亚塔...

      正如 KajMagnus 指出的那样,在 Apache Cassandra 的稳定版本中已解决并提供了一个 JIRA 票证:https://issues.apache.org/jira/browse/CASSANDRA-1567,它使您能够通过 TLS/SSL 完成您想要完成的事情.. 但是有几种方法可以完成你想要什么。

      最后,如果您想要在 Amazon EC2 上托管您的实例,则区域到区域可能会出现问题,尽管 1.x.x 中有可用的补丁,但这真的是正确的方法吗?我发现 VPN 方法减少了不同区域节点之间的延迟,并且仍然保持必要的安全级别。

      最后——第二部分——

      如果您想保护客户端到服务器的通信,请让您的客户端(Web 服务器)通过相同的 VPN 进行通信。我的配置:

      • 前端网络服务器通过内部网络与应用服务器通信
      • 应用程序服务器位于它们自己的内部网络和 VPN 网络上,并通过 VPN 隧道与数据层通信,并在内部网络上相互通信
      • 数据层存在于每个数据中心/机架自己的网络上,并通过 VPN 网络接收请求

      【讨论】:

        【解决方案4】:

        可以根据上述问题保护节点到节点(八卦)通信。客户端和服务器都将很快支持 Kerberos(在提交时的 Hector master 中:https://github.com/rantav/hector/commit/08149a03c81b559cba5680d115943dbf334f58fa 应该很快就会到达 Cassandra 方面)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-01-16
          • 2016-05-16
          • 2014-05-23
          • 1970-01-01
          • 2018-02-25
          相关资源
          最近更新 更多