使用TLS/SSL保护Cassandra通信

5
我们希望保护Cassandra免受中间人攻击。是否有一种方法可以配置Cassandra,使客户端-服务器和服务器-服务器(复制)通信都是SSL加密的��
谢谢。
4个回答

3

简短回答:不行 :)

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

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


在Cassandra 3.11.2中,答案仍然是否定的吗? - Vishal Sharma

3

1
我采用的策略是让Apache Cassandra节点通过站点到站点VPN隧道进行通信。 < p > 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环境中托管节点,在自己的物理数据中心中托管节点,在桌子下托管其他一些节点!

成本是否阻止您考虑这种方法?看看Vyatta...

正如KajMagnus所指出的那样,Apache Cassandra的稳定版本中有一个已解决的JIRA票据https://issues.apache.org/jira/browse/CASSANDRA-1567,它使您能够通过TLS/SSL实现您想要的内容...但有几种方法可以实现您想要的内容。

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

最后 -- 第二部分 --

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

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

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接