首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GlusterFS SSL不工作

GlusterFS SSL不工作
EN

Server Fault用户
提问于 2017-08-29 22:06:21
回答 2查看 2.6K关注 0票数 0

几个小时以来,我一直试图使GlusterFS SSL工作在管理和I/O路径上无效,所以我希望您能帮助我。

我试过的方法很简单:

代码语言:javascript
复制
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分发到所有节点。存在以下文件:

代码语言:javascript
复制
/etc/ssl/glusterfs.key
/etc/ssl/glusterfs.pem
/etc/ssl/glusterfs.ca

我已经创建了文件,以便在管理路径上启用SSL,并重新启动glusterd。

代码语言:javascript
复制
touch /var/lib/glusterd/secure-access
systemctl restart glusterd

我的glusterd.log现在正在记录数百个显示SSL错误的条目(每分钟数十条):

代码语言:javascript
复制
[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.*文件时,同样的错误也会发生。示例:

代码语言:javascript
复制
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上下文中意味着什么:

代码语言:javascript
复制
SSL3_GET_RECORD:wrong version number

免责声明:我正在运行CentOS 7 64位和GlusterFS 3.11.3 (本文撰写时的最新版本).

EN

回答 2

Server Fault用户

发布于 2017-08-30 21:26:14

我已经用这种方式解决了这个问题(只用于I/O路径SSL支持).GlusterFS教程中显示的密码列表不起作用,现在我已经设置了以下内容:

代码语言:javascript
复制
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文件进行签名时,不需要连接证书。

这是我的完整卷配置:

代码语言:javascript
复制
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)

代码语言:javascript
复制
(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,您可以通过这种方式很容易地应用自定义位置(测试和工作):

代码语言:javascript
复制
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 (在修复之后!)

票数 1
EN

Server Fault用户

发布于 2021-09-14 21:38:29

在花了几个小时试图找出证书出了什么问题之后,我发现,在我的例子中,问题是一个愚蠢的错误:我还没有在承载积木的两台服务器上重新启动glusterd。因此,这两台服务器配置完全相同,但其中一台服务器不知道新的SSL配置。

如果遇到相同的问题,第一件事是在所有节点上运行service glusterd restart。如果它不起作用,另一个答案,以及错误报告可能会有所帮助。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/871139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档