几个小时以来,我一直试图使GlusterFS SSL工作在管理和I/O路径上无效,所以我希望您能帮助我。
我试过的方法很简单:
openssl genrsa -out glusterfs.key 4096
openssl req -new -x509 -key glusterfs.key -subj "/CN=Anyone" -out glusterfs.pem然后,我将glusterfs.pem从所有对等点连接到glusterfs.ca,并将glusterfs.ca分发到所有节点。存在以下文件:
/etc/ssl/glusterfs.key
/etc/ssl/glusterfs.pem
/etc/ssl/glusterfs.ca我已经创建了文件,以便在管理路径上启用SSL,并重新启动glusterd。
touch /var/lib/glusterd/secure-access
systemctl restart glusterd我的glusterd.log现在正在记录数百个显示SSL错误的条目(每分钟数十条):
[2017-08-29 22:01:07.535725] E [socket.c:202:ssl_dump_error_stack] 0-socket.management: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
[2017-08-29 22:01:07.535760] E [socket.c:2519:socket_poller] 0-socket.management: server setup failed当我试图在I/O路径上启用SSL时,卷日志中也会发生相同的错误,当我尝试一种更复杂的方法来创建glusterfs.*文件时,同样的错误也会发生。示例:
openssl genrsa 4096 > glusterfs.ca.key
openssl req -sha1 -new -x509 -nodes -days 3650 -key glusterfs.ca.key > glusterfs.ca
openssl req -sha1 -newkey rsa:4096 -days 1825 -nodes -keyout glusterfs.key > glusterfs-req.pem
openssl rsa -in glusterfs.key -out glusterfs.key
openssl x509 -sha1 -req -in glusterfs-req.pem -days 1825 -CA glusterfs.ca -CAkey glusterfs.ca.key -set_serial 01 > glusterfs.pem
openssl verify -CAfile glusterfs.ca glusterfs.pem但是这会导致相同的错误,不管我设置了什么CN等等,也不管我在对等点上设置了相同的或不同的CN。
我还尝试创建密钥长度为2048的RSA密钥,但没有效果。
我已经没有想法了,我不知道这个错误在GlusterFS上下文中意味着什么:
SSL3_GET_RECORD:wrong version number免责声明:我正在运行CentOS 7 64位和GlusterFS 3.11.3 (本文撰写时的最新版本).
发布于 2017-08-30 21:26:14
我已经用这种方式解决了这个问题(只用于I/O路径SSL支持).GlusterFS教程中显示的密码列表不起作用,现在我已经设置了以下内容:
gluster volume set mailrep-volume ssl.cipher-list 'HIGH:!SSLv2:!SSLv3:!TLSv1:!TLSv1.1:TLSv1.2:!3DES:!RC4:!aNULL:!ADH'另外,我没有连接服务器上的.pem文件,而是创建了自己的自签名CA,如上面更复杂的示例所示。以这种方式创建的.ca文件必须在所有对等点上都是相同的,并且当它用于对glusterfs.pem文件进行签名时,不需要连接证书。
这是我的完整卷配置:
Volume Name: mailrep-volume
Type: Replicate
Volume ID: 907250fb-d83e-4fe7-a63b-636d952095ff
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: eris:/mnt/glusterfs/vmail
Brick2: orcus:/mnt/glusterfs/vmail
Options Reconfigured:
ssl.cipher-list: HIGH:!SSLv2:!SSLv3:!TLSv1:!TLSv1.1:TLSv1.2:!3DES:!RC4:!aNULL:!ADH
nfs.disable: on
transport.address-family: inet
client.ssl: on
server.ssl: on
auth.ssl-allow: eris,orcus来验证我能做到. (1)并且看到. (2)
(1) cat /var/log/glusterfs/glustershd.log | grep SSL
(2) 0-mailrep-volume-client-1: SSL support on the I/O path is ENABLED
(2) 1-mailrep-volume-client-1: SSL support on the I/O path is ENABLED上面的错误(SSL3_GET_RECORD:wrong版本号)现在只有在I/O路径上使用SSL时才能修复。当我在管理路径上启用SSL时,问题仍然存在,但我不知道如何修改密码列表以应用相同的修复。
请注意: GlusterFS SSL教程似乎已经过时了。还指出/etc/ SSL /glusterfs.*是硬编码的文件位置,但至少对于I/O路径上的SSL,您可以通过这种方式很容易地应用自定义位置(测试和工作):
gluster volume set mailrep-volume ssl.private-key /path/to/your/certkey
gluster volume set mailrep-volume ssl.own-cert /path/to/your/certfile
gluster volume set mailrep-volume ssl.ca-list /path/to/your/cafile我在谷氨酸源中找到了这些选项。
PS:我今天也升级到了GlusterFS 3.12.0 (在修复之后!)
https://serverfault.com/questions/871139
复制相似问题