От редакции VM Guru: С удовольствием представляем вам нового автора VM Guru - Максима Федотенко. Он является профессионалом в сфере обеспечения информационной безопасности в средах виртуализации таких как VMware vSphere и View, сталкивавшимся с вопросами информационной безопасности в крупных ИТ-инфраструктурах. В нескольких своих статьях Максим расскажет о том, как правильно необходимо защищать инфраструктуру виртуальных ПК (VDI) предприятия и расскажет о практических приемах по обеспечению безопасности отдельных компонентов виртуальной среды и инфраструктуры в целом.
Очень ждем вашего фидбека касательно изложенных в статье рекомендаций и практик!
Часть 1. Сетевая архитектура
Данная статья посвящена аспектам защиты инфраструктуры виртуальных десктопов, построенной на базе программного обеспечения VMware View. На текущий момент у VMware отсутствуют рекомендации по обеспечению защиты инфраструктуры VMware View наподобие Hardening Guide для VMware vSphere. Точнее сказать они есть, но разрозненны и находятся в различных документах, таких как "VMware View Security Hardening Guide"VMware View Security Server Hardening Guide", "Mobile Secure Desktop - Validated Design Guide" и т.п.
Статья должна быть в большей степени интересна сотрудникам организаций, отвечающим за информационную безопасность или проектирующим системы с учетом требований информационной безопасности, нежели собственно администраторам инфраструктуры VMware View и vSphere.
В части 1 статьи попытаемся рассмотреть рекомендации, которые могут предъявляться к сетевой архитектуре инфраструктуры виртуальных десктопов.
Данный же подход должен применяться к построению сетевой архитектуры VMware View. Т.к. многие сетевые объекты на данный момент становятся виртуальными, то далее будем предполагать, что сетевая зона – это скорее некоторое физическое размещение, а сетевой модуль – логическое, на IP уровне (см. Рисунок 2). Также как и ранее будем считать, что между любыми сетевыми модулями существует межсетевое экранирование, это может быть как централизованный межсетевой экран или несколько, так и распределенные межсетевые экраны, в т.ч. виртуальные на базе технологии VMsafe.
Рассматривая такую архитектуру, необходимо понимать, где и как в ней будут расположены:
Собственно виртуальные десктопы.
Инфраструктурные серверы VMware View, а именно серверы View Connection, View Security, View Transfer.
В начале рассмотрим, где должны располагаться виртуальные десктопы. Очевидно, что располагаться они будут в серверной инфраструктуре на серверах виртуализации VMware vSphere, т.е. физически они будут располагаться в зоне Data Center, но они не должны принадлежать Модулю Data Center, в котором собственно должны находиться только серверные ресурсы. Пользовательские десктопы должны находится в Модуле User LAN, но он расположен в зоне Campus. В связи с этим имеет смысл выделить отдельно Модуль виртуальных десктопов (Модуль Virtual LAN, см. Рисунок 3). В случае же предоставления услуги Desktop-as-a-Service различным организациям (заказчикам) имеет смысл говорить уже о модулях Virtual LAN A (виртуальные десктопы Организации А), Virtual LAN B (виртуальные десктопы Организации B) и т.д.
После того, как мы разобрались с месторасположением виртуальных десктопов в сетевой архитектуре, рассмотрим инфраструктурные серверы VMware View. Для этого необходимо понимать как и по каким протоколам происходит взаимодействие между инфраструктурными серверами, физическими устройствами и виртуальными десктопами. VMware View может работать как со шлюзом безопасности (сервер View Security), так и без него.
В случае работы со шлюзом безопасности соединение между физическим устройством (View Client) и виртуальным десктопом устанавливается через сервер View Security, без шлюза безопасности – напрямую. Каким образом происходит взаимодействие без использования шлюза безопасности можно посмотреть в разделе "Understanding VMware View Communication Protocols" главы 5 "Planning for Security Features" руководства "VMware View Architecture Planning". Инфраструктурное же взаимодействие при работе со шлюзом безопасности VMware View Security приведено на Рисунок 4 в случае использования протокола PCoIP и на Рисунок 5 в случае использования протокола RDP.
Рисунок 4. Сетевое взаимодействие инфраструктуры VMware View при использовании протокола PCoIP (кликабельно).
Рисунок 5. Сетевое взаимодействие инфраструктуры VMware View при использовании протокола RDP (кликабельно).
Итак, исходя из данных взаимодействий, необходимо вписать инфраструктурные серверы VMware View в сетевую архитектуру, представленную на Рисунке 2. Сетевое взаимодействие серверов достаточно сложное, поэтому нельзя сказать на 100%, что сервер должен размещаться только в таком-то сетевом модуле, но мы можем определить в каких сетевых модулях сервера могут размещаться, а в каких – нет.
Сервера View Security могут размещаться только в следующих сетевых модулях:
при подключении пользователей через сеть Интернет, т.е. из дома, интернет-кафе, мобильных устройств и т.п. – в модулях Internet Remote Access VPN или Private Services DMZ;
при подключении пользователей через выделенные сети или VPN-соединения через Интернет, т.е. из других офисов, филиалов и т.п. – в модулях Extranet Remote Access VPN или Extranet DMZ;
при подключении пользователей локальной сети из зоны Campus – в модуле Extranet DMZ, а может и вовсе отсутствовать, т.к. в данном случае сервер-посредник и шифрование трафика внутри локальной сети может не требоваться.
Сервера View Connection могут размещаться только в следующих сетевых модулях:
при подключении пользователей через сеть Интернет, т.е. из дома, интернет-кафе, мобильных устройств и т.п. – в модулях Private Services DMZ (в случае размещения View Security в модуле Internet Remote Access VPN) или Data Center;
при подключении пользователей через выделенные сети или VPN-соединения через Интернет, т.е. из других офисов, филиалов и т.п. – в модулях Extranet Remote Access VPN (в случае размещения View Security в модуле Extranet Remote Access VPN) или Data Center;
при подключении пользователей локальной сети из зоны Campus – в модуле Data Center.
Сервера View Transfer могут располагаться в тех же модулях, что и View Connection, хотя не обязательно в одном и том же модуле с View Connection.
Для того, чтобы не описывать все возможные случаи размещения серверов далее мы примем, что сервера View Security размещаются в модуле Remote Access VPN (обобщенное название модулей Extranet Remote Access VPN и Internet Remote Access VPN), View Connection размещаются в модуле DMZ (обобщенное название модулей Extranet DMZ и Private Services DMZ), View Transfer размещаются также в DMZ.
На Рисунке 6 показано каким образом будут располагаться инфраструктурные серверы.
Сетевое взаимодействие пользовательских физических устройств и виртуальных десктопов приведено на Рисунке 7.
Рисунок 7. Сетевое взаимодействие пользовательских физических устройств и виртуальных десктопов VMware View (кликабельно).
На рисунке показано, что:
Внешние пользователи, в данном случае пользователи, подключающиеся через сеть Интернет, должны использовать сервер View Security.
Их сетевое взаимодействие показано на рисунке красными стрелками.
Внутренние пользователи получают доступ к виртуальных десктопам без использования сервера-посредника по незащищенному каналу. Они подключаются к брокеру соединений (сервер View Connection) и в случае, если доступ к виртуальному десктопу им разрешен, то View Client образует соединение напрямую с выделенным виртуальным десктопом. Их сетевое взаимодействие показано на рисунке прерывистыми зелеными стрелками.
Но оптимально, на мой взгляд, и внутренним пользователям организовать доступ к виртуальным десктопам через сервер View Security, т.к. такое взаимодействие позволит прийти к однообразной схеме осуществления доступа как изнутри организации так и из сети Интернет, а также упростит сетевую фильтрацию взаимодействия пользователей виртуальных десктопов с сетевыми ресурсами. Такое сетевое взаимодействие показано на Рисунке 8 зелеными стрелками, и на него далее будем ориентироваться при формулировании рекомендация для серверов, десктопов и т.д.
Рисунок 8. Сетевое взаимодействие пользовательских физических устройств и виртуальных десктопов VMware View (кликабельно).
Неотъемлемой частью инфраструктуры виртуальных десктопов является, собственно, инфраструктура виртуализации VMware vSphere, которая управляется vCenter Server. Инфраструктура виртуализации должна использоваться для размещения на ней виртуальных десктопов и может использоваться для размещения на ней серверов VMware View. Далее мы будем предполагать, что инфраструктурные сервера VMware View виртуальные, и строить рекомендации из этого.
При этом рекомендуется использовать различные сервера ESXi и собственно инсталляции VMware vSphere для серверов и для виртуальных десктопов. На мой взгляд, это логично не только исходя из принципов ИБ, но и с точки зрения производительности управляющей части инфраструктуры, т.к. в случае виртуальных десктопов на vCenter Server устанавливается также View Composer (хотя с версии View 5.1 он может быть и на отдельном сервере), да и использовать одни и те же ESXi для виртуальных десктопов и серверов неразумно.
Итак, со всеми решениями, которые мы привели ранее, рекомендуется использовать следующую архитектуру (см. Рисунок 9).
Рисунок 9. Сетевое взаимодействие пользовательских физических устройств и виртуальных десктопов VMware View (кликабельно).
Причем замечу, что сервер View Transfer должен располагаться на инфраструктуре виртуализации виртуальных десктопов, такое требование к нему выдвигается продуктом VMware View.
Обе сети должны присутствовать на аппаратных серверах ESXi серверной и десктопной виртуализации. В сети vManagement должны быть управляющие интерфейсы ESXi и vCenter Server инфраструктур виртуализации и серверов и десктопов. В сети же vGuest, которая подведена к инфраструктуре виртуализации десктопов, должны быть только сети модулей Virtual User LAN и DMZ. Причем в сети модуля DMZ должны быть только сервера View Transfer.
Базы данных vCenter Server, View Composer и база с событиями VMware View могут быть расположены, например, в Модуле Data Center.
Раздел 2. Взаимодействие виртуальных десктопов.
Рекомендуется ограничить взаимодействие модуля Virtual LAN с другими сетевыми модулями при помощи межсетевого экранирования. При этом прямого взаимодействия между модулем Virtual LAN и модулем LAN осуществляться не должно. Должно разрешаться только взаимодействие из модуля LAN к виртуальным десктопам и только по протоколам инфраструктуры виртуальных десктопов через сервера Security Server.
Сами виртуальные десктопы могут быть инициаторами соединений только к серверам, но не к рабочим станциям. Они могут инициировать соединения с серверами модулей Data Center и Extranet DMZ, к остальным же ресурсам они должны получать доступ через сервера-посредники, как, например, Proxy-сервер для доступа к сети Интернет. Сервера же, расположенные в любом сетевом модуле, идеологически не должны иметь доступа к виртуальным десктопам, за исключением управляющих серверов из модуля Management и серверов View Security.
Также имеет смысл запретить прямое взаимодействие виртуальных десктопов между собой. Все взаимодействие должно происходить через серверные ресурсы, таким образом, мы должны решить проблему "общих шар" и т.п. Эта проблема может быть легко решена в виртуальной инфраструктуре при помощи использования сетевых экранов уровня VMware vSphere, использующих технологию (драйвера) VMsafe и осуществляющих локальное экранирование виртуальных десктопов. Например, такое экранирование может производить сетевой экран антивирусного программного обеспечения TrendMicro Deep Security.
И, наконец, необходимо выбрать протокол взаимодействия виртуальных десктопов с физическими устройствами (PCoIP или RDP) и ограничить протокол при помощи межсетевого экранирования или следующими настройками View Manager.
Во ViewAdministrator выбрать свойства пула и в группе “RemotedisplayProtocol" установить (как указанов в VMware View Administration, Chapter 5. Creating desktop Pools. "Desktop and Pool Settings"):
параметр "DefaultDisplayProtocol" установить в значение "PCoIP" (или "RDP");
параметр "Allow users to choose protocol" в значение "No".