Freigeben über


Tutorial: Konfigurieren und Abfragen der Betriebsereignisprotokollierung für Azure Cloud HSM

Azure Cloud HSM unterstützt die Protokollierung von Betriebsvorgängen in Log Analytics-Arbeitsbereichen. 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.

Azure Cloud HSM-Betriebsereignisprotokollierung kann nicht feststellen, ob ein HSM-Vorgang erfolgreich war oder fehlgeschlagen ist. Die Tatsache, dass der Vorgang ausgeführt wurde, kann nur protokolliert werden.

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.

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

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 "<resource-group>" \
  --workspace-name "<workspace-name>"

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

Aktivieren von Diagnoseeinstellungen

Verwenden Sie den folgenden Code, um Diagnoseeinstellungen für Azure Cloud HSM-Vorgangsereignisprotokollierung zu aktivieren. Ersetzen Sie die Platzhalter durch die entsprechenden Werte für Ihre Umgebung.

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}]'

Ü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 das Azure Portal über den Log Analytics Arbeitsbereich abfragen.

Screenshot von Betriebseventprotokollen des Azure Cloud HSM im Azure-Portal.

Sie können auch Cloud HSM-Vorgangsereignisprotokolle abfragen, indem Sie die Azure CLI oder Azure PowerShell verwenden.

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"

Screenshot von Azure Cloud HSM-Betriebsereignisprotokollen in der Befehlszeilenschnittstelle.

Registrierungsfehler

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

az provider register --namespace Microsoft.Insights

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

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