Защита от хотлинкинга и привязка к домену

Wmsauth_flow_hotlinking-250w Hotlinking-workflow-250w Paywall-structure-250w

Назад к функциям инфраструктуры платного доступа или посмотреть эти функции для Nimble Streamer.


Вставка прямых ссылок (или хотлинкинг) — это процесс рестрансляции потоковой передачи медиа-данных. Защита стриминга является определяющим фактором для бизнеса, который продаёт премиум-доступ к своим активам. Если у вас есть какой-либо эксклюзивный контент, то вы теряете деньги в результате использования конкурентами вставки прямых ссылок.

Что мы можем предложить?

Облачный сервис WMSPanel предоставляет авторизацию на основе токенов для сверки подписи каждого соединения с оригинальной опубликованной подписью. Следующие сущности Wowza могут быть защищены: весь сервер, виртуальный хост, приложение, экземпляр приложения, отдельный поток. Защита состоит из 3 частей: программы-агента на стороне сервера Wowza, фрагмента кода на веб-странице, который генерирует подпись для транслируемых медиа-данных и интерфейса управления для активирования защиты.

Данная схема позволяет защититься от повторной публикации ссылок и позволяет выполнить блокировку домена для опубликованных ссылок.
Поддерживаемые протоколы: RTMP, RTSP, HLS, HDS, SmoothStreaming, MPEG-DASH, Icecast, MPEG2-TS, DVR-потоки.

Защита от ретрансляции интегрируется в 2 этапа:

  1. Изменение веб-страницы, содержащей медиа-плеер, с целью генерации подписи для URL медиа-данных.
  2. Настройка и активация защиты с помощью панели управления.

1. Генерация подписи медиа-данных

Для того, чтобы подписать URL медиа-данных для дальнейшего распознавания и обработки, страница с медиа-плеером должна быть частично модицифирована.

Например, у вас есть следующий URL для живого вещания:
rtsp://ec2-test-ip.compute.amazonaws.com:1935/live/Stream1
Подписанный URL будет выглядеть так:
rtsp://ec2-test-ip.compute.amazonaws.com:1935/live?wmsAuthSign=c2VydmVyX3RpbWU9NS80LzIwMTIgODozMzowNSBBTSZoYXNoX3ZhbHVlPXE3MjN6aEVmdGFUOUJoWjBQTmw1TVE9PSZ2YWxpZG1pbnV0ZXM9MjA2/Stream1

Для генерации подписи необходимо изменить исходный код своей клиентской части, добавив специальный фрагмент кода.

Нажмите здесь, чтобы посмотреть фрагмент кода.

В этом примере key обозначает пароль, который будет использоваться в дальнейшем для настройки правил в веб-панели, а validminutes обозначает время жизни ссылки в минутах. В течение этого времени пользователи могут начать воспроизведение медиа-данных, затем ссылка становится недействительной.

Вы можете посмотреть все примеры в github репозитории WMSPanel и адаптировать их код под себя.

2. Установка настроек в панели управления

После того, как фрагмент кода включен на стороне веб-сервера, агент Wowza должен быть извещён о настройках защиты. Защита от повторного вещания предоставялется как часть набора функций WMSAuth.

Top-menu-half

2.1 Группа WMSAuth

В WMSAuth любое ограничение может быть применено к группе серверов. Таким образом, первое, что необходимо сделать — это создать группу и добавить в неё один или несколько серверов Wowza. Детали приведены на скриншоте.
Groups-list-half
2_server_selection-half

2.2 Правила WMSAuth

Внутри группы может быть определено несколько правил, каждое из которых работает со своим набором сущностей Wowza. Нажмите "Добавить правило", чтобы попасть на страницу создания правила. На скриншоте ниже есть пример регулярных выражений, которые можно применить к vHost, приложению, экземпляру приложения или отдельному потоку Wowza.

5_wowza_entities-half

Последнее, что нужно указать — это ключ или пароль, который будет вставлен в подпись медиа-данных на стороне веб-сервера (см. раздел Генерация подписи медиа-данных).
После сохранения правила оно будет применено к серверу в течение нескольких секунд.
Hot-link-protection-half

Можно также посмотреть описание группы WMSAuth в этой статье.

Это всё?

Да. Теперь, когда ваши медиа-данные подписаны с помощью подписи WMSAuth, программа-агент будет проверять каждый входящий запрос на соответствие его подписи заданным правилам защиты медиа-данных. В течение нескольких милисекунд соединение будет либо разрешено, либо запрещено.

Можно совмещать эту функциональность с блокировкой географических зон и диапазонов IP-адресов , а также ограничением количества соединений и пропускной способности. Защита от вставки прямых ссылок (хотлинкинга) является основой для набора функций платформы оплаты за просмотр.

Вопросы или проблемы?

Что если сервис WMSPanel недоступен? Защита от вставки прямых ссилок будет работать независимо от доступности WMSPanel. Если ваш сервер по каким-либо причинам не сможет соединиться с сервисом WMSPanel, всё равно защита будет отлично работать. Панель управления не используется после того, как завершена настройка правил.

Не работает защита от вставки прямых ссылок? Внимательно прочтите первый пункт раздела часто задаваемых вопросов.

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


Отлично работает для Nimble Streamer

Защита от вставки прямых ссылок также доступна в Nimble Streamer, включая подпись для каждого потока.
Nimble Streamer — это лёгкий бесплатный медиа сервера для RTMP, HLS, MPEG-DASH и других протоколов. Вы можете использовать его в качестве эффективного edge- или origin-сервера для живого или VOD вещания.
Прочтите эту статью чтобы подробно ознакомиться с настройками защиты от вставки прямых ссылок для Nimble Streamer.