AWS - CloudHSM Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Cloud HSM to zweryfikowane urządzenie sprzętowe na poziomie FIPS 140, przeznaczone do bezpiecznego przechowywania kluczy kryptograficznych (zauważ, że CloudHSM to urządzenie sprzętowe, a nie usługa wirtualizowana). Jest to urządzenie SafeNetLuna 7000 z wstępnie załadowanym oprogramowaniem 5.3.13. Istnieją dwie wersje oprogramowania układowego, a wybór zależy od Twoich dokładnych potrzeb. Jedna jest zgodna z FIPS 140-2, a druga to nowsza wersja, która może być używana.
Niezwykłą cechą CloudHSM jest to, że jest to fizyczne urządzenie, a zatem nie jest dzielone z innymi klientami, lub jak to się powszechnie określa, jest wielo-tenantowe. Jest to dedykowane urządzenie dla jednego najemcy, dostępne wyłącznie dla Twoich obciążeń.
Zazwyczaj urządzenie jest dostępne w ciągu 15 minut, zakładając, że jest dostępna pojemność, ale w niektórych strefach może jej nie być.
Ponieważ jest to fizyczne urządzenie dedykowane dla Ciebie, klucze są przechowywane na urządzeniu. Klucze muszą być replikowane na inne urządzenie, archiwizowane w offline lub eksportowane do urządzenia zapasowego. To urządzenie nie jest wspierane przez S3 ani żadną inną usługę w AWS, taką jak KMS.
W CloudHSM musisz samodzielnie skalować usługę. Musisz przydzielić wystarczającą liczbę urządzeń CloudHSM, aby obsłużyć Twoje potrzeby związane z szyfrowaniem, w oparciu o algorytmy szyfrowania, które wybrałeś do wdrożenia w swoim rozwiązaniu. Skalowanie usługi zarządzania kluczami jest realizowane przez AWS i automatycznie dostosowuje się do potrzeb, więc w miarę wzrostu użycia może wzrosnąć również liczba wymaganych urządzeń CloudHSM. Pamiętaj o tym, gdy skalujesz swoje rozwiązanie, a jeśli Twoje rozwiązanie ma automatyczne skalowanie, upewnij się, że maksymalna skala jest uwzględniona z wystarczającą liczbą urządzeń CloudHSM do obsługi rozwiązania.
Podobnie jak w przypadku skalowania, wydajność zależy od Ciebie w CloudHSM. Wydajność różni się w zależności od używanego algorytmu szyfrowania oraz od tego, jak często musisz uzyskiwać dostęp do kluczy lub je pobierać, aby zaszyfrować dane. Wydajność usługi zarządzania kluczami jest obsługiwana przez Amazon i automatycznie dostosowuje się do potrzeb. Wydajność CloudHSM osiąga się poprzez dodawanie kolejnych urządzeń, a jeśli potrzebujesz większej wydajności, dodajesz urządzenia lub zmieniasz metodę szyfrowania na szybszy algorytm.
Jeśli Twoje rozwiązanie jest wieloregionowe, powinieneś dodać kilka urządzeń CloudHSM w drugim regionie i ustalić łączność międzyregionową za pomocą prywatnego połączenia VPN lub jakiejś metody, aby zapewnić, że ruch jest zawsze chroniony na każdym poziomie połączenia. Jeśli masz rozwiązanie wieloregionowe, musisz pomyśleć o tym, jak replikować klucze i skonfigurować dodatkowe urządzenia CloudHSM w regionach, w których działasz. Możesz bardzo szybko znaleźć się w sytuacji, w której masz sześć lub osiem urządzeń rozłożonych w wielu regionach, co umożliwia pełną redundancję Twoich kluczy szyfrujących.
CloudHSM to usługa klasy enterprise do bezpiecznego przechowywania kluczy i może być używana jako punkt zaufania dla przedsiębiorstwa. Może przechowywać klucze prywatne w PKI i klucze urzędów certyfikacji w implementacjach X509. Oprócz kluczy symetrycznych używanych w algorytmach symetrycznych, takich jak AES, KMS przechowuje i fizycznie chroni tylko klucze symetryczne (nie może działać jako urząd certyfikacji), więc jeśli musisz przechowywać klucze PKI i CA, jedno lub dwa urządzenia CloudHSM mogą być Twoim rozwiązaniem.
CloudHSM jest znacznie droższy niż usługa zarządzania kluczami. CloudHSM to urządzenie sprzętowe, więc masz stałe koszty związane z przydzieleniem urządzenia CloudHSM, a następnie koszt godzinowy związany z jego działaniem. Koszt jest mnożony przez liczbę urządzeń CloudHSM, które są wymagane do spełnienia Twoich specyficznych wymagań. Dodatkowo, należy uwzględnić koszty zakupu oprogramowania firm trzecich, takich jak zestawy oprogramowania SafeNet ProtectV oraz czas i wysiłek związany z integracją. Usługa zarządzania kluczami jest oparta na użyciu i zależy od liczby kluczy, które posiadasz, oraz operacji wejścia i wyjścia. Ponieważ zarządzanie kluczami zapewnia bezproblemową integrację z wieloma usługami AWS, koszty integracji powinny być znacznie niższe. Koszty powinny być traktowane jako czynnik drugorzędny w rozwiązaniach szyfrujących. Szyfrowanie jest zazwyczaj używane w celach bezpieczeństwa i zgodności.
Tylko Ty masz dostęp do kluczy w CloudHSM i nie wchodząc w zbyt wiele szczegółów, w CloudHSM zarządzasz swoimi własnymi kluczami. W KMS Ty i Amazon współzarządzacie swoimi kluczami. AWS ma wiele zabezpieczeń politycznych przeciwko nadużyciom i nadal nie może uzyskać dostępu do Twoich kluczy w żadnym z rozwiązań. Główna różnica polega na zgodności, jeśli chodzi o własność i zarządzanie kluczami, a w CloudHSM jest to urządzenie sprzętowe, którym zarządzasz i które utrzymujesz z wyłącznym dostępem tylko dla Ciebie.
Zawsze wdrażaj CloudHSM w konfiguracji HA z co najmniej dwoma urządzeniami w oddzielnych strefach dostępności, a jeśli to możliwe, wdroż trzeci, albo lokalnie, albo w innym regionie AWS.
Bądź ostrożny podczas inicjalizacji CloudHSM. Ta akcja zniszczy klucze, więc albo miej inną kopię kluczy, albo bądź absolutnie pewny, że nie będziesz ich potrzebować do odszyfrowania jakichkolwiek danych.
CloudHSM obsługuje tylko określone wersje oprogramowania układowego i oprogramowania. Przed wykonaniem jakiejkolwiek aktualizacji upewnij się, że oprogramowanie układowe lub oprogramowanie jest obsługiwane przez AWS. Zawsze możesz skontaktować się z pomocą techniczną AWS, aby zweryfikować, czy przewodnik aktualizacji jest niejasny.
Konfiguracja sieciowa nigdy nie powinna być zmieniana. Pamiętaj, że znajduje się w centrum danych AWS, a AWS monitoruje podstawowy sprzęt za Ciebie. Oznacza to, że jeśli sprzęt zawiedzie, wymienią go za Ciebie, ale tylko jeśli będą wiedzieć, że zawiódł.
Przekazywanie SysLog nie powinno być usuwane ani zmieniane. Zawsze możesz dodać przekaznik SysLog, aby skierować logi do swojego narzędzia zbierającego.
Konfiguracja SNMP ma te same podstawowe ograniczenia co sieć i folder SysLog. To nie powinno być zmieniane ani usuwane. Dodatkowa konfiguracja SNMP jest w porządku, po prostu upewnij się, że nie zmieniasz tej, która już znajduje się na urządzeniu.
Inną interesującą najlepszą praktyką od AWS jest niezmienianie konfiguracji NTP. Nie jest jasne, co by się stało, gdybyś to zrobił, więc pamiętaj, że jeśli nie używasz tej samej konfiguracji NTP dla reszty swojego rozwiązania, możesz mieć dwa źródła czasu. Po prostu bądź tego świadomy i wiedz, że CloudHSM musi pozostać przy istniejącym źródle NTP.
Początkowa opłata za uruchomienie CloudHSM wynosi 5000 USD za przydzielenie sprzętowego urządzenia dedykowanego do Twojego użytku, a następnie istnieje opłata godzinowa związana z działaniem CloudHSM, która obecnie wynosi 1,88 USD za godzinę działania, czyli około 1373 USD miesięcznie.
Najczęstszym powodem korzystania z CloudHSM są standardy zgodności, które musisz spełnić z powodów regulacyjnych. KMS nie oferuje wsparcia dla kluczy asymetrycznych. CloudHSM pozwala na bezpieczne przechowywanie kluczy asymetrycznych.
Klucz publiczny jest instalowany na urządzeniu HSM podczas przydzielania, abyś mógł uzyskać dostęp do instancji CloudHSM za pomocą SSH.
Moduł bezpieczeństwa sprzętowego (HSM) to dedykowane urządzenie kryptograficzne, które służy do generowania, przechowywania i zarządzania kluczami kryptograficznymi oraz ochrony wrażliwych danych. Zostało zaprojektowane w celu zapewnienia wysokiego poziomu bezpieczeństwa poprzez fizyczne i elektroniczne izolowanie funkcji kryptograficznych od reszty systemu.
Sposób działania HSM może się różnić w zależności od konkretnego modelu i producenta, ale ogólnie występują następujące kroki:
Generowanie kluczy: HSM generuje losowy klucz kryptograficzny za pomocą bezpiecznego generatora liczb losowych.
Przechowywanie kluczy: Klucz jest bezpiecznie przechowywany w HSM, gdzie może być dostępny tylko dla autoryzowanych użytkowników lub procesów.
Zarządzanie kluczami: HSM zapewnia szereg funkcji zarządzania kluczami, w tym rotację kluczy, kopie zapasowe i unieważnianie.
Operacje kryptograficzne: HSM wykonuje szereg operacji kryptograficznych, w tym szyfrowanie, deszyfrowanie, podpis cyfrowy i wymianę kluczy. Operacje te są wykonywane w bezpiecznym środowisku HSM, co chroni przed nieautoryzowanym dostępem i manipulacją.
Rejestrowanie audytów: HSM rejestruje wszystkie operacje kryptograficzne i próby dostępu, które mogą być używane do celów zgodności i audytu bezpieczeństwa.
HSM mogą być używane w szerokim zakresie zastosowań, w tym w bezpiecznych transakcjach online, certyfikatach cyfrowych, bezpiecznej komunikacji i szyfrowaniu danych. Często są stosowane w branżach, które wymagają wysokiego poziomu bezpieczeństwa, takich jak finanse, opieka zdrowotna i rząd.
Ogólnie rzecz biorąc, wysoki poziom bezpieczeństwa zapewniany przez HSM sprawia, że bardzo trudno jest wydobyć surowe klucze z nich, a próba ich wydobycia jest często uważana za naruszenie bezpieczeństwa. Jednak mogą występować pewne scenariusze, w których surowy klucz mógłby być wydobyty przez upoważniony personel w określonych celach, na przykład w przypadku procedury odzyskiwania kluczy.
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)