===== Замена SSL-сертификата в Flussonic Media Server на Debian GNU/Linuх ===== {{:flussonic:pasted:20200930-180351.png }} Перед началом эксплуатации ПО **Flussonic Media Server** рекомендуется отказаться от используемого по умолчанию SSL сертификата, который может применяться для защиты клиентских соединений с сервером Flussonic. Здесь будет рассмотрен пример установки собственного сертификата в ОС **Debian GNU/Linuх 10/11**. ---- ==== Конфигурация по умолчанию ==== В конфигурации по умолчанию в Flussonic Media Server не задействовано использование цифрового сертификата для защиты клиентских соединений. При этом технически возможность такой защиты в ПО имеется. В конфигурации по умолчанию в составе файлов Flussonic Media Server можно найти файлы, относящиеся к SSL: * /opt/flussonic/lib/web/priv/ssl/streamer.key - файл закрытого ключа * /opt/flussonic/lib/web/priv/ssl/streamer.crt - файл сертификата * /opt/flussonic/lib/web/priv/ssl/streamer-ca.crt - файл корневых сертификатов центров сертификации (ЦС) \\ ==== Включение SSL ==== Чтобы задействовать указанные SSL сертификаты, необходимо включить поддержку соответствующих протоколов в конфигурации Flussonic Media Server. В веб-интерфейсе FMS в разделе **Config** > **Settings** имеются поля, с помощью которых можно выполнить настройку портов для защищённого соединения. {{ :flussonic:pasted:20200930-170715.png }} Однако практика показала, что настройка портов SSL через веб-интерфейс работает не всегда корректно, поэтому для настройки мы воспользуемся методом прямой правки конфигурационного файла ''flussonic.conf'':
# nano /etc/flussonic/flussonic.conf
Закомментируем строку с незащищённым протоколом, например ''http'', и добавим строку с защищённым протоколом, например ''https'', следующим образом: .. #http 80; https 0.0.0.0:443; ... Для вступления изменений в силу, перезапустим службу **flussonic**:
# systemctl restart flussonic.service
Теперь можно проверить результат, пройдя по ссылке [[https://{fqdn имя сервера}]]. Перед проверкой доступа к веб-серверу Flussonic по протоколу **HTTPS** не забываем добавить в правила брандмауэра **nftables** правило, разрешающее входящие подключения на соответствующий порт, например **TCP 443**. \\ ==== Установка собственного сертификата ==== Чтобы избежать предупреждений безопасности, получаемых от браузеров при работе с веб-сервером Flussonic, мы выпустим собственный сертификат, удостоверенный корпоративным доменным ЦС, которому доверяют браузеры в рамках локальной сети. Подготовка бинарного запроса к локальному ЦС в нашем примере выполняется на Windows-машине с помощью утилиты [[https://slproweb.com/products/Win32OpenSSL.html|OpenSSL]] Создадим текстовый файл, например с именем ''streamer.cfg'', с конфигурацией для запроса сертификата: [req] distinguished_name = req_distinguished_name req_extensions = v3_req [req_distinguished_name] commonName = FQDN of server commonName_default = FMS01.ad.holding.com countryName = Country Name (2 letter code) countryName_default = RU 0.organizationName = Organization Name (eg, company) 0.organizationName_default = IT Dept Ltd. localityName = Locality Name (eg, city) localityName_default = Syktyvkar organizationalUnitName = Organizational Unit Name (eg, section) organizationalUnitName_default = Branch KOMI [v3_req] subjectAltName = @alt_names [alt_names] DNS.1 = FMS01.ad.holding.com DNS.2 = FMS01 IP.1 = 10.10.1.3 Выполним команду формирования закрытого ключа (сгенеируем файл **streamer.key**), а затем команду формирования бинарного запроса сертификата на основании только что созданного файла ключа и файла конфигурации запроса (''streamer.cfg''):
openssl genrsa -out streamer.key 4096
openssl req -config streamer.cfg -new -key streamer.key -out streamer.req
Получившийся файл бинарного запроса ''streamer.req'' отправим администратору корпоративного ЦС и получим от него готовый файл сертификата в кодировке **Base-64** и присвоим ему имя **streamer.crt**. Содержимое корневого сертификата доменного удостоверяющего ЦС также в кодировке **Base-64** скопируем в отдельный файл с именем **streamer-ca.crt**. В случае, если в цепочке несколько сертификатов, например, есть сертификат корневого ЦС и сертификат промежуточного ЦС, то все сертификаты ЦС в цепочке должны быть помещены друг за другом в этот файл. Скопируем получившиеся 3 файла на сервер Flussonic и разместим их по следующим путям: * /etc/flussonic/streamer.key * /etc/flussonic/streamer.crt * /etc/flussonic/streamer-ca.crt Перезапускам службу **flussonic**:
# systemctl restart flussonic.service
Снова проверяем доступ к веб-серверу Flussonic Media Server по протколу HTTPS и убеждаемся в том, что используется установленный нами сертификат, выпущенный доверенным доменным ЦС, и теперь предупреждения безопасности браузера отсутствуют. ---- Проверено на следующих конфигурациях: ^ Версия Debian Linux ^ Версия базового пакета Flussonic Media Server ^ | Debian GNU/Linux 10.6 (Buster) | flussonic 20.09 (amd64) | | Debian GNU/Linux 11.7 (Bullseye) | flussonic 21.11 (amd64) | ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 30.09.2020 16:49 {{tag>Flussonic "Flussonic Media Server" Streaming Linux "Debian 10" "Debian Buster" "Debian 11" "Debian Bullseye" SSL HTTPS Certificate OpenSSL}} ~~DISCUSSION~~