Udostępnij przez


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

Moduł HSM w chmurze platformy Azure obsługuje rejestrowanie zdarzeń operacji za pośrednictwem obszarów roboczych usługi 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 niezmienny rekord 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:

  • Utwórz i skonfiguruj dzienniki zdarzeń operacyjnych, w tym utworzenie konta magazynu i obszaru roboczego usługi 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 modułu HSM w chmurze platformy Azure nie może określić, czy operacja HSM zakończyła się powodzeniem, czy niepowodzeniem. 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. Użyj następujących poleceń, aby utworzyć wszystkie te elementy:

az group create --name <ResourceGroupName> --location <RegionName>
az storage account create --name <StorageAccountName> --resource-group <ResourceGroupName> --location <RegionName> --sku Standard_LRS --kind StorageV2

Tworzenie obszaru roboczego usługi Log Analytics

Aby utworzyć obszar roboczy usługi 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 <ResourceGroupName> --workspace-name <WorkspaceName>

Aby uzyskać więcej informacji na temat tworzenia obszaru roboczego usługi Log Analytics dla usługi Azure Monitor, zobacz Tworzenie obszaru roboczego usługi Log Analytics.

Włączanie ustawień diagnostycznych przy użyciu interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell

Aby ustawić zmienne i uruchomić polecenie , aby włączyć ustawienia diagnostyczne dla rejestrowania zdarzeń operacji modułu HSM w chmurze platformy Azure, użyj następującego kodu. Zastąp symbole zastępcze SubscriptionId, ResourceGroupName, HSMName, StorageAccountName i WorkspaceName odpowiednimi wartościami dla danego środowiska.

Azure CLI

$resourceId = "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/<HSMName>"
 
$storageAccountId = "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<StorageAccountName>"
 
$workspaceId = "/subscriptions/<SubscriptionId>/resourcegroups/<ResourceGroupName>/providers/microsoft.operationalinsights/workspaces/<WorkspaceName>"

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

Azure PowerShell

$resourceId = "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/<HSMName>"
 
$storageAccountId = "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<StorageAccountName>"
 
$workspaceId = "/subscriptions/<SubscriptionId>/resourcegroups/<ResourceGroupName>/providers/microsoft.operationalinsights/workspaces/<WorkspaceName>"

New-AzDiagnosticSetting -ResourceId $resourceId -Name "my-chsmAuditLogs" -StorageAccountId $storageAccountId -WorkspaceId $workspaceId -Enabled $true -Category "HsmServiceOperations"

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 usługi Cloud HSM można przeszukiwać w Portalu Azure za pomocą obszaru roboczego Log Analytics.

Zrzut ekranu przedstawiający dzienniki zdarzeń operacji modułu HSM w chmurze platformy Azure w witrynie Azure Portal.

Możesz również wykonywać zapytania dotyczące dzienników zdarzeń operacji modułu HSM w chmurze przy użyciu interfejsu wiersza polecenia platformy Azure i programu Azure PowerShell. W tym przykładzie zaktualizujesz ResourceGroupName i WorkspaceName:

$workspaceId = az monitor log-analytics workspace show --resource-group <ResourceGroupName> --workspace-name <WorkspaceName> --query customerId -o tsv
az monitor log-analytics query -w $workspaceId --analytics-query "CloudHsmServiceOperationAuditLogs | take 10"

Zrzut ekranu przedstawiający dzienniki zdarzeń operacji modułu HSM w chmurze platformy Azure w interfejsie wiersza polecenia.

Błąd rejestracji

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

Aby zarejestrować Microsoft.Insights przy użyciu Azure CLI, uruchom następujące polecenie:

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

Aby zarejestrować się Microsoft.Insights przy użyciu programu Azure PowerShell, uruchom następujące polecenie:

Register-AzResourceProvider -ProviderNamespace Microsoft.Insights
Get-AzResourceProvider -ProviderNamespace Microsoft.Insights | Select-Object ProviderNamespace, > RegistrationState

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 Udostępnia/cofa udostępnianie 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