Защита потоковой передачи App-V с помощью безопасного RTSP

Опубликовано: 22 Апреля, 2023

Введение

По умолчанию Microsoft App-V (ранее известный как Softricity или SoftGrid) использует RTSP (протокол потоковой передачи в реальном времени) для потоковой передачи виртуализированного приложения на клиент App-V. Этот протокол использует порт 554 по умолчанию для установки соединения, после чего открывается случайный порт между 1024 и 49151 между сервером и клиентом.

В продукте предусмотрена возможность использования протокола RTSP, что обеспечивает безопасность передачи данных по протоколу RTSP на основе SSL-сертификатов. В этой статье я собираюсь обсудить, почему вы должны использовать защищенный протокол RTSP, а затем рассмотрю, как его настроить с помощью чистой установки и как можно перенастроить текущую инфраструктуру App-V для поддержки RTSPS.

Зачем использовать RTSPS?

Перед внедрением RTSPS вам необходимо определить, нужен ли безопасный протокол RTSP в вашей среде. Причин может быть несколько, но наиболее распространенными являются:

  • Для защиты передаваемых данных. Хотя данные в потоке не являются критическими или конфиденциальными в очень безопасных средах, теперь разрешено отправлять любые данные в незашифрованном виде по сети. Поэтому, если у организации есть это требование, RTSPS можно использовать для защиты потока данных между серверами App-V и клиентами.
  • Брандмауэр между серверами App-V и клиентами. В сценариях, когда серверы приложений и клиент разделены брандмауэром, необходимо указать, через какие порты разрешен трафик. Администратор брандмауэра не разрешит (логично) открывать такой большой диапазон портов. При использовании протокола RTSPS необходим только один порт (по умолчанию 322), поэтому такой запрос будет удовлетворен сетевым отделом.
  • Использование аппаратного балансировщика нагрузки между серверами и клиентами App-V. По умолчанию App-V не предоставляет возможности объединения большего количества серверов App-V для более крупных сценариев развертывания. Для создания такой инфраструктуры с балансировкой нагрузки можно использовать протокол Microsoft Network Load Balancing (NLB) или аппаратный балансировщик нагрузки. Хотя NLB не требует RTSPS, с аппаратным балансировщиком нагрузки дело обстоит иначе. Большинство балансировщиков нагрузки необходимо настраивать индивидуально (для каждого порта), через которые трафик должен перенаправляться на фактические серверы. Поэтому можно использовать RTSPS, поэтому необходимо настроить только один порт.

Что нужно для РТСПС?

Требования для использования RTSPS на самом деле довольно просты: вам нужно иметь компьютерный сертификат на серверах App-V. Используемый сертификат имеет несколько требований, таких как:

  • Сертификат должен быть действительным
  • Сертификат должен содержать правильное использование расширенного ключа (EKU) — проверка подлинности сервера
  • Полное доменное имя сертификата должно соответствовать серверу, на котором он установлен (при использовании App-V с балансировщиком нагрузки сертификат должен быть настроен с альтернативными именами субъекта).
  • Клиент (и сервер) должен доверять корневому ЦС
  • Закрытый ключ сертификата должен иметь измененные разрешения, чтобы разрешить доступ учетной записи службы App-V к сертификату.

Большинство требований — это требования к сертификатам по умолчанию, которые применяются к большинству сценариев сертификатов. Последнее действительно важно и отличается от требований сертификата по умолчанию.

Имея в виду эти требования, вам необходимо определить, будете ли вы использовать сторонние сертификаты или использовать внутреннюю среду PKI. Большинство сценариев имеют свои преимущества и недостатки. Как и в случае с другими развертываниями сертификатов, это зависит от ситуации, какой вариант является лучшим. Важно, чтобы клиент доверял корневому ЦС, поэтому вы должны выбрать действующую стороннюю организацию или внутренний ЦС, известный всем вашим клиентам. Microsoft написала хороший документ об этих требованиях и сценариях для App-v, который можно найти на веб-сайте Microsoft.

Подготовка серверов App-V для RTSPS

Большинство шагов по использованию RTSPS основаны на реализации сертификата. Я не буду обсуждать создание сертификата, потому что это делает сторонняя организация или администратор PKI (в более крупных инфраструктурах). Помните, что сертификат имеет несколько требований, особенно при использовании сертификата для инфраструктуры App-V с балансировкой нагрузки.

Мы начнем с импорта сертификата на серверы App-V. Это достигается путем запуска MMC сертификатов (в большинстве случаев это недоступно в инструментах администрирования, поэтому вам необходимо запустить MMC и добавить оснастку сертификатов. Важно выбрать управление учетной записью компьютера на сервере App-V). Важно импортировать сертификат в личное хранилище.

Изображение 27835
Рисунок 1: Использование функции импорта с сертификатами MMC для импорта сертификата

Как описано в параграфе требований, необходимо изменить разрешения закрытого ключа, чтобы разрешить учетной записи службы App-V использовать сертификат. На серверах Windows 2008 (R2) это легко сделать с помощью сертифицированной MMC, выбрав сертификат и в меню правой кнопки мыши выбрав параметр «Управление закрытыми ключами» и добавив в следующих окнах учетную запись службы App-V для чтения закрытого ключа..

Изображение 27836
Рисунок 2. Добавление учетной записи службы App-V к закрытым ключам

Когда ваш сервер App-V работает под управлением Windows 2003, процедура отличается, поскольку оснастка не имеет такого разрешения. Вам необходимо использовать утилиту winhttpcertcf, доступную в наборе ресурсов Windows 2003. Командная строка для получения результата, показанного на рис. 2, выглядит следующим образом: «winhttpcertcfg -g -c LOCAL_MACHINEMy -s lbappv -a vanbragtsvc_appv.

В обоих случаях я использовал определенную учетную запись службы, также можно использовать учетную запись сетевой службы по умолчанию, логически вам необходимо добавить эту учетную запись так же, как описано (например, winhttpcertcfg -g -c LOCAL_MACHINEMy -s lbappv -сетевая служба).

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

Использование RTSPS с новой установкой

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

Изображение 27837
Рисунок 3: Включение RTSPS при чистой установке.

Реконфигурация вашей текущей инфраструктуры App-V для использования RTSPS

Для инфраструктур, в которых вы уже установили, шаги зависят от того, какой сценарий развертывания вы выбрали: полная инфраструктура или только паровая обработка. С полной инфраструктурой у вас также развернута служба управления, и вы можете использовать эту консоль для перенастройки конфигурации. Для этого вам необходимо выбрать (все ваши) серверы в группах серверов. Откройте свойства сервера и выберите вкладку Порты. Выберите сертификат сервера и следуйте указаниям мастера, чтобы выбрать сертификат. Когда сертификат выбран, вы можете изменить порт RTSPS для связи. После настройки необходимо перезапустить службу App-V.

Изображение 27838
Рисунок 4. Реконфигурация полной инфраструктуры для использования RTSPS

Если у вас есть сценарий только для потоковой передачи, у вас нет консоли управления, поэтому вы можете вносить эти изменения в графическом интерфейсе. Сначала необходимо определить информацию об отпечатке сертификата. Опять же вам нужны сертификаты MMC для этого. Дважды щелкните сертификат и на вкладке сведений найдите отпечаток и скопируйте значение.

Изображение 27839
Рисунок 5: Определите значение поля Thumbprint

Затем вам нужно просмотреть реестр в HKLMSoftwareMicrosoftSoftGrid4.5Distribution server. В этом ключе вы найдете ключ X509CertHash. Измените данные на только что скопированное значение отпечатка (без пробелов).

Изображение 27840
Рисунок 6: Изменение параметра реестра для перенастройки потоковой передачи только для использования RTSPS

Следующим шагом будет переход в файл RtspsPorts. Здесь вам нужно создать новое значение DWORD 322 с данными из 322 десятичных (или 142 шестнадцатеричных). На самом деле вы настраиваете, какой порт будет использоваться для трафика RTSPS, поэтому, если вы хотите установить альтернативный порт, вам нужно изменить значения на соответствующий порт. Перезапустите службы App-V, и ваша инфраструктура будет поддерживать трафик RTSPS.

Изменения клиента и последовательности

Теперь внутренняя инфраструктура настроена для использования RTSPS. Клиенты также должны иметь возможность связываться по этому протоколу с сервером(ами). По умолчанию это указывается в файле OSD и настраивается с помощью App-V Sequencer на вкладке развертывания. Если у вас уже есть существующие пакеты, вы можете изменить OSD (через Sequencer или другие утилиты). Если вы уже секвенировали большое количество приложений, это может занять довольно много времени. Вы можете указать через реестр или с помощью шаблона App-V ADM, предоставленного Microsoft, перезаписать параметры, указанные в экранном меню. Дополнительные сведения см. в моей предыдущей статье о настройке App-V с использованием политик GPO.

Изображение 27841
Рисунок 7: Изменение корневого пути источника приложения.

Вывод

В этой статье я описал, почему вы должны использовать протокол RTSPS, каковы требования, как настроить инфраструктуру App-V (как новую установку, так и существующие среды) и какие изменения необходимы для клиента и/или последовательностей.