2rs*_*2ts 8 ssl jsse cassandra datastax-java-driver cassandra-2.0
我在我的Cassandra集群上设置了节点到节点加密.现在我想建立客户端到节点.根据此文档,它应该像获取客户端的SSL证书并将其导入每个节点的信任库一样简单.我还没有这样的证书,但这不是我的问题.
由于我的客户端使用DataStax Java驱动程序,似乎为了从客户端启用SSL,在构建时Cluster
我应该使用该withSSL()
方法来启用SSL.好的,但我还需要做什么?我不熟悉JSSE,所以我不知道还有什么必要.SSL通信是双向的,即驱动程序是否需要访问群集中每个节点的SSL证书?
CHK*_*CHK 15
创建证书[1].
在cassandra.yaml设置中启用客户端节点加密[2].
向您的客户端添加SSL支持.有一个优秀的datastax博客,其中包含用于在客户端设置SSL连接的示例代码[3].
为您的客户提供的证书.据我所知,您似乎应该能够使用[1]中的相同密钥库和信任来供Java客户端使用.Per [4],我知道你需要一个pcks12风格的PEM文件才能使用cqlsh.
此外,[4]提供了通过SSL连接到cassandra集群的客户端的准系统示例.[5]是关于群集节点和客户端的证书创建示例的正确读物.
注意如果您希望使用企业级加密,则需要启用Java Cryptography Extension.出于法律原因,只提供相对较弱的加密.如果您尝试在未启用JCE的情况下使用256位加密,Cassandra和您的客户可能会抱怨.为客户端和服务器计算机执行此操作:
将两个策略jar复制到JAVA_HOME中,覆盖已经存在的两个jar:
[user@host UnlimitedJCEPolicy]$ ls
local_policy.jar README.txt US_export_policy.jar
[user@host UnlimitedJCEPolicy]$ export JAVA_HOME="$( readlink -f "$( which java )" | sed "s:bin/.*$::" )"
[use@host UnlimitedJCEPolicy]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre/
[user@host UnlimitedJCEPolicy]$ cp -v *.jar $JAVA_HOME/lib/security/
重启cassandra和客户端
[1] http://www.datastax.com/documentation/cassandra/2.0/cassandra/security/secureSSLCertificates_t.html
[2] http://www.datastax.com/documentation/cassandra/2.0/cassandra/security/secureSSLClientToNode_t.html
[3] http://www.datastax.com/dev/blog/accessing-secure-dse-clusters-with-cql-native-protocol
[4] https://github.com/PatrickCallaghan/datastax-ssl-example
[5] http://www.datastax.com/dev/blog/accessing-secure-dse-clusters-with-cql-native-protocol
[6] http://techdocs.acunu.com.s3.amazonaws.com/v5.0/admin/security/ssl.html
归档时间: |
|
查看次数: |
7322 次 |
最近记录: |