GlusterFS SSL не работает

Я много часов безуспешно пытался получить GlusterFS SSL для управления и пути ввода-вывода, поэтому я надеюсь, что вы можете помочь меня.

Я попробовал сделать это простым способом:

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

Та же ошибка возникает в журнале тома, когда я пытаюсь включить 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 на одноранговых узлах.

Я также пытался создать ключи RSA с длиной ключа 2048, но безрезультатно.

У меня заканчиваются идеи, и я не знаю, что означает эта ошибка в контексте GlusterFS:

SSL3_GET_RECORD:wrong version number

Заявление об ограничении ответственности: Я использую 64-разрядную версию CentOS 7 и GlusterFS 3.11.3 (последняя версия версия на момент написания статьи).

0
задан 30 August 2017 в 01:06
2 ответа

Я решил проблему таким образом (только для поддержки SSL пути ввода-вывода) ... список шифров, показанный в учебнике GlusterFS ( https: //gluster.readthedocs. io / en / latest / Administrator% 20Guide / SSL / ) не работает, оказывается, теперь я установил следующее:

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, никаких сертификатов concat не требуется.

Это моя полная конфигурация тома:

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: неправильный номер версии) теперь исправлена ​​ТОЛЬКО при использовании SSL на пути ввода-вывода. Проблема все еще существует, когда я включаю SSL на пути управления, но я не знаю, как изменить списки шифров, чтобы применить то же самое исправление.

Небольшое примечание: учебник GlusterFS SSL кажется ужасно устаревшим . Также утверждается, что /etc/ssl/glusterfs.* - это жестко запрограммированные местоположения файлов, но, по крайней мере, для 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

Я нашел эти параметры в источнике здесь https://github.com/gluster/glusterfs/blob/master/tests/features/ssl-ciphers.t

PS: Я также обновился до GlusterFS 3.12.0 сегодня (после исправить!)

0
ответ дан 24 November 2019 в 03:57

Потратив несколько часов на то, чтобы выяснить, что не так с сертификатами, я обнаружил, что в моем случае проблема заключалась в глупой ошибке:Я не перезапустил glusterdодин из двух серверов которые размещали кирпичи. Таким образом, оба сервера были настроены одинаково, но один из них не знал о новой конфигурации SSL.

Если вы столкнулись с той же проблемой, первым делом запустите service glusterd restartна всех узлах. Если это не сработает, может помочь другой ответ , а также сообщение об ошибке .

1
ответ дан 14 September 2021 в 21:38

Теги

Похожие вопросы