Захист віртуальних машин, розміщених у дата центрі, SERVILON

У вік хмарних технологій, коли у кожного користувача є власна хмара для зберігання фотографій, а компанії орендують сервери для хмарних обчислень, постає питання про конфіденційність інформації, що зберігається. І якщо користувачі для захисту даних, що зберігаються, можуть обійтися довірою до хмари або використанням крипто контейнерів, то у компаній справи гірші. Так як у хмари переноситься не тільки сховище даних, а й самі обчислення.

Особливо страждає захист віртуальних машин, оскільки у разі компрометації хоста, не важко отримати доступ до ВМ. Донедавна жоден з гіпервізорів будь то VMware, Xen, Hyper-V не надавали будь-яких значних технологій захисту ВМ.

А якщо зловмисник отримає фізичний доступ до сервера, то може врятувати тільки шифрування дисків, і то не у всіх випадках. Звісно орендуючи сервер, частина захисних заходів перебирає дата центр. Але в такому разі необхідно довіряти адміністраторам дату центру.

З релізом Windows Server 2016, Microsoft вирішили приділити більше уваги безпеки хоста і віртуальної інфраструктури. Виникла можливість ізолювати ВМ від адміністратора хоста Hyper-V. А використовуючи віртуальний TPM стало можливим шифрування даних ВМ за допомогою bitlocker.

Таким чином, використовуючи нові технології можна розміщувати віртуальні машини на непідконтрольних серверах або в корпоративних датах центрах, але з підвищеним рівнем безпеки, розмежовуючи ролі фізичного та віртуального доступу.

Використовувані технології

Shielded VM - технологія ізолююча віртуальну машину від хоста. Захищає ВМ від випадкових чи навмисних дій адміністратора хоста та від шкідливого програмного забезпечення.

Для роботи Shielded VM потрібна наявність сервера Host Guardian Service (HGS), який видає ключі доступу до ВМ та перевіряє здоров'я хоста Hyper-V.

HGS підтримує два види атестації:

  1. TPM-trusted атестація – перевірка відбувається на основі ідентифікатора TPM, послідовності завантаження ОС та політики цілісності коду. Таким чином, можна бути впевненим, що на хості працює тільки схвалений код.
  2. Admin-trusted атестація – перевірка відбувається на основі приналежності до групи безпеки Active Directory.

Схема роботи HGS:

машин

При запуску віртуальної машини захищений хост проходить атестацію у сервера HGS, який приймає рішення про передачу ключів доступу до віртуальної машини.

Admin-trusted атестацію доцільно використовувати всередині підприємства, коли потрібно ізолювати доступ до ВМ від адміністраторів.

TPM-trusted атестацію краще використовувати при розміщенні ВМ на орендованому сервері, щоб забезпечити ізоляцію даних та ВМ від працівників Дата Центру.

Зв'язок сервера HGS та захищеного хоста здійснюється за http (https) протоколом. HTTPS не потрібний, щоб забезпечити безпечний зв'язок, але, якщо ви захочете включити HTTPS, вам знадобиться додатковий сертифікат. У разі атестації AD необхідно додатково налаштувати односторонній доменний траст.

Virtual Secure Mode (VSM) – технологія, що працює на основі віртуалізації, яка дозволяє ізолювати критичні для безпеки операції в міні ОС.

На VSM працюють дві інші технології:

  • Device Guard – перевірка даних UEFI прошивки та драйверів режиму ядра (контроль цілісності коду);
  • Credential Guard – ізоляція процесу аутентифікації користувачів (LSA).

Принцип роботи VSM:

розміщених

Основна ОС запускається у віртуальному оточенні. А гіпервізор виступає в ролі хостової ОС, тим самим обмежуючи доступ до оперативної пам'яті. У результаті шкідливе програмне забезпечення запущене на хості навіть з адміністраторськими правами не зможе отримати доступ до пам'яті VSM. Також така структура має захищати від атаки на порти DMA.

Про організацію Shielded VM

Замовляючи Shielded VM мається на увазі, що хост Hyper-V і HGS сервер знаходяться на стороні дата центру (так організовано в Microsoft Azure). У такому випадку створювати екрановану віртуальну машину можна самостійно або використовуючи наданий шаблон.

Створюючи Shielded VM самостійно замовник у себе на ПК розгортає та налаштовує ВМ, а потім шифрує ключем, виданим Дата Центром. Після переносить ВМ до Дата Центр.

У другому випадку, замовник створює тільки PDK файл, що захищає ВМ, створену з шаблону. PDK файл пов'язує файл шаблону з сервером HGS. Але необхідно переконатися, що шаблон не має шкідливого ПЗ.

Перший спосіб виглядає безпечнішим, оскільки файл даних ВМ потрапляє на хост у вже шифрованому вигляді. У жодному разі ключі доступу до ВМ не потрапляють до адміністраторів Дата Центру у відкритому вигляді.

Єдиним місцем схильним атакам залишився HGS сервер. Так як:

  • Адміністратор HGS може зменшити вимоги до політики безпеки;
  • Зловмисник, який отримав адміністраторські права, може спробувати отримати ключі доступу;
  • Для роботи HGS потрібно AD і немає вимоги до обов'язкової наявності TPM, отже, ключі найімовірніше зберігатимуться у відкритому вигляді.

Тому з'явилася ідея перевірити можливість роботи Shielded VM в умовах, коли серверHGS розміщується у своїй інфраструктурі. Це ще більше убезпечить віртуальні машини. Також такий спосіб можна використовувати, якщо Дата Центр не надає послугу Shielded VM. Мінус цього підходу в тому, що доведеться самостійно адмініструвати цю структуру.

Також варто розуміти, що технологія Shielded VM шифрує лише файли конфігурації віртуальної машини. файл VHDX залишається незашифрованим. Для його шифрування потрібно включити vTPM і зашифрувати диск бітлокером.

Поєднання нових технологій надає надійний захист:

  • людський фактор усунений;
  • ключі передаються у зашифрованому вигляді;
  • сервери захищені новими технологіями, що передбачають перевірку цілісності коду;
  • білий список дозволених програм;
  • ізоляція ВМ від хоста.

Це все дуже добре захищає від шкідливого програмного забезпечення націленого на хост Hyper-V і надає доступ до ВМ тільки власнику, захищаючи від дій адміністраторів або когось, хто отримав адміністраторські права.

Вимоги до серверів Hyper-V та HGS

Вимоги наведені для використання TPM атестації. AD атестація менш вимоглива, але забезпечує набагато менший захист.

HGS:

Hyper-V:

  • Windows Server 2016 Datacenter 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

Цю процедуру необхідно виконати для кожного хоста, що захищається.

Додаємо отриманий файл на сервер HGS

Створюємо та застосовуємо Code Integrity Policy

При створенні політики відбувається сканування всіх встановлених програм та додавання їх до білого списку. Перед створенням політики необхідно переконатись, що в системі:

  • Відсутні віруси та шкідливе ПЗ
  • Встановлено необхідне роботи ПЗ і є благонадійним

Рекомендується спочатку перевірити роботу політики у режимі аудиту. У такому випадку файл, що виконується, заборонений політикою буде відображено в лозі.

Сканування триватиме деякий час.

Файл .p7b необхідно перейменувати в SIPolicy.p7b і скопіювати в папкуC:\Windows\System32\CodeIntegrity\SIPolicy.p7b

Перезавантажуємо комп'ютер та перевіряємо роботу системи під планованим типовим навантаженням. Після успішної перевірки роботи системи вимикаємо режим аудиту

Якщо захищатиметься кількаідентичних хостів, політику можна створити лише один раз.

Рекомендується залишити вихідний XML файл, щоб у разі потреби зміни політики не проводити повторне сканування.

При включеній політиці необхідно бути обережним з оновленням або додаванням драйверів режиму ядра, оскільки це може запобігти завантаженню системи.

Реєструємо політику на HGS сервері

Створення TPM baseline політики

Ця політика полягає в PCR регістрах (Platform Configuration Registers), що у модулі TPM. Вони зберігаються цілісності метрик системи, починаючи з завантаження BIOS до завершення роботи системи. Якщо порядок завантаження буде змінено, наприклад руткітом, це відобразиться в регістрах PCR.

Політика створюється для класу однакових апаратних хостів. Перед створенням необхідно мати встановлений Hyper-V.

Для цієї команди необхідно включити Secure Boot, IOMMU (VT-d), Virtualization Based Security.

Можна використовувати прапорець -SkipValidation який дозволить виконатися команді, але він не виправить помилки.

Додаємо TCGlog файл на HGS сервері

Перевіряємо статус сервера HGS

На цьому моменті налаштування сервера HGS закінчується. Для перевірки виконаної роботи проведемо діагностику.

Підключаємо хост Hyper-V до HGS серверу

При правильному налаштуванні має бути:

  • IsHostGuarded: true
  • AttestationStatus: passed

Якщо щось настроєно неправильно в AttestationStatus буде вказано причину.

Створення екранованої віртуальної машини

Отримуємо файл опису HGS сервера, який знадобиться для прив'язки ВМ до сервера.

Створювати ВМ потрібно на окремій машині під керуванням Windows Server2016 року, не налаштованої на використання HGS.

Створюємо нову ВМ другого покоління, встановлюємо на неї ОС, налаштовуємо RDP та перевіряємо його працездатність, шифруємо бітлокером.

захист

Екранування ВМ

Задаємо назву ВМ

Створюємо сертифікат власника

Імпортуємо сертифікат сервера

Створюємо Key Protector

Включаємо vTPM у віртуальній машині

Після налаштування та включення захисту у ВМ її необхідно перемістити на хост, що охороняється. Для цього експортуємо машину, переносимо отримані файли на хост, та імпортуємо її в консоль Hyper-V.

На цьому етапі налаштування завершено, ВМ екрановано.

Перевіряємо роботу Shielded VM

При спробі підключитись до ВМ через консоль Hyper-V побачимо повідомлення:

захист

Також у налаштуваннях ВМ побачимо попередження про неможливість змінювати налаштування захисту:

центрі

Розділ віртуальної машини захищений BitLocker:

машин

Ми займаємося інтеграцією та підтримкою ІТ рішень для бізнесу. Зв'яжіться з нами, щоб дізнатися більше про можливі ІТ рішення для вашої компанії.