Защита на виртуални машини, хоствани в център за данни SERVILON
В ерата на облачните изчисления, когато всеки потребител има собствен облак за съхранение на снимки, а компаниите наемат сървъри за облачни изчисления, възниква въпросът за поверителността на съхраняваната информация. И ако потребителите могат да се доверят на облака или да използват крипто контейнери за защита на съхранените данни, тогава компаниите са в по-зле. Тъй като не само съхранението на данни се прехвърля в облаците, но и самите изчисления.
Защитата на виртуалните машини е особено засегната, тъй като в случай на компрометиране на хоста няма да е трудно да получите достъп до VM. Доскоро нито един от хипервайзорите, независимо дали става дума за VMware, Xen, Hyper-V, не предоставяше значими технологии за защита на виртуални машини.
И ако нападателят получи физически достъп до сървъра, тогава само криптирането на диска може да спаси и дори тогава не във всички случаи. Разбира се, при наемане на сървър, част от мерките за защита се поемат от центъра за данни. Но в този случай трябва да се доверите на администраторите на центъра за данни.
С пускането на Windows Server 2016 Microsoft реши да обърне повече внимание на сигурността на хоста и виртуалната инфраструктура. Сега можете да изолирате виртуалната машина от администратора на Hyper-V хоста. И с помощта на виртуален TPM стана възможно да се шифроват VM данни с помощта на bitlocker.
Така, използвайки новите технологии, е възможно да се поставят виртуални машини на неконтролирани сървъри или в корпоративни центрове за данни, но с повишено ниво на сигурност, разграничаващо ролите на физическия и виртуалния достъп.
Използвани технологии
Shielded VM е технология, която изолира виртуална машина от хост. Защитава виртуалната машина от случайни или умишлени действия от администратора на хоста и от злонамерен софтуер.
Защитената виртуална машина изисква сървър на Host Guardian Service (HGS), който издава ключове за достъп до виртуалната машина и проверява изправността на Hyper-V хоста.
HGS поддържа два типа атестация:
- TPM-доверена атестация - проверката се основава на TPM ID, последователност за зареждане на OS и политика за интегритет на кода. По този начин можете да сте сигурни, че на хоста работи само одобрен код.
- Удостоверяване, доверено на администратора - Валидирането се извършва въз основа на членство в група за сигурност на Active Directory.
Схема на работа на HGS:

Когато виртуалната машина се стартира, защитеният хост се удостоверява от HGS сървъра, който решава дали да прехвърли ключове за достъп към виртуалната машина.
Довереното от администратора удостоверение е полезно в предприятието, когато трябва да изолирате достъпа до виртуалната машина от администраторите.
TPM довереното удостоверение се използва най-добре при хостване на виртуални машини на нает сървър, за да се осигури изолация на данни и виртуална машина от работниците в центъра за данни.
Комуникацията между HGS сървъра и защитения хост се осъществява чрез протокол http (https). HTTPS не е необходим за защитена комуникация, но ако искате да активирате HTTPS, ще ви трябва допълнителен сертификат. В случай на AD удостоверяване, трябва допълнително да конфигурирате еднопосочно доверие на домейна.
Виртуален защитен режим (VSM) е базирана на виртуализация технология, която ви позволява да изолирате критични за сигурността операции в мини ОС.
Има две други технологии, работещи на VSM:
- Device Guard - проверка на данните за фърмуера на UEFI и драйверите за режим на ядрото (контрол на целостта на кода);
- Credential Guard - изолиране на процеса на удостоверяване на потребителя (LSA).
Принцип на работа на VSM:

Основната ОС работи във виртуална среда. И хипервайзорът действа като хост ОС, като по този начин ограничава достъпа до RAM. В резултат на това зловреден софтуер, работещ на хоста, дори с администраторски права, няма да може да получи достъп до VSM паметта. Също така, такава структура трябва да предпазва от атаки срещу DMA портове.
Относно организацията Shielded VM
При поръчка на екранирана виртуална машина се разбира, че Hyper-V хостът и HGS сървърът са отстрани на центъра за данни (както е организиран в Microsoft Azure). В този случай можете сами да създадете защитена виртуална машина или да използвате предоставения шаблон.
Чрез самостоятелно създаване на екранирана виртуална машина, клиентът внедрява и конфигурира виртуалната машина на своя компютър и след това я криптира с ключ, издаден от центъра за данни. След прехвърляне на VM в центъра за данни.
Във втория случай клиентът създава само PDK файл, който защитава VM, създаден от шаблона. PDK файлът свързва файла с шаблона към HGS сървъра. Но трябва да се уверите, че в шаблона няма зловреден софтуер.
Първият метод изглежда по-сигурен, тъй като файлът с данни на VM достига до хоста във вече криптирана форма. Във всеки случай ключовете за достъп до виртуалната машина не достигат до администраторите на центъра за данни в ясен текст.
Единственото място, подложено на атаки, беше сървърът на HGS. защото:
- Администраторът на HGS може да намали изискванията на политиката за сигурност;
- Нападател с администраторски права може да се опита да получи ключове за достъп;
- HGS изисква AD и не изисква TPM, така че ключовете най-вероятно ще се съхраняват в чист вид.
Въз основа на това възникна идеята да се провери възможността на Shielded VM да работи в условия, при които сървърътHGS се хоства в неговата инфраструктура. Това допълнително ще защити виртуалните машини. Освен това този метод може да се използва, ако Центърът за данни не предоставя услугата Shielded VM. Недостатъкът на този подход е, че ще трябва сами да администрирате тази структура.
Също така си струва да разберете, че технологията Shielded VM криптира само конфигурационните файлове на виртуалната машина. VHDX файлът остава некриптиран. За да го шифровате, трябва да активирате vTPM и да шифровате диска с bitlocker.
Комбинацията от нови технологии осигурява надеждна защита:
- човешкият фактор е елиминиран;
- ключовете се предават в криптирана форма;
- сървърите са защитени с нови технологии, които осигуряват проверки за целостта на кода;
- бял списък с разрешени приложения;
- изолиране на VM от хоста.
Това върши много добра работа за защита срещу злонамерен софтуер, насочен към Hyper-V хоста и предоставящ достъп до VM само на собственика, защитавайки го от действията на администратори или всеки, на когото са предоставени администраторски права.
Изисквания за Hyper-V и HGS сървъри
Посочени са изисквания за използване на TPM атестация. AD атестацията е по-малко взискателна, но осигурява много по-малко защита.
HGS:
Hyper-V:
- Windows Server 2016 Data Center Edition
- UEFI Secure Boot
- TPM v2
- IOMMU (VT-d)
Например ще бъде разгледана опцията: наели сте специален сървър и искате да го защитите. Ще се използва TPM атестация. Връзката между хоста и HGS ще бъде чрез http протокола. Ако HGS сървърът няма бял IP, ще трябва да препратите порт 80 или да използвате обратен прокси.
Добавяне и конфигуриране на ролята на HGS на сървъра
Инсталирайте HGS сървъри създаване на домейн
Install-WindowsFeature -Name HostGuardianServiceRole -IncludeManagementTools -Restart
HGS се нуждае от домейн, за да работи. Може да бъде свързан към вече съществуващ домейн, но е препоръчително да създадете отделен домейн за повишена сигурност. Преди да изпълните следната команда, трябва да се уверите, че компютърът не е присъединен към домейн.
Създаване на самоподписани сертификати
За теста бяха създадени самоподписани сертификати, но за реална среда е по-добре да използвате PKI.


Инициализация на HGS сървъра
Посочете сертификати за криптиране и подпис. Изберете метод за валидиране.
Добавяне на защитен Hyper-V хост
Вземете TPM ID
Тази процедура трябва да се извърши за всеки защитен хост.
Добавяне на получения файл към HGS сървъра
Създайте и приложете Политика за цялост на кода
При създаване на политика всички инсталирани програми се сканират и добавят към белия списък. Преди да създадете политика, уверете се, че системата има:
- Без вируси и зловреден софтуер
- Необходимият софтуер е инсталиран и надежден
Препоръчваме ви първо да тествате правилата в режим на проверка. В този случай изпълнимият файл, забранен от правилата, ще бъде показан в дневника.
Сканирането ще отнеме известно време.
Файлът .p7b трябва да бъде преименуван на SIPolicy.p7b и копиран вC:\Windows\System32\CodeIntegrity\SIPolicy.p7b
Рестартираме компютъра и проверяваме работата на системата при планираното типично натоварване. След успешна проверка на работата на системата, деактивирайте режима на одит
Ако са няколкоидентични хостове, политиката може да бъде създадена само веднъж.
Препоръчително е да запазите оригиналния XML файл, за да не се налага да сканирате отново, ако е необходима промяна на правилата.
Когато правилото е активирано, трябва да внимавате да актуализирате или добавяте драйвери за режим на ядрото, тъй като това може да попречи на системата да се зареди.
Регистрирайте политиката на HGS сървъра
Създаване на основна политика на TPM
Тази политика се основава на PCR (регистри за конфигурация на платформа), намерени в TPM. Те съхраняват целостта на системните показатели от зареждането на BIOS до изключването на системата. Ако редът на зареждане е променен, например от руткит, това ще се покаже в PCR.
Политиката е създадена за клас от идентични хардуерни хостове. Трябва да имате инсталиран Hyper-V, преди да го създадете.
Тази команда изисква активиране на Secure Boot, IOMMU (VT-d), защита, базирана на виртуализация.
Можете да използвате флага -SkipValidation, за да разрешите изпълнението на командата, но това няма да поправи грешки.
Добавете TCGlog файл на HGS сървър
Проверка на състоянието на HGS сървъра
В този момент настройката на HGS сървъра приключва. За проверка на извършената работа ще извършим диагностика.
Свържете Hyper-V хоста към HGS сървъра
Когато е правилно конфигуриран, той трябва да бъде:
- IsHostGuarded: вярно
- Състояние на атестацията: преминато
Ако нещо е конфигурирано неправилно, AttestationStatus ще посочи причината.
Създайте екранирана виртуална машина
Получаваме файла с описание на HGS сървъра, който е необходим за свързване на VM към сървъра.
Трябва да създадете VM на отделна машина с Windows Server2016, който не е конфигуриран да използва HGS.
Създаваме нова виртуална машина от второ поколение, инсталираме операционна система върху нея, конфигурираме RDP и проверяваме нейната производителност, шифроваме с Bitlocker.

VM екраниране
Задайте името на VM
Създайте сертификат за собственик
Импортиране на сървърния сертификат
Създаване на Key Protector
Активирайте vTPM във виртуалната машина
След конфигуриране и активиране на защита във VM, тя трябва да бъде преместена на защитен хост. За да направим това, експортираме машината, прехвърляме получените файлове на хоста и ги импортираме в Hyper-V конзолата.
На този етап конфигурацията е завършена, VM е екранирана.
Проверете как работи екранираната виртуална машина
Когато се опитваме да се свържем с виртуалната машина през Hyper-V конзолата, ще видим следното съобщение:

Също така в настройките на VM ще видим предупреждение за невъзможността за промяна на настройките за защита:

Дялът на виртуалната машина е защитен от BitLocker:

Ние се занимаваме с интеграция и поддръжка на ИТ решения за бизнеса. Свържете се с нас, за да научите повече за възможните ИТ решения за вашата компания.