Freigeben über


Tutorial: Konfigurieren und Abrufen der Ereignisprotokollierung für Azure Cloud HSM

Azure Cloud HSM Preview unterstützt die Ereignisprotokollierung über Log Analytics-Arbeitsbereiche. Diese Funktion ermöglicht die zentrale Sammlung, Analyse und Überwachung von Protokollen in Ihren Cloud HSM-Ressourcen.

Die Ereignisprotokollierung des Vorgangs ist für die allgemeine Sicherheit eines Hardwaresicherheitsmoduls (Hardware Security Module, HSM) von entscheidender Bedeutung. Sie stellt einen transparenten und unveränderlichen Datensatz aller Zugriffe und Vorgänge bereit, um die Verantwortlichkeit und Rückverfolgbarkeit zu gewährleisten.

Durch das Erfassen von Details wie Benutzeraktivitäten, Schlüsselverwaltungsaktionen und Systemereignissen helfen Ihnen Die Betriebsprotokolle, unbefugten Zugriff zu erkennen, Sicherheitsvorfälle zu untersuchen und behördliche Anforderungen einzuhalten. Sie spielen auch eine wichtige Rolle bei der Identifizierung von Anomalien, die auf potenzielle Verstöße oder Fehlkonfigurationen hinweisen könnten. Auf diese Weise stärken sie die Fähigkeit einer Organisation, die Integrität und Vertraulichkeit ihrer kryptografischen Vorgänge aufrechtzuerhalten.

In diesem Tutorial werden Sie:

  • Einrichten und Konfigurieren von Vorgangsereignisprotokollen, einschließlich der Erstellung eines Speicherkontos und eines Log Analytics-Arbeitsbereichs.
  • Protokolle von Abfragevorgängen abfragen, um bestimmte Ereignisse von HSM-Vorgängen abzurufen.
  • Rufen Sie eine umfassende Liste der HSM-Vorgangsereignisse ab.

Wichtig

Zur Aufrechterhaltung von Sicherheit und Datenschutz schließt die Protokollierung vertrauliche Details wie Schlüssel-IDs, Schlüsselnamen und andere identifizierbare Informationen im Zusammenhang mit Schlüsseln, Benutzern oder Sitzungen aus. Protokolle erfassen den ausgeführten HSM-Vorgang, den Zeitpunkt des Vorgangs und relevante HSM-Metadaten.

Die Ereignisprotokollierung des Azure Cloud HSM-Vorgangs kann nicht ermitteln, ob ein HSM-Vorgang erfolgreich war oder fehlgeschlagen ist. Die Tatsache, dass der Vorgang ausgeführt wurde, kann nur protokolliert werden. Diese Einschränkung ist während der Vorschau des Diensts vorhanden, da der HSM-Vorgang innerhalb des inneren TLS-Kanals auftritt, der außerhalb dieser Grenze nicht verfügbar gemacht wird.

Voraussetzungen

Einrichten und Konfigurieren von Ereignisprotokollen für Vorgänge

Verwenden Sie die Befehle in den folgenden Abschnitten, um die Ressourcen einzurichten, die Sie überwachen möchten.

Erstellen eines Speicherkontos zum Speichern von HSM-Protokollen

Um ein Speicherkonto zum Speichern von HSM-Protokollen zu erstellen, müssen Sie zuerst eine Ressourcengruppe erstellen. Sie müssen auch das Speicherkonto innerhalb dieser Ressourcengruppe erstellen. Verwenden Sie die folgenden Befehle, um alle diese Elemente zu erstellen:

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

Erstellen eines Log Analytics-Arbeitsbereichs

Verwenden Sie den folgenden Befehl, um einen Log Analytics-Arbeitsbereich zum Speichern und Analysieren von HSM-Protokollen zu erstellen:

az monitor log-analytics workspace create --resource-group <ResourceGroupName> --workspace-name <WorkspaceName>

Weitere Informationen zum Erstellen eines Log Analytics-Arbeitsbereichs für Azure Monitor finden Sie unter Erstellen eines Log Analytics-Arbeitsbereichs.

Aktivieren von Diagnoseeinstellungen mithilfe der Azure CLI oder Azure PowerShell

Wenn Sie Variablen festlegen und den Befehl ausführen möchten, um Diagnoseeinstellungen für die Ereignisprotokollierung von Azure Cloud HSM-Vorgängen zu aktivieren, verwenden Sie den folgenden Code. Ersetzen Sie die Platzhalter für SubscriptionId, ResourceGroupName, HSMName, StorageAccountNameund WorkspaceName durch die entsprechenden Werte für Ihre Umgebung.

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"

Überprüfen Sie die Konfiguration der Cloud HSM-Protokollierung

Nachdem Sie die Diagnoseeinstellung erstellt haben, beginnen die Protokolle in einem bis zwei Minuten.

Sie können Cloud HSM-Vorgangsereignisprotokolle über den Log Analytics-Arbeitsbereich aus dem Azure-Portal abfragen.

Screenshot der Ereignisprotokolle des Azure Cloud HSM-Vorgangs im Azure-Portal.

Sie können auch Cloud HSM-Vorgangsereignisprotokolle mithilfe der Azure CLI und Azure PowerShell abfragen. In diesem Beispiel aktualisieren Sie ResourceGroupName und 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"

Screenshot der Ereignisprotokolle des Azure Cloud HSM-Vorgangs in der Befehlszeilenschnittstelle.

Registrierungsfehler

Wenn Sie die Fehlermeldung "<Abonnement> ist nicht für die Verwendung von microsoft.insights registriert" angezeigt wird, ist Ihr Azure-Abonnement nicht für die Verwendung des Microsoft.Insights Ressourcenanbieters registriert. Um dieses Problem zu beheben, müssen Sie sich bei dem Microsoft.Insights Anbieter in Ihrem Abonnement registrieren.

Führen Sie zum Registrieren Microsoft.Insights mithilfe der Azure CLI den folgenden Befehl aus:

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

Führen Sie zum Registrieren Microsoft.Insights mithilfe von Azure PowerShell den folgenden Befehl aus:

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

Stellen Sie nach dem Ausführen des Befehls sicher, dass der Ressourcenanbieter registriert ist. Wenn die Registrierung noch besteht, müssen Sie möglicherweise einige Augenblicke warten und erneut überprüfen.

Abfragevorgangsereignisprotokolle

Mit den folgenden Befehlen können Sie bestimmte HSM-Vorgangsereignisse abrufen, die in Vorgangsprotokollen aufgezeichnet werden. Führen Sie zum Auflisten aller Vorgangsereignisse einfach aus CloudHsmServiceOperationAuditLogs.

Ausführliche Informationen zu anderen Vorgängen, die abgefragt werden können, finden Sie in der umfassenden Liste der aufgezeichneten Vorgänge weiter unten in diesem Artikel.

Anmelde- und Sitzungsereignisse

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

Ereignisse zum Erstellen und Löschen von Benutzern

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

Ereignisse für die Schlüsselerstellung

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

Ereignisse für das Löschen von Schlüsseln

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

Glossar der Vorgänge

Die folgenden Namen beziehen sich auf HSM-Vorgangsereignisse.

azcloudhsm_util

Vorgangsname Befehlsname BESCHREIBUNG
CN_LOGIN loginHSM Meldet sich beim HSM an.
CN_LOGOUT logoutHSM Meldet sich vom HSM ab.
CN_GENERATE_KEY genSymKey Generiert einen symmetrischen Schlüssel.
CN_GENERATE_KEY_PAIR genRSAKeyPair Generiert ein RSA-Schlüsselpaar.
CN_GENERATE_KEY_PAIR genECCKeyPair Generiert ein ECC-Schlüsselpaar.
CN_SHARE_OBJECT shareKey Teilt oder einen vorhandenen Schlüssel mit anderen Benutzer*innen oder entzieht die Freigabe.
CN_TOMBSTONE_OBJECT deleteKey Löscht einen Schlüssel.
CN_FIND_OBJECTS_FROM_INDEX findSingleKey Sucht einen einzelnen Schlüssel.
CN_FIND_OBJECTS_USING_COUNT findKey Sucht einen Schlüssel.
CN_GET_OBJECT_INFO getKeyInfo Ruft wichtige Informationen zu geteilten Benutzern/Sitzungen ab.
HASH_SINGLE_CALL sign Generiert eine Signatur (ME_PKCS_PKCS1v15_CRT_ENCRYPT).
HASH_SINGLE_CALL verify Überprüft eine Signatur (ME_PKCS_PKCS1v15_DECRYPT).
CN_LIST_TOKENS listTokens Listet alle Token in der aktuellen Partition auf.
CN_GET_TOKEN getToken Ruft ein Token ab.
CN_CREATE_USER createUser Erstellt einen Benutzer.
CN_DELETE_USER deleteUser Löscht einen Benutzer.
CN_LIST_USERS listUsers Listet Benutzer auf.
CN_CHANGE_PSWD changePswd Ändert ein Kennwort.
CN_MODIFY_OBJECT setAttribute Legt ein Attribut eines Objekts fest.
CN_GET_ATTRIBUTE_VALUE
CN_GET_ALL_ATTRIBUTE_VALUE
CN_GET_ATTRIBUTE_SIZE
CN_GET_ALL_ATTRIBUTE_SIZE
getAttribute Ruft ein Attribut eines Objekts ab.
CN_TOKEN_INFO getHSMInfo Ruft die HSM-Informationen ab.
CN_PARTITION_INFO getPartitionInfo Ruft die Partitionsinformationen ab.
--- getClusterInfo Nicht aufgezeichnet.
--- server Nicht aufgezeichnet.

azcloudhsm_mgmt

Vorgangsname Befehlsname BESCHREIBUNG
CN_LOGIN loginHSM Meldet sich beim HSM an.
CN_LOGOUT logoutHSM Meldet sich vom HSM ab.
CN_GENERATE_KEY genSymKey Generiert einen symmetrischen Schlüssel.
CN_GENERATE_KEY_PAIR genRSAKeyPair Generiert ein RSA-Schlüsselpaar.
CN_GENERATE_KEY_PAIR genECCKeyPair Generiert ein ECC-Schlüsselpaar.
CN_SHARE_OBJECT shareKey Teilt oder einen vorhandenen Schlüssel mit anderen Benutzer*innen oder entzieht die Freigabe.
CN_TOMBSTONE_OBJECT deleteKey Löscht einen Schlüssel.
CN_FIND_OBJECTS_FROM_INDEX findSingleKey Sucht einen einzelnen Schlüssel.
CN_FIND_OBJECTS_USING_COUNT findKey Sucht einen Schlüssel.
CN_GET_OBJECT_INFO getKeyInfo Ruft wichtige Informationen zu geteilten Benutzern/Sitzungen ab.
HASH_SINGLE_CALL sign Generiert eine Signatur (ME_PKCS_PKCS1v15_CRT_ENCRYPT).
HASH_SINGLE_CALL verify Überprüft eine Signatur (ME_PKCS_PKCS1v15_DECRYPT).
CN_LIST_TOKENS listTokens Listet alle Token in der aktuellen Partition auf.
CN_GET_TOKEN getToken Ruft ein Token ab.
CN_CREATE_USER createUser Erstellt einen Benutzer.
CN_DELETE_USER deleteUser Löscht einen Benutzer.
CN_LIST_USERS listUsers Listet Benutzer auf.
CN_CHANGE_PSWD changePswd Ändert ein Kennwort.
CN_MODIFY_OBJECT setAttribute Legt ein Attribut eines Objekts fest.
CN_GET_ATTRIBUTE_VALUE
CN_GET_ALL_ATTRIBUTE_VALUE
CN_GET_ATTRIBUTE_SIZE
CN_GET_ALL_ATTRIBUTE_SIZE
getAttribute Ruft ein Attribut eines Objekts ab.
CN_TOKEN_INFO getHSMInfo Ruft die HSM-Informationen ab.
CN_PARTITION_INFO getPartitionInfo Ruft die Partitionsinformationen ab.
--- getClusterInfo Nicht aufgezeichnet.
--- server Nicht aufgezeichnet.

Sichern und Wiederherstellen

Vorgangsname Befehlsname BESCHREIBUNG
/backup
/restore