TMP to układ który przechowuje informacja pozwalające na autentykację platformy sprzętowej. Informacje te to certyfikaty, hasła i klucze kryptograficzne. Zastosowań dla tego układu jest wiele, np. wsparcie dla funkcji BitLocker w Windows. W przypadku vSphere, wsparcie dla TPM 2.0 pojawiło się w wersji 6.7 (w niższych wersjach np. 6.5 układ TPM 2.0 nie będzie widoczny). Czy nas to dotyka i jak możemy wykorzystać układ TPM? Jeżeli nasz serwer jest wyposażony w układ TPM który jest w UEFI włączony (by tylko UEFI jest wspierane, nie ma wsparcia w tradycyjnym BIOS) i widoczny dla serwera, to w ESXi pojawi się ciekawy komunikat:
ESXi 6.7 wykorzystuje funkcję Secure Boot w połączeniu z układem TPM 2.0. Oznacza to, że startując ESXi mamy gwarancję, że uruchamiane oprogramowanie jest zweryfikowane cyfrowo i nie uległo zmianie (nie zostało podmienione). Czemu to jest ważne? W dzisiejszych czasach, czasach SDS, większość serwerów jest uruchamiana z wewnętrznej karty SD lub urządzenia USB. W większości serwerów taka karta jest dostępna bez otwierania obudowy (Dell). Kartę można wyjąć, skopiować, wprowadzić kilka zmian i włożyć ponownie. TPM daje nam informację, czy przy restarcie taki serwer nie został zmanipulowany. Abstrakcja? Na świecie ciągle najpopularniejszym atakiem jest Man in the Middle. W tym artykule pokażę jak skonfigurować całość w przystępny sposób na przykładzie serwera HP DL20 Gen9 (który zagościł w moim labie i o którym już niedługo napiszę osobny artykuł). Na początku posłużę się grafiką ze strony VMware pokazującą sekwencję startu ESXi.
Włączamy prąd, host ładuje UEFI które sprawdza Boot Loader, ESXi startuje. VMKBoot komunikuje się z TPM, informacje na temat hosta są wysyłane do vCenter aby sprawdzić czy wszystko jest OK. Szeczegółowo ten aspekt został omówiony w tym artykule. I tu pojawia się ograniczenie, pojedynczy host, bez vCenter lub z uruchamianym na nim vCenter, nie może zostać w tej sekwencji sprawdzony. Zawsze więc w takiej sytuacji pojawi się powyższy komunikat o braku zaświadczenia. Konfigurację rozpoczynamy od serwera, w przypadku HP wchodzimy do UEFI –> RBSU –> Server Security:
W tym miejscu możemy przede wszystkim wyłączyć TPM lub wyłączyć widoczność TPM dla hosta, zamyka to oczywiście temat. W innym wypadku włączamy TPM i jego widoczność dla hosta. Dodatkowo włączamy Secure Boot i restartujemy serwer.
W trakcie wyświetlania komunikatów POST wyraźnie widoczna jest informacja, że UEFI Secure Boot jest włączone.
Konfiguracja dla TPM jest tworzona w momencie dodawania hosta do vCenter, jeśli mamy już host w Inventory to musimy przeprowadzić operację Disconnect/Connect. W jej trakcie generowane są skróty (hash) które są zapisywane w TPM i w vCenter. Podczas kolejnego restartu host skróty zostaną porównane i jeśli wszystko będzie ok to w sekcji vCenter –> Monitor –> Security zobaczymy informację że host przeszedł poprawnie weryfikację.
I to w zasadzie tyle, zastosowanie tego mechanizmu zwiększa bezpieczeństwo środowiska. W tym artykule znajdziecie pytania i odpowiedzi dotyczące TPM w vSphere 6.7. Warto też dodać, że włączenie TPM w ESXi 6.7 powoduje, że możemy wykorzystać TPM w wirtualnych maszynach (vTPM). Jako że w samym układzie możemy zapisywać wiele informacji, bezpieczeństwo można rozszerzyć jednocześnie na hyperwizora jak i na wirtualne maszyny. Temat jest rozwojowy i myślę, że VMware będzie kontynuowało ten projekt.
2 Comments
Leave a reply →