【发布时间】:2011-03-10 03:22:43
【问题描述】:
我们希望保护 Cassandra 免受中间人攻击。有什么方法可以配置 Cassandra,使客户端-服务器和服务器-服务器(复制)通信是 SSL 加密的?
谢谢
【问题讨论】:
我们希望保护 Cassandra 免受中间人攻击。有什么方法可以配置 Cassandra,使客户端-服务器和服务器-服务器(复制)通信是 SSL 加密的?
谢谢
【问题讨论】:
【讨论】:
加密服务器服务器通信似乎现在可用:
https://issues.apache.org/jira/browse/CASSANDRA-1567
为节点间通信提供可配置的加密支持
分辨率:固定
修复版本/秒:0.8 beta 1
已解决:11 年 1 月 19 日 18:11
【讨论】:
我采用的策略是让 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 进行通信。我的配置:
【讨论】:
可以根据上述问题保护节点到节点(八卦)通信。客户端和服务器都将很快支持 Kerberos(在提交时的 Hector master 中:https://github.com/rantav/hector/commit/08149a03c81b559cba5680d115943dbf334f58fa 应该很快就会到达 Cassandra 方面)。
【讨论】: