Tutorial: Configurar e consultar o registo de eventos de operações para Azure Cloud HSM

O Azure Cloud HSM suporta registo de eventos operacionais através dos espaços de trabalho Log Analytics. Esse recurso permite a coleta, análise e monitoramento centralizados de logs em seus recursos do Cloud HSM.

O log de eventos de operação é crucial para a segurança geral de um módulo de segurança de hardware (HSM). Fornece um registo transparente e imutável de todos os acessos e operações, para ajudar a garantir a responsabilização e a rastreabilidade.

Ao capturar detalhes como atividades do usuário, principais ações de gerenciamento e eventos do sistema, os logs de operação ajudam a detetar acesso não autorizado, investigar incidentes de segurança e cumprir os requisitos regulamentares. Desempenham também um papel vital na identificação de anomalias que possam indicar potenciais violações ou configurações incorretas. Desta forma, reforçam a capacidade de uma organização de manter a integridade e confidencialidade das suas operações criptográficas.

Neste tutorial, você:

  • Configure e configure registos de eventos operacionais, incluindo a criação de uma conta de armazenamento e de um espaço de trabalho Log Analytics.
  • Consulte logs de eventos de operação para recuperar eventos de operação específicos do HSM.
  • Obtenha uma lista abrangente de eventos de operação do HSM.

Important

Para manter a segurança e a privacidade, o registro exclui detalhes confidenciais, como IDs de chave, nomes de chaves e outras informações identificáveis relacionadas a chaves, usuários ou sessões. Os logs capturam a operação de HSM executada, a hora da operação e os metadados relevantes do HSM.

O registo de eventos de operações HSM do Azure Cloud não consegue determinar se uma operação HSM teve sucesso ou falhou. Ele só pode registrar o fato de que a operação foi executada.

Pré-requisitos

  • Uma conta no Azure com uma subscrição ativa. Você pode criar uma conta gratuitamente.
  • Um recurso HSM do Azure Cloud que implementou, inicializou e configurou. Para mais informações, consulte o guia de integração Azure Cloud HSM.

Instalar e configurar logs de eventos de operação

Use os comandos nas seções a seguir para configurar os recursos que você deseja monitorar.

Criar uma conta de armazenamento para armazenar logs do HSM

Para criar uma conta de armazenamento para armazenar logs do HSM, primeiro você precisa criar um grupo de recursos. Você também precisa criar a conta de armazenamento dentro desse grupo de recursos.

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

Crie um espaço de trabalho de Log Analytics

Para criar um espaço de trabalho Log Analytics para armazenar e analisar registos HSM, use o seguinte comando.

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

Para mais informações sobre como criar um espaço de trabalho Log Analytics para Azure Monitor, consulte Criar um espaço de trabalho Log Analytics.

Ativar definições de diagnóstico

Para ativar as definições de diagnóstico para o registo de eventos de operações do HSM no Azure Cloud, utilize o seguinte código. Substitua os marcadores pelos valores adequados ao seu ambiente.

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

Verificar a configuração do log do Cloud HSM

Depois de criar a configuração de diagnóstico, os logs começam a fluir em 1 a 2 minutos.

Pode consultar os registos de eventos de operações do Cloud HSM a partir do portal do Azure através do espaço de trabalho do Log Analytics.

Captura de ecrã dos registos de eventos de operações HSM Azure Cloud no portal Azure.

Também pode consultar registos de eventos de operações HSM na cloud usando a CLI do Azure ou 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"

Captura de ecrã dos registos de eventos de operações Azure Cloud HSM na interface de linha de comandos.

Erro de registo

Se receber a mensagem de erro "<subscription> não está registado para usar microsoft.insights", a sua subscrição de Azure não está registada para usar o fornecedor de recursos Microsoft.Insights. Para resolver este problema, precisa de registar-se no fornecedor Microsoft.Insights da sua subscrição.

az provider register --namespace Microsoft.Insights

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

Depois de executar o comando, verifique se o provedor de recursos está registrado. Se ainda estiver a registar-se, poderá ter de esperar alguns instantes e verificar novamente.

Consultar logs de eventos de operação

Você pode usar os comandos a seguir para recuperar eventos de operação específicos do HSM registrados em logs de operação. Para listar todos os eventos de operação, basta executar CloudHsmServiceOperationAuditLogs.

Para obter detalhes sobre outras operações que podem ser consultadas, consulte a lista abrangente de operações registradas mais adiante neste artigo.

Eventos de login e sessão

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

Eventos para criar e excluir usuários

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

Eventos para a criação de chaves

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

Eventos associados à exclusão de chave

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

Glossário de operações

Os nomes a seguir estão relacionados a eventos de operação do HSM.

azcloudhsm_util

Nome da operação Nome do comando Descrição
CN_LOGIN loginHSM Inicia sessão no HSM.
CN_LOGOUT logoutHSM Termina sessão no HSM.
CN_GENERATE_KEY genSymKey Gera uma chave simétrica.
CN_GENERATE_KEY_PAIR genRSAKeyPair Gera um par de chaves RSA.
CN_GENERATE_KEY_PAIR genECCKeyPair Gera um par de chaves ECC.
CN_SHARE_OBJECT shareKey Partilha/anula a partilha de uma chave existente com outros utilizadores.
CN_TOMBSTONE_OBJECT deleteKey Exclui uma chave.
CN_FIND_OBJECTS_FROM_INDEX findSingleKey Localiza uma única chave.
CN_FIND_OBJECTS_USING_COUNT findKey Localiza uma chave.
CN_GET_OBJECT_INFO getKeyInfo Obtém informações importantes sobre usuários/sessões compartilhados.
HASH_SINGLE_CALL sign Gera uma assinatura (ME_PKCS_PKCS1v15_CRT_ENCRYPT).
HASH_SINGLE_CALL verify Verifica uma assinatura (ME_PKCS_PKCS1v15_DECRYPT).
CN_LIST_TOKENS listTokens Lista todos os tokens na partição atual.
CN_GET_TOKEN getToken Obtém um token.
CN_CREATE_USER createUser Cria um usuário.
CN_DELETE_USER deleteUser Exclui um usuário.
CN_LIST_USERS listUsers Lista usuários.
CN_CHANGE_PSWD changePswd Altera uma senha.
CN_MODIFY_OBJECT setAttribute Define um atributo de um objeto.
CN_GET_ATTRIBUTE_VALUE
CN_GET_ALL_ATTRIBUTE_VALUE
CN_GET_ATTRIBUTE_SIZE
CN_GET_ALL_ATTRIBUTE_SIZE
getAttribute Obtém um atributo de um objeto.
CN_TOKEN_INFO getHSMInfo Obtém as informações do HSM.
CN_PARTITION_INFO getPartitionInfo Obtém as informações da partição.
--- getClusterInfo Não gravado.
--- server Não gravado.

azcloudhsm_mgmt

Nome da operação Nome do comando Descrição
CN_LOGIN loginHSM Inicia sessão no HSM.
CN_LOGOUT logoutHSM Termina sessão no HSM.
CN_GENERATE_KEY genSymKey Gera uma chave simétrica.
CN_GENERATE_KEY_PAIR genRSAKeyPair Gera um par de chaves RSA.
CN_GENERATE_KEY_PAIR genECCKeyPair Gera um par de chaves ECC.
CN_SHARE_OBJECT shareKey Partilha/anula a partilha de uma chave existente com outros utilizadores.
CN_TOMBSTONE_OBJECT deleteKey Exclui uma chave.
CN_FIND_OBJECTS_FROM_INDEX findSingleKey Localiza uma única chave.
CN_FIND_OBJECTS_USING_COUNT findKey Localiza uma chave.
CN_GET_OBJECT_INFO getKeyInfo Obtém informações importantes sobre usuários/sessões compartilhados.
HASH_SINGLE_CALL sign Gera uma assinatura (ME_PKCS_PKCS1v15_CRT_ENCRYPT).
HASH_SINGLE_CALL verify Verifica uma assinatura (ME_PKCS_PKCS1v15_DECRYPT).
CN_LIST_TOKENS listTokens Lista todos os tokens na partição atual.
CN_GET_TOKEN getToken Obtém um token.
CN_CREATE_USER createUser Cria um usuário.
CN_DELETE_USER deleteUser Exclui um usuário.
CN_LIST_USERS listUsers Lista usuários.
CN_CHANGE_PSWD changePswd Altera uma senha.
CN_MODIFY_OBJECT setAttribute Define um atributo de um objeto.
CN_GET_ATTRIBUTE_VALUE
CN_GET_ALL_ATTRIBUTE_VALUE
CN_GET_ATTRIBUTE_SIZE
CN_GET_ALL_ATTRIBUTE_SIZE
getAttribute Obtém um atributo de um objeto.
CN_TOKEN_INFO getHSMInfo Obtém as informações do HSM.
CN_PARTITION_INFO getPartitionInfo Obtém as informações da partição.
--- getClusterInfo Não gravado.
--- server Não gravado.

Backup e restauração

Nome da operação Nome do comando Descrição
/backup
/restore