Как спрятать информацию о вашем медиасервере Wowza Streaming Engine от интернет сканирования.

16.02.2023

Различные сервисы сканирования уязвимостей, IoT поисковые системы и откровенно криминальные ботнет сети постоянно направляют миллионы запросов ко всем обнаруженным IP адресам в Интернет с целью получения максимального количества информации о найденном устройстве и установленном на нем программном обеспечении. Вся полученная информация накапливается и потенциально может быть использована для адресных атак с эксплуатаций уязвимостей специфичных для данного вида программного обеспечения или прошивки устройства.

И хотя принцип «безопасность через неясность» не обеспечивает защиту вашей системы как таковую хорошей практикой является скрытие информации об установленном у вас программном обеспечении от сервисов сканирования и методов «гугл хакинга».

Несколько простых советов для пользователей Wowza Streaming Engine позволяющих скрыть fingerprint медиасервера от внешнего мира:

  1. Прежде всего это веб-интерфейс управления Wowza Streaming Engine Manager . По умолчанию процесс этой административной консоли управления запущен на TCP порте 8088 . Открывающаяся по запросу к порту веб-страница входа однозначно говорит о том, какое по тут установлено:

    Wowza Streaming Engine Manager

    Лучше всего будет закрыть порт 8088 на уровне файрволл операционной системы или роутера и разрешить к нему доступ только с известных IP адресов. Процесс Wowza Streaming Engine Manager можно даже совсем отключить , сам движок медиасервера работает независимо от веб-интерфейса администратора. Во многих случаях настройка медиасервера меняется редко и веб-интерфейс может быть спокойно отключен. Большинство из обнаруженных в Wowza уязвимостей также относятся к веб-интерфейсу администратора, а не к самому движку медиасервера.

  2. Информационная веб-страница с типом лицензии и номером версии Wowza.

    По умолчанию, сразу после установки сервера Wowza Streaming Engine, данная страница открывается при направлении HTTP GET запроса /ServerVersion к порту 1935 или порту 8086 . В браузере это выглядит так:

    До версии Wowza Streaming Engine 4.8.8 все было еще проще, страница открывалась при запросе к корневому каталогу:

    Для отключения этой информационной страницы нужно в текстовом редакторе изменить файл [Wowza Install Directory]/conf/VHost.xml . Удалить из него или закомментировать блоки ( в 2х местах, для порта 1935 и порта 8086 соответственно ):

    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
    <RequestFilters>*ServerVersion</RequestFilters>
    <AuthenticationMethod>none</AuthenticationMethod>
    <PasswordEncodingScheme>none</PasswordEncodingScheme>
    </HTTPProvider>

    До версии 4.8.8 блок свойств выглядит немного по-другому:

    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
    <RequestFilters>*</RequestFilters>
    <AuthenticationMethod>none</AuthenticationMethod>
    </HTTPProvider>

    После внесения изменений в файл необходимо перезапустить службу Wowza Streaming Engine .

  3. Информация с типом лицензии и номером версии Wowza передается в заголовке ответа сервера Server для RTSP протокола, а в версии Wowza Streaming Engine до 4.8.12 и для HTTP протокола !

    Запрос RTSP можно направить утилитой Curl :

    # curl -v -X OPTIONS rtsp://#######:1935/
    * About to connect() to ######### port 1935 (#0)
    * Trying ##.##.##.##...
    * Connected to ####### (##.##.##.##) port 1935 (#0)
    > OPTIONS * RTSP/1.0
    > CSeq: 1
    > User-Agent: curl/7.29.0
    < RTSP/1.0 200 OK
    < CSeq: 1
    < Server: Wowza Streaming Engine 4.8.21+6 build20230125151621
    < Cache-Control: no-cache
    < Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, OPTIONS, ANNOUNCE, RECORD, GET_PARAMETER
    < Supported: play.basic, con.persistent

    Изменить заголовок Server можно добавлением свойства в файл [Wowza Install Directory]/conf/Server.xml

    Файл модифицируется в текстовом редакторе, добавлением свойcтва rtspHeaderServer в конец файла, в секцию :

    <Property>
    <Name>rtspHeaderServer</Name>
    <Value>My server</Value>
    </Property>

    После изменения нужно перезапустить службу Wowza Streaming Engine.

    Для версии Wowza до 4.8.12 HTTP заголовок Server изменяется аналогично, добавлением свойства:

    <Property>
    <Name>httpHeaderServer</Name>
    <Value>My server</Value>
    </Property>