16.02.2023
Различные сервисы сканирования уязвимостей, IoT поисковые системы и откровенно криминальные ботнет сети постоянно направляют миллионы запросов ко всем обнаруженным IP адресам в Интернет с целью получения максимального количества информации о найденном устройстве и установленном на нем программном обеспечении. Вся полученная информация накапливается и потенциально может быть использована для адресных атак с эксплуатаций уязвимостей специфичных для данного вида программного обеспечения или прошивки устройства.
И хотя принцип «безопасность через неясность» не обеспечивает защиту вашей системы как таковую хорошей практикой является скрытие информации об установленном у вас программном обеспечении от сервисов сканирования и методов «гугл хакинга».
Несколько простых советов для пользователей Wowza Streaming Engine позволяющих скрыть fingerprint медиасервера от внешнего мира:
Прежде всего это веб-интерфейс управления Wowza Streaming Engine Manager . По умолчанию процесс этой административной консоли управления запущен на TCP порте 8088 . Открывающаяся по запросу к порту веб-страница входа однозначно говорит о том, какое по тут установлено:
Лучше всего будет закрыть порт 8088 на уровне файрволл операционной системы или роутера и разрешить к нему доступ только с известных IP адресов. Процесс Wowza Streaming Engine Manager можно даже совсем отключить , сам движок медиасервера работает независимо от веб-интерфейса администратора. Во многих случаях настройка медиасервера меняется редко и веб-интерфейс может быть спокойно отключен. Большинство из обнаруженных в Wowza уязвимостей также относятся к веб-интерфейсу администратора, а не к самому движку медиасервера.
Информационная веб-страница с типом лицензии и номером версии 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 .
Информация с типом лицензии и номером версии 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>