Документация Flussonic Media Server

Contents

Безопасность Flussonic Media Server

В этом разделе мы расскажем, как ограничить доступ к панели администратора Flussonic Media Server.
Чрезвычайно важно! Если злоумышленник получит доступ к Flussonic Media Server, то он сможет прочесть и перезаписать любой файл на жестком диске.

Логин и пароль

В конфигурации Flussonic Media Server настраиваются два разных уровня доступа: view_auth и edit_auth.

  • view_auth user password; — используется для предоставления доступа на чтение к API Flussonic Media Server: получение информации о потоках, состоянии записи и т.п.
  • edit_auth user password; — используется для предоставления полного доступа администратору. С этим логином и паролем можно делать с сервером практически всё.

Ограничение по IP адресу

Для того, чтобы ограничить доступ к API по IP адресам, надо включить white list директивой в конфигурационном файле:

api_allowed_from 10.0.0.0/8 192.168.4.15;

Отдельный IP порт для API

Существует возможность задать для HTTP API отдельный IP порт:

admin_http 8090;
admin_http 127.0.0.1:8091;
admin_https 8092;

Теперь веб-интерфес HTTP API будет доступен только через заданные порты.

Это значит, что при настройке кластера в директивах peer и source для узла с включенным admin_http(s) надо указывать эти порты.

SSL сертификаты

Чтобы перевести веб-интерфейс администратора на HTTPS, нужно включить порт для HTTPS в конфигурации Flussonic. Откройте веб-интерфейс и укажите порт для HTTPS в Config > SSL-tunneled protocols, например, 443.

Можно сгенерировать собственный SSL сертификат сервера Flussonic. Для этого надо сгенерировать ключ и сертификат с паролем flussonic и положить их в /etc/flussonic/ (/etc/flussonic/flussonic.crt и /etc/flussonic/flussonic.key).

Для генерации самоподписанных сертификатов Flussonic Media Server выполните по порядку команды, приведенные ниже.

Каждый раз, когда система будет запрашивать пароль для сертификата, вводите flussonic.

openssl genrsa -des3 -out flussonic.key 1024

openssl req -new -key flussonic.key -out flussonic.csr

mv flussonic.key flussonic.key.org

openssl rsa -in flussonic.key.org -out flussonic.key

openssl x509 -req -days 365 -in flussonic.csr -signkey flussonic.key -out flussonic.crt

Промежуточный и CA сертификаты будут браться из /etc/flussonic/flussonic-ca.crt.

Cамое актуальное описание команд OpenSSL доступно в manpages в документации OpenSSL.

LetsEncrypt сертификаты

Компания LetsEncrypt с апреля 2016 года предлагает бесплатные SSL сертификаты сроком действия на месяц. Создание сертфиката происходит в автоматическом режиме.

Мы добавили в Flussonic Media Server поддержку Letsencrypt. Как получить LetsEncrypt

Защита конфигурационного файла от изменения

Можно запретить измение конфигурационного файла через API (т.е. веб-интерфейс). Для этого создайте файл /etc/flussonic/flussonic.conf.locked, выполнив в командной строке команду:

touch /etc/flussonic/flussonic.conf.locked

Теперь изменить настройки Flussonic через веб-интерфейс нельзя.

Запуск Flussonic от имени непривилегированного пользователя

Чтобы запустить Flussonic Media Server под обычным пользователем, выполните следующие настройки:

adduser flussonic --home /var/lib/flussonic --disabled-password
chown -R flussonic /etc/flussonic/
chown -R flussonic /var/lib/flussonic/
echo flussonic > /etc/flussonic/run_as
chown root /etc/flussonic/run_as
chmod 0644 /etc/flussonic/run_as
chown -R flussonic /var/run/flussonic /var/log/flussonic /opt/flussonic/.erlang.cookie
setcap cap_net_bind_service=+ep /opt/flussonic/lib/erlang/erts-*/bin/beam.smp

Теперь после перезапуска сервер Flussonic Media Server будет работать с правами пользователя flussonic.

Чтобы снова запускать Flussonic Media Server под суперпользователем, удалите файл /etc/flussonic/run_as.

Активация Flussonic через SOCKS5 прокси

Flussonic может использовать SOCKS5 прокси сервер для общения с сервером лицензий. Чтобы включить его, используйте возможности systemd override:

# systemctl edit flussonic

Эта команда откроет текстовый редактор (обычно это nano). Затем введите:

[Service]
Environment=PROXY="socks5://172.20.10.1:1080"

Нажмите Сtrl-X, затем Y, чтобы сохранить и выйти.

Перезапустите Flussonic:

# /etc/init.d/flussonic restart

Теперь Flussonic будет использовать указанный прокси-сервер.

Защита видео от просмотра администратором

По умолчанию пользователи с правами администратора Flussonic могут проигрывать любой поток в веб-интерфейсе администратора. Для этого используется специальный авторизационный токен администратора.

Возможно, вы захотите запретить просмотр некоторых потоков администратором — тех потоков, для которых нужна авторизация пользователя.

Чтобы запретить администратору Flussonic проигрывать в веб-интерфейсе потоки, защищенные авторизацией:

  1. Отредактируйте unit файл сервиса Flussonic (/lib/systemd/system/flussonic.service). Следует делать это, используя systemd override:

    # systemctl edit flussonic
    

    Эта команда откроет текстовый редактор (обычно nano).

  2. Добавьте строки:

    [Service]
    Environment=ADMIN_VIEW_DISABLE=true
    

    Нажмите Сtrl-X, затем Y, чтобы сохранить и выйти.

  3. Перезапустите Flussonic:

    # /etc/init.d/flussonic restart
    

Теперь, если поток требует авторизации, плеер в веб-интерфейсе вернет ошибку 403 при попытке проиграть поток с токеном администратора.

Потоки без настроенной авторизации будут воспроизводиться как обычно.