Настройка SSL для Murmur

мануалы
Ответить
skobkin
Сообщения: 9
Зарегистрирован: 23 мар 2011, 13:44
Поблагодарили: 3 раза

Настройка SSL для Murmur

Сообщение skobkin »

Решил на клановый сервер Mumble сделать правильный SSL-сертификат.

Ранее на личном сервере, который ныне уже не существует, использовал бесплатный годовой сертификат от StartSSL. Сейчас же решил, что мороки с ними много и купил сертификат Comodo PositiveSSL на GoGetSSL.
На выходе получил:
  • AddTrustExternalCARoot.crt
  • mumble_xxx_ru.crt - сертификат на домен, который указывает на Mumble-сервер
  • myserver.key - приватный ключ, сгенерированный вместе с CSR при запросе сертификата
  • PositiveSSLCA2.crt
  • server.csr - запрос, использованный во время генерации
По аналогии с этой инструкцией по StartSSL сделал так:
1. Сливаю сертификаты:

Код: Выделить всё

cat AddTrustExternalCARoot.crt > ssl_mumble_concat.crt
cat mumble_xxx_ru.crt >> ssl_mumble_concat.crt
2. В конфиге делаю так:

Код: Выделить всё

sslCert=/etc/ssl/my/xxx/ssl_mumble_concat.crt
sslKey=/etc/ssl/my/xxx/myserver.key
После этого сервер поднимается, но отклоняет соединения.
Лог сервера:

Код: Выделить всё

<W>2013-11-30 23:05:13.678 Initializing settings from /etc/mumble-server.ini (basepath /etc)
<C>2013-11-30 23:05:13.679 Adding 1 CA certificates from certificate file.
<W>2013-11-30 23:05:13.679 OpenSSL: OpenSSL 1.0.1e 11 Feb 2013
<W>2013-11-30 23:05:13.727 DBus registration succeeded
<W>2013-11-30 23:05:13.728 MurmurIce: Endpoint "tcp -h 127.0.0.1 -p 6502" running
<W>2013-11-30 23:05:13.765 Murmur 1.2.4 (1.2.4-1~ppa2~saucy1) running on X11: Ubuntu 13.10: Booting servers
<W>2013-11-30 23:05:13.792 1 => Server listening on [::]:64738
<W>2013-11-30 23:05:13.850 1 => Announcing server via bonjour
<W>2013-11-30 23:05:13.853 1 => Registration needs nonempty 'registername', 'registerpassword' and 'registerurl', must have an empty 'password' and allowed pings.
<W>2013-11-30 23:05:13.853 Object::connect: No such slot MurmurDBus::userTextMessage(const User *, const TextMessage &)
<W>2013-11-30 23:05:15.517 1 => <1:(-1)> New connection: 62.192.xxx.xxx:58939
<W>2013-11-30 23:05:15.603 1 => <1:(-1)> SSL Error: No certificates could be verified
<W>2013-11-30 23:05:15.604 1 => <1:(-1)> Connection closed:  [-1]
Лог клиента:

Код: Выделить всё

[23:06:09] Connecting to server mumble.xxx.ru.
[23:06:09] Server connection failed: The remote host closed the connection.
3. Далее в инструкции вижу такую пометку:
If you've followed the above instructions, but murmur reports "Failed to find certificate matching private key" on startup, your system certificates are possibly outdated. Debian 5.0 Lenny is affected by this. To solve this issue, add the StartCom Certificate Authority certificate to the certificates file by running the next command in the directory containing ssl_mumble_concat.crt:

Код: Выделить всё

wget --no-check-certificate http://www.startssl.com/certs/ca.pem
cat ca.pem >> ssl_mumble_concat.crt
rm ca.pem
Докидываю сертификат Comodo PositiveSSL в бандл:

Код: Выделить всё

cat PositiveSSLCA2.crt >> ssl_mumble_concat.crt
Запускаю сервер. Подключение проходит. Лог:

Код: Выделить всё

<W>2013-11-30 23:09:35.041 Initializing settings from /etc/mumble-server.ini (basepath /etc)
<C>2013-11-30 23:09:35.042 Adding 2 CA certificates from certificate file.
<W>2013-11-30 23:09:35.042 OpenSSL: OpenSSL 1.0.1e 11 Feb 2013
<W>2013-11-30 23:09:35.090 DBus registration succeeded
<W>2013-11-30 23:09:35.092 MurmurIce: Endpoint "tcp -h 127.0.0.1 -p 6502" running
<W>2013-11-30 23:09:35.133 Murmur 1.2.4 (1.2.4-1~ppa2~saucy1) running on X11: Ubuntu 13.10: Booting servers
<W>2013-11-30 23:09:35.166 1 => Server listening on [::]:64738
<W>2013-11-30 23:09:35.255 1 => Announcing server via bonjour
<W>2013-11-30 23:09:35.258 1 => Registration needs nonempty 'registername', 'registerpassword' and 'registerurl', must have an empty 'password' and allowed pings.
<W>2013-11-30 23:09:35.258 Object::connect: No such slot MurmurDBus::userTextMessage(const User *, const TextMessage &)
<W>2013-11-30 23:10:09.588 1 => <1:(-1)> New connection: 62.192.xxx.xxx:59206
<W>2013-11-30 23:10:10.270 1 => <1:(-1)> Client version 1.2.5 (Win: 1.2.4-183-g7f976ed)
<W>2013-11-30 23:10:10.275 1 => Starting voice thread
<W>2013-11-30 23:10:10.276 1 => CELT codec switch ffffffff80000010 0 (prefer ffffffff80000010) (Opus 1)
<W>2013-11-30 23:10:10.281 1 => <1:[IS.1._]_skobkin(Полковник_ТС)[AMD](534)> Authenticated
Но при этом корневой канал и сервер в списке не подсвечивается зелёным. А при первом подключении мамбла заявила это:


UPD:
Во время написания этого топика была найдена причина. Как ни странно, она была в том, что у меня в качестве сертификата КЛИЕНТА использовался просроченный сертификат StartCom. При этом с самоподписанным сертификатом, который генерирует клиент корень подсвечивается зелёным.
В общем, на случай, если кому-то это может пригодиться, всё-таки сохраняю этот пост.

Sem174
Сообщения: 4
Зарегистрирован: 06 авг 2013, 18:09
Благодарил (а): 1 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Настройка SSL для Murmur

Сообщение Sem174 »

Хотелось бы от себя добавить, что теперь совсем необязательно сливать в один файл сертификаты Центра Сертификации и своего сертификата.
Вполне будет работать вот такой конфиг:
sslCert=cert.pem - Ваш сертификат.
sslKey=key.pem - Ваш закрытый ключ.
sslpassphrase=supersecretkey - Ваш пароль закрытому ключу, если используется.
sslCA=class1.intermediate.pem - Коренной сертификат центра сертификации.

Полный путь до сертификатов можно не указывать, если сертификаты и закрытый ключ лежат в той же директории что и mumble.ini
Так же все выше описанное работает с само подписанными сертификатами.
То есть, через openssl выпускаем свой сертификат CAcert
Затем выпускаем сертификат для murmur сервера
После подписываем своим коренным сертификатом
И копируем в каталог где лежит murmur.ini

Oazis
Сообщения: 13
Зарегистрирован: 30 дек 2012, 11:18
Благодарил (а): 1 раз
Поблагодарили: 2 раза

Re: Настройка SSL для Murmur

Сообщение Oazis »

Можете подробнее (пошагово) расписать, как через openssl выпускать свой сертификат CAcert ?
Как создать сертификат для murmur сервера ?
Как подписать своим коренным сертификатом ?
И тд..

Благодарю.

Sem174
Сообщения: 4
Зарегистрирован: 06 авг 2013, 18:09
Благодарил (а): 1 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Настройка SSL для Murmur

Сообщение Sem174 »

пошагово примерно так
сначала ставим на сервер последнюю версию openssl
затем выпускаем корневой сертификат
после выпускаем сертификат для mumble и подписываем его своим корневым сертификатом.
вот и все.
Когда я выпускал сертификаты для себя за основу брал данную инструкцию - http://vds-admin.ru/unix-toolbox/ssl-certificates

Oazis
Сообщения: 13
Зарегистрирован: 30 дек 2012, 11:18
Благодарил (а): 1 раз
Поблагодарили: 2 раза

Re: Настройка SSL для Murmur

Сообщение Oazis »

Sem174 писал(а):пошагово примерно так
Я захотел установить сертификат "Comodo Essential SSL Wildcard", разместил на сервере:
sslCert=cert.pem - полученный сертификат.
sslKey=key.pem - закрытый ключ.
Но, при подключении к серверу выдает сообщение: "Проверка SSL не удалась: Корневой сертификат центра сертификации не является заверенным для данной цели", можете подсказать в чем ошибка?

Oazis
Сообщения: 13
Зарегистрирован: 30 дек 2012, 11:18
Благодарил (а): 1 раз
Поблагодарили: 2 раза

Re: Настройка SSL для Murmur

Сообщение Oazis »

Разобрался самостоятельно, я не прописал "Корневой сертификат центра сертификации" в murmur.ini, который надо было скачать тут.
sslCert=cert.pem - полученный сертификат.
sslKey=key.pem - закрытый ключ.
sslCA=ComodoRSADomainValidationSecureServerCA.crt - Корневой сертификат центра сертификации.
Перезагрузил сервер и все заработало! :smile:

Ответить