为SSl配置MongoDB replicaSet与副本集之间的安全通信

时间:2014-04-30 21:47:56

标签: mongodb ssl authorization replicaset

我们目前在测试环境中有一个mondogDB部署。我们有7个成员副本集,没有仲裁者。

We want to configure the data replication between the replica set members secure. 
We don't want to configure SSL for the clients to our MongoDB cluster as the communication from the    client to this MongoDB cluster is via Stunnel. So the client doesn't need to use SSL to connect.

只是好奇,看看这是否可能,即只配置副本集成员之间复制的数据安全但不是从客户端到此MongoDB集群的实际通信

_很多

2 个答案:

答案 0 :(得分:0)

我个人没试过,但我相信你可以做到这一点。除了使用ssl编译mongodb,或者购买一个支持SSL的MongoDb订阅之外,您还需要使用以下选项运行:

  

- sslMode

设置为preferSSL。这将使用SSL进行服务器间通信,但允许SSL和非SSL用于其他连接:

http://docs.mongodb.org/manual/reference/program/mongod/

当然,除了运行SSL所需的其他配置设置之外,还有其他内容:

http://docs.mongodb.org/manual/tutorial/configure-ssl/

请注意,这是2.6版的新功能。我没有使用ssl支持编译的mongodb版本,所以它没有经过我的测试。

答案 1 :(得分:0)

在MongoDB v2.6中的@DurgaDeep,您可以在混合模式SSL中运行MongoDB实例,同时还指定集群成员的x509证书以相互进行身份验证。请注意,SSL不是默认社区构建的一部分,如果您使用社区构建,则可能需要自己构建二进制文件。 x509证书仅适用于订阅版本,因此如果您使用社区版本,则不适用于您。

无论MongoDB版本如何,实现您想要做的最简单的选择是在副本集节点之间设置stunnel,并让它独立处理加密通道。这是很多应用程序采用的通常路由,没有嵌入SSL作为选项。