Partilhar via


Tutorial: Configurar e consultar o log de eventos de operação para o Azure Cloud HSM

O Azure Cloud HSM suporta o registo de eventos de operação através dos espaços de trabalho do 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 defina logs de eventos de operação, incluindo a criação de uma conta de armazenamento e de um espaço de trabalho do 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 log de eventos de operação do Azure Cloud HSM não pode determinar se uma operação do HSM foi bem-sucedida ou falhou. Ele só pode registrar o fato de que a operação foi executada.

Pré-requisitos

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. Use os seguintes comandos para criar todos esses itens:

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

Criar um espaço de trabalho do Log Analytics

Para criar um espaço de trabalho do Log Analytics para armazenar e analisar logs do HSM, use o seguinte comando:

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

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

Habilitar configurações de diagnóstico usando a CLI do Azure ou o Azure PowerShell

Para definir variáveis e executar o comando para habilitar as configurações de diagnóstico para o log de eventos de operação do Azure Cloud HSM, use o código a seguir. Substitua os espaços reservados para SubscriptionId, ResourceGroupName, HSMName, StorageAccountNamee WorkspaceName pelos valores apropriados para seu ambiente.

Azure CLI (Interface de Linha de Comando da 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"

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.

Você pode consultar os logs de eventos de operação do Cloud HSM no portal do Azure por meio do espaço de trabalho do Log Analytics.

Captura de ecrã dos registos de eventos de operação do Azure Cloud HSM no portal do Azure.

Você também pode consultar logs de eventos de operação do Cloud HSM usando a CLI do Azure e o Azure PowerShell. Neste exemplo, você atualiza ResourceGroupName e 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 ecrã dos registos de eventos de operação do Azure Cloud HSM na interface da linha de comandos.

Erro de registo

Se você receber a mensagem de erro "<A assinatura> não está registrada para usar microsoft.insights", sua assinatura do Azure não está registrada para usar o Microsoft.Insights provedor de recursos. Para resolver esse problema, você precisa se registrar com o Microsoft.Insights provedor em sua assinatura.

Para registrar Microsoft.Insights usando a CLI do Azure, execute o seguinte comando:

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

Para se registrar Microsoft.Insights usando o Azure PowerShell, execute o seguinte comando:

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

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 a sessão do 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