Compartir a través de


Tutorial: Configuración y registro de eventos de operación de consulta para Azure Cloud HSM

La versión preliminar de Azure Cloud HSM admite el registro de eventos de operación a través de áreas de trabajo de Log Analytics. Esta funcionalidad permite la recopilación, el análisis y la supervisión centralizados de los registros en los recursos de HSM en la nube.

El registro de eventos de operación es fundamental para la seguridad general de un módulo de seguridad de hardware (HSM). Proporciona un registro transparente e inmutable de todos los accesos y operaciones, para ayudar a garantizar la responsabilidad y la rastreabilidad.

Al capturar detalles como actividades de usuario, acciones de administración de claves y eventos del sistema, los registros de operaciones le ayudan a detectar acceso no autorizado, investigar incidentes de seguridad y cumplir los requisitos normativos. También desempeñan un papel fundamental en la identificación de anomalías que podrían indicar posibles infracciones o configuraciones incorrectas. De este modo, fortalecen la capacidad de una organización de mantener la integridad y confidencialidad de sus operaciones criptográficas.

En este tutorial, harás lo siguiente:

  • Configure y establezca los registros de eventos operativos, incluida la creación de una cuenta de almacenamiento y un espacio de trabajo de Log Analytics.
  • Registros de eventos de operación de consulta para recuperar eventos de operación HSM específicos.
  • Obtenga una lista completa de eventos de operación de HSM.

Importante

Para mantener la seguridad y la privacidad, el registro excluye detalles confidenciales, como identificadores de clave, nombres de clave y otra información identificable relacionada con claves, usuarios o sesiones. Los registros capturan la operación de HSM realizada, la hora de la operación y los metadatos de HSM pertinentes.

El registro de eventos de la operación HSM en la nube de Azure no puede determinar si una operación de HSM se realizó correctamente o no. Solo puede registrar el hecho de que se ejecutó la operación. Esta limitación existe durante la versión preliminar del servicio porque la operación HSM se produce dentro del canal TLS interno, que no se expone fuera de ese límite.

Prerrequisitos

Establecer y configurar registros de eventos de operación

Use los comandos de las secciones siguientes para configurar los recursos que desea supervisar.

Creación de una cuenta de almacenamiento para almacenar registros de HSM

Para crear una cuenta de almacenamiento para almacenar registros de HSM, primero debe crear un grupo de recursos. También debe crear la cuenta de almacenamiento dentro de ese grupo de recursos. Use los siguientes comandos para crear todos estos elementos:

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

Creación de un área de trabajo de Log Analytics

Para crear un área de trabajo de Log Analytics para almacenar y analizar registros de HSM, use el siguiente comando:

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

Para más información sobre cómo crear un área de trabajo de Log Analytics para Azure Monitor, consulte Creación de un área de trabajo de Log Analytics.

Habilitación de la configuración de diagnóstico mediante la CLI de Azure o Azure PowerShell

Para establecer variables y ejecutar el comando para habilitar la configuración de diagnóstico para el registro de eventos de la operación HSM de Azure Cloud, use el código siguiente. Reemplace los marcadores de posición de SubscriptionId, ResourceGroupName, HSMName, StorageAccountNamey WorkspaceName por los valores adecuados para su entorno.

CLI de Azure

$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"

Comprobación de la configuración del registro de HSM en la nube

Después de crear la configuración de diagnóstico, los registros comienzan a fluir en uno a dos minutos.

Puede consultar los registros de eventos de la operación HSM en la nube desde Azure Portal a través del área de trabajo de Log Analytics.

Captura de pantalla de los registros de eventos de la operación HSM en la nube de Azure en Azure Portal.

También puede consultar los registros de eventos de la operación HSM en la nube mediante la CLI de Azure y Azure PowerShell. En este ejemplo, actualizará ResourceGroupName y 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"

Captura de pantalla de los registros de eventos de operación HSM de Azure Cloud en la interfaz de la línea de comandos.

Error de registro

Si recibe el mensaje de error "<La suscripción> no está registrada para usar microsoft.insights", la suscripción de Azure no está registrada para usar el Microsoft.Insights proveedor de recursos. Para resolver este problema, debe registrarse con el proveedor Microsoft.Insights en la suscripción.

Para registrarse Microsoft.Insights mediante la CLI de Azure, ejecute el siguiente comando:

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

Para registrarse Microsoft.Insights mediante Azure PowerShell, ejecute el siguiente comando:

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

Después de ejecutar el comando, asegúrese de que el proveedor de recursos está registrado. Si aún se está registrando, es posible que tenga que esperar unos instantes y volver a comprobarlo.

Registros de eventos de la operación de consulta

Puede usar los siguientes comandos para recuperar eventos de operación HSM específicos registrados en los registros de operaciones. Para enumerar todos los eventos de operación, simplemente ejecute CloudHsmServiceOperationAuditLogs.

Para más información sobre otras operaciones que se pueden consultar, consulte la lista completa de operaciones grabadas más adelante en este artículo.

Eventos de inicio de sesión y eventos de conexión

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

Eventos para crear y eliminar usuarios

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

Eventos para la creación de claves

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

Eventos para la eliminación de claves

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

Glosario de operaciones

Los siguientes nombres están relacionados con los eventos operativos de HSM.

azcloudhsm_util

Nombre de la operación Nombre de comando Descripción
CN_LOGIN loginHSM Inicia la sesión en el HSM.
CN_LOGOUT logoutHSM Cierra la sesión del HSM.
CN_GENERATE_KEY genSymKey Genera una clave simétrica.
CN_GENERATE_KEY_PAIR genRSAKeyPair Genera un par de claves RSA.
CN_GENERATE_KEY_PAIR genECCKeyPair Genera un par de claves ECC.
CN_SHARE_OBJECT shareKey Comparte o descomprime una clave existente con otros usuarios.
CN_TOMBSTONE_OBJECT deleteKey Elimina una clave.
CN_FIND_OBJECTS_FROM_INDEX findSingleKey Busca una sola clave.
CN_FIND_OBJECTS_USING_COUNT findKey Busca una clave.
CN_GET_OBJECT_INFO getKeyInfo Obtiene información clave sobre usuarios o sesiones compartidos.
HASH_SINGLE_CALL sign Genera una firma (ME_PKCS_PKCS1v15_CRT_ENCRYPT).
HASH_SINGLE_CALL verify Comprueba una firma (ME_PKCS_PKCS1v15_DECRYPT).
CN_LIST_TOKENS listTokens Enumera todos los tokens de la partición actual.
CN_GET_TOKEN getToken Obtiene un token.
CN_CREATE_USER createUser Crea un usuario.
CN_DELETE_USER deleteUser Elimina un usuario.
CN_LIST_USERS listUsers Enumera los usuarios.
CN_CHANGE_PSWD changePswd Cambia una contraseña.
CN_MODIFY_OBJECT setAttribute Establece un atributo de un objeto .
CN_GET_ATTRIBUTE_VALUE
CN_GET_ALL_ATTRIBUTE_VALUE
CN_GET_ATTRIBUTE_SIZE
CN_GET_ALL_ATTRIBUTE_SIZE
getAttribute Obtiene un atributo de un objeto .
CN_TOKEN_INFO getHSMInfo Obtiene la información del HSM.
CN_PARTITION_INFO getPartitionInfo Obtiene la información de partición.
--- getClusterInfo No registrado.
--- server No registrado.

azcloudhsm_mgmt

Nombre de la operación Nombre de comando Descripción
CN_LOGIN loginHSM Inicia la sesión en el HSM.
CN_LOGOUT logoutHSM Cierra la sesión del HSM.
CN_GENERATE_KEY genSymKey Genera una clave simétrica.
CN_GENERATE_KEY_PAIR genRSAKeyPair Genera un par de claves RSA.
CN_GENERATE_KEY_PAIR genECCKeyPair Genera un par de claves ECC.
CN_SHARE_OBJECT shareKey Comparte o descomprime una clave existente con otros usuarios.
CN_TOMBSTONE_OBJECT deleteKey Elimina una clave.
CN_FIND_OBJECTS_FROM_INDEX findSingleKey Busca una sola clave.
CN_FIND_OBJECTS_USING_COUNT findKey Busca una clave.
CN_GET_OBJECT_INFO getKeyInfo Obtiene información clave sobre usuarios o sesiones compartidos.
HASH_SINGLE_CALL sign Genera una firma (ME_PKCS_PKCS1v15_CRT_ENCRYPT).
HASH_SINGLE_CALL verify Comprueba una firma (ME_PKCS_PKCS1v15_DECRYPT).
CN_LIST_TOKENS listTokens Enumera todos los tokens de la partición actual.
CN_GET_TOKEN getToken Obtiene un token.
CN_CREATE_USER createUser Crea un usuario.
CN_DELETE_USER deleteUser Elimina un usuario.
CN_LIST_USERS listUsers Enumera los usuarios.
CN_CHANGE_PSWD changePswd Cambia una contraseña.
CN_MODIFY_OBJECT setAttribute Establece un atributo de un objeto .
CN_GET_ATTRIBUTE_VALUE
CN_GET_ALL_ATTRIBUTE_VALUE
CN_GET_ATTRIBUTE_SIZE
CN_GET_ALL_ATTRIBUTE_SIZE
getAttribute Obtiene un atributo de un objeto .
CN_TOKEN_INFO getHSMInfo Obtiene la información del HSM.
CN_PARTITION_INFO getPartitionInfo Obtiene la información de partición.
--- getClusterInfo No registrado.
--- server No registrado.

Copias de seguridad y restauración

Nombre de la operación Nombre de comando Descripción
/backup
/restore