Samouczek: konfigurowanie rejestrowania zdarzeń operacji i wykonywanie zapytań dla modułu HSM w chmurze Azure

Azure Cloud HSM obsługuje rejestrowanie zdarzeń operacji za pośrednictwem obszarów roboczych Log Analytics. Ta funkcja umożliwia scentralizowane zbieranie, analizę i monitorowanie dzienników w zasobach modułu HSM w chmurze.

Rejestrowanie zdarzeń operacji ma kluczowe znaczenie dla ogólnego bezpieczeństwa sprzętowego modułu zabezpieczeń (HSM). Zapewnia przejrzysty i spójny rejestr wszystkich operacji i dostępu, aby zapewnić odpowiedzialność i możliwość śledzenia.

Przechwytując szczegółowe informacje, takie jak działania użytkownika, akcje zarządzania kluczami i zdarzenia systemowe, dzienniki operacji ułatwiają wykrywanie nieautoryzowanego dostępu, badanie zdarzeń zabezpieczeń i spełnianie wymagań prawnych. Odgrywają one również istotną rolę w identyfikowaniu anomalii, które mogą wskazywać na potencjalne naruszenia lub błędy konfiguracji. W ten sposób wzmacniają zdolność organizacji do utrzymania integralności i poufności operacji kryptograficznych.

W tym samouczku nauczysz się następujących rzeczy:

  • Konfiguracja i ustawienie dzienników zdarzeń operacyjnych, w tym utworzenie konta magazynowego i obszaru roboczego Log Analytics.
  • Wykonywanie zapytań dotyczących dzienników zdarzeń operacji w celu pobrania określonych zdarzeń operacji HSM.
  • Uzyskaj kompleksową listę zdarzeń operacji modułu HSM.

Ważne

Aby zachować bezpieczeństwo i prywatność, rejestrowanie wyklucza poufne szczegóły, takie jak identyfikatory kluczy, nazwy kluczy i inne możliwe do zidentyfikowania informacje związane z kluczami, użytkownikami lub sesjami. Dzienniki przechwytują wykonaną operację HSM, czas operacji i odpowiednie metadane modułu HSM.

Rejestrowanie zdarzeń operacji HSM w Azure Cloud nie może określić, czy operacja HSM zakończyła się sukcesem czy porażką. Może rejestrować tylko fakt, że operacja została wykonana.

Wymagania wstępne

Ustawienie i skonfigurowanie dzienników zdarzeń operacji

Użyj poleceń w poniższych sekcjach, aby skonfigurować zasoby, które mają być monitorowane.

Tworzenie konta magazynu do przechowywania dzienników modułu HSM

Aby stworzyć konto magazynowe do przechowywania logów modułu HSM, należy najpierw utworzyć grupę zasobów. Należy również utworzyć konto magazynu w ramach tej grupy zasobów.

az group create --name "<resource-group>" --location "<location>"

az storage account create \
  --name "<storage-account-name>" \
  --resource-group "<resource-group>" \
  --location "<location>" \
  --sku Standard_LRS \
  --kind StorageV2

Tworzenie obszaru roboczego Log Analytics

Aby utworzyć obszar roboczy Log Analytics do przechowywania i analizowania dzienników modułu HSM, użyj następującego polecenia.

az monitor log-analytics workspace create \
  --resource-group "<resource-group>" \
  --workspace-name "<workspace-name>"

Aby uzyskać więcej informacji na temat tworzenia obszaru roboczego Log Analytics dla Azure Monitor, zobacz Utwórz obszar roboczy Log Analytics.

Włączanie ustawień diagnostycznych

Aby włączyć ustawienia diagnostyczne dla rejestrowania zdarzeń operacji modułu HSM w chmurze Azure, użyj następującego kodu. Zastąp symbole zastępcze odpowiednimi wartościami dla danego środowiska.

resourceId="/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/<hsm-name>"

storageAccountId="/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>"

workspaceId="/subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/microsoft.operationalinsights/workspaces/<workspace-name>"

az monitor diagnostic-settings create \
  --resource $resourceId \
  --name "my-chsmAuditLogs" \
  --storage-account $storageAccountId \
  --workspace $workspaceId \
  --logs '[{"category":"HsmServiceOperations","enabled":true}]'

Weryfikowanie konfiguracji rejestrowania modułu HSM w chmurze

Po utworzeniu ustawienia diagnostycznego dzienniki zaczynają przepływać w ciągu jednej do dwóch minut.

Dzienniki zdarzeń operacji Cloud HSM można przeszukiwać w portalu Azure za pośrednictwem obszaru roboczego Log Analytics.

Zrzut ekranu dzienników zdarzeń operacji usługi Azure Cloud HSM w portalu Azure.

Możesz również wykonywać zapytania dotyczące dzienników zdarzeń operacji modułu HSM w chmurze przy użyciu Azure CLI lub Azure PowerShell.

workspaceId=$(az monitor log-analytics workspace show \
  --resource-group "<resource-group>" \
  --workspace-name "<workspace-name>" \
  --query customerId --output tsv)

az monitor log-analytics query \
  --workspace $workspaceId \
  --analytics-query "CloudHsmServiceOperationAuditLogs | take 10"

Zrzut ekranu dzienników zdarzeń operacji modułu HSM w chmurze Azure w interfejsie wiersza polecenia.

Błąd rejestracji

Jeśli zostanie wyświetlony komunikat o błędzie "<subscription> nie jest zarejestrowany do używania microsoft.insights", subskrypcja Azure nie jest zarejestrowana do korzystania z dostawcy zasobów Microsoft.Insights. Aby rozwiązać ten problem, musisz zarejestrować się u dostawcy Microsoft.Insights w ramach swojej subskrypcji.

az provider register --namespace Microsoft.Insights

az provider show --namespace Microsoft.Insights --query "registrationState" --output table

Po uruchomieniu polecenia upewnij się, że dostawca zasobów jest zarejestrowany. Jeśli nadal się rejestruje, może być konieczne chwilowe odczekanie i ponowne sprawdzenie.

Dzienniki zdarzeń operacji związanych z zapytaniami

Następujące polecenia umożliwiają pobieranie określonych zdarzeń operacji HSM zarejestrowanych w dziennikach operacji. Aby wyświetlić listę wszystkich zdarzeń operacji, wystarczy uruchomić polecenie CloudHsmServiceOperationAuditLogs.

Aby uzyskać szczegółowe informacje na temat innych operacji, które można przeszukiwać, odnieś się do kompleksowej listy zarejestrowanych operacji w dalszej części tego artykułu.

Zdarzenia logowania i sesji

// Find login and session events
CloudHsmServiceOperationAuditLogs
| where OperationName in ("CN_LOGIN", "CN_AUTHORIZE_SESSION")
| project OperationName, MemberId, CallerIpAddress, TimeGenerated

Zdarzenia dotyczące tworzenia i usuwania użytkowników

// Find user creation and deletion events 
CloudHsmServiceOperationAuditLogs
| where OperationName in ("CN_CREATE_USER", "CN_DELETE_USER")
| project OperationName, MemberId, CallerIpAddress, TimeGenerated

Zdarzenia związane z generowaniem kluczy

// Find key creation events
CloudHsmServiceOperationAuditLogs
| where OperationName in ("CN_GENERATE_KEY", "CN_GENERATE_KEY_PAIR")
| project OperationName, MemberId, CallerIpAddress, TimeGenerated

Zdarzenia usuwania klucza

// Find key deletion events
CloudHsmServiceOperationAuditLogs
| where OperationName == "CN_TOMBSTONE_OBJECT"
| project OperationName, MemberId, CallerIpAddress, TimeGenerated

Słownik operacji

Następujące nazwy są powiązane ze zdarzeniami operacji modułu HSM.

azcloudhsm_util

Nazwa operacji Nazwa polecenia Opis
CN_LOGIN loginHSM Zaloguje się do modułu HSM.
CN_LOGOUT logoutHSM Wyloguje się z modułu HSM.
CN_GENERATE_KEY genSymKey Generuje klucz symetryczny.
CN_GENERATE_KEY_PAIR genRSAKeyPair Generuje parę kluczy RSA.
CN_GENERATE_KEY_PAIR genECCKeyPair Generuje parę kluczy ECC.
CN_SHARE_OBJECT shareKey Udziela/cofa udzielenie dostępu do istniejącego klucza innym użytkownikom.
CN_TOMBSTONE_OBJECT deleteKey Usuwa klucz.
CN_FIND_OBJECTS_FROM_INDEX findSingleKey Znajduje pojedynczy klucz.
CN_FIND_OBJECTS_USING_COUNT findKey Znajduje klucz.
CN_GET_OBJECT_INFO getKeyInfo Pobiera kluczowe informacje o udostępnionych użytkownikach/sesjach.
HASH_SINGLE_CALL sign Generuje podpis (ME_PKCS_PKCS1v15_CRT_ENCRYPT).
HASH_SINGLE_CALL verify Weryfikuje podpis (ME_PKCS_PKCS1v15_DECRYPT).
CN_LIST_TOKENS listTokens Wyświetla listę wszystkich tokenów w bieżącej partycji.
CN_GET_TOKEN getToken Pobiera token.
CN_CREATE_USER createUser Tworzy użytkownika.
CN_DELETE_USER deleteUser Usuwa użytkownika.
CN_LIST_USERS listUsers Wyświetla listę użytkowników.
CN_CHANGE_PSWD changePswd Zmienia hasło.
CN_MODIFY_OBJECT setAttribute Ustawia atrybut obiektu.
CN_GET_ATTRIBUTE_VALUE
CN_GET_ALL_ATTRIBUTE_VALUE
CN_GET_ATTRIBUTE_SIZE
CN_GET_ALL_ATTRIBUTE_SIZE
getAttribute Pobiera atrybut obiektu.
CN_TOKEN_INFO getHSMInfo Pobiera informacje o module HSM.
CN_PARTITION_INFO getPartitionInfo Pobiera informacje o partycji.
--- getClusterInfo Nie zarejestrowano.
--- server Nie zarejestrowano.

azcloudhsm_mgmt

Nazwa operacji Nazwa polecenia Opis
CN_LOGIN loginHSM Zaloguje się do modułu HSM.
CN_LOGOUT logoutHSM Wyloguje się z modułu HSM.
CN_GENERATE_KEY genSymKey Generuje klucz symetryczny.
CN_GENERATE_KEY_PAIR genRSAKeyPair Generuje parę kluczy RSA.
CN_GENERATE_KEY_PAIR genECCKeyPair Generuje parę kluczy ECC.
CN_SHARE_OBJECT shareKey Udziela/cofa udzielenie dostępu do istniejącego klucza innym użytkownikom.
CN_TOMBSTONE_OBJECT deleteKey Usuwa klucz.
CN_FIND_OBJECTS_FROM_INDEX findSingleKey Znajduje pojedynczy klucz.
CN_FIND_OBJECTS_USING_COUNT findKey Znajduje klucz.
CN_GET_OBJECT_INFO getKeyInfo Pobiera kluczowe informacje o udostępnionych użytkownikach/sesjach.
HASH_SINGLE_CALL sign Generuje podpis (ME_PKCS_PKCS1v15_CRT_ENCRYPT).
HASH_SINGLE_CALL verify Weryfikuje podpis (ME_PKCS_PKCS1v15_DECRYPT).
CN_LIST_TOKENS listTokens Wyświetla listę wszystkich tokenów w bieżącej partycji.
CN_GET_TOKEN getToken Pobiera token.
CN_CREATE_USER createUser Tworzy użytkownika.
CN_DELETE_USER deleteUser Usuwa użytkownika.
CN_LIST_USERS listUsers Wyświetla listę użytkowników.
CN_CHANGE_PSWD changePswd Zmienia hasło.
CN_MODIFY_OBJECT setAttribute Ustawia atrybut obiektu.
CN_GET_ATTRIBUTE_VALUE
CN_GET_ALL_ATTRIBUTE_VALUE
CN_GET_ATTRIBUTE_SIZE
CN_GET_ALL_ATTRIBUTE_SIZE
getAttribute Pobiera atrybut obiektu.
CN_TOKEN_INFO getHSMInfo Pobiera informacje o module HSM.
CN_PARTITION_INFO getPartitionInfo Pobiera informacje o partycji.
--- getClusterInfo Nie zarejestrowano.
--- server Nie zarejestrowano.

Tworzenie kopii zapasowej i przywracanie

Nazwa operacji Nazwa polecenia Opis
/backup
/restore