Compartilhar via


Tutorial: Configurar e consultar o registro em log de eventos de operação do Azure Cloud HSM

A Visualização do HSM da Nuvem do Azure dá suporte ao log de eventos de operação por meio de workspaces do Log Analytics. Essa funcionalidade permite a coleta centralizada, a análise e o monitoramento de logs em seus recursos de HSM na nuvem.

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

Capturando detalhes como atividades do usuário, ações de gerenciamento de chaves e eventos do sistema, os logs de operações ajudam você a detectar acesso não autorizado, investigar incidentes de segurança e cumprir os requisitos regulatórios. Eles também desempenham um papel vital na identificação de anomalias que podem indicar possíveis violações ou configurações incorretas. Dessa forma, eles reforçam a capacidade de uma organização de manter a integridade e a confidencialidade de suas operações criptográficas.

Neste tutorial, você:

  • Configurar e ajustar logs de eventos operacionais, incluindo a criação de uma conta de armazenamento e um espaço de trabalho do Log Analytics.
  • Consulte os 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 HSM.

Importante

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

O log de eventos da operação HSM no Azure Cloud não pode determinar se uma operação HSM foi bem-sucedida ou falhou. Ele só pode registrar em log o fato de que a operação foi executada. Essa limitação existe durante a visualização do serviço porque a operação HSM ocorre dentro do canal TLS interno, que não é exposto fora desse limite.

Pré-requisitos

Configurar e definir 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 de HSM

Para criar uma conta de armazenamento para armazenar logs de 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 workspace do Log Analytics para armazenar e analisar logs de 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 workspace do Log Analytics para o Azure Monitor, consulte Criar um workspace 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 HSM na Nuvem do Azure, use o código a seguir. Substitua os espaços reservados para SubscriptionId, ResourceGroupName, HSMName, StorageAccountName e WorkspaceName pelos valores apropriados para seu ambiente.

Azure CLI (Interface de Linha de Comando do 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 HSM na nuvem

Após criar a configuração de diagnóstico, os logs começarão a ser exibidos em um a dois minutos.

Você pode consultar os logs de eventos de operação do HSM na nuvem no portal do Azure por meio do workspace do Log Analytics.

Captura de tela dos logs de eventos de operação do HSM na Nuvem do Azure no portal do Azure.

Você também pode consultar logs de eventos de operação do HSM na nuvem 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 tela dos logs de eventos de operação do HSM na Nuvem do Azure na interface de linha de comando.

Erro de registro

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 no provedor Microsoft.Insights na sua assinatura.

Para se 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 registrando, talvez seja necessário aguardar 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 HSM específicos registrados nos 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 posteriormente neste artigo.

Eventos de logon 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 criação de chave

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

Eventos para 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 HSM.

azcloudhsm_util

Nome da operação Nome do comando Descrição
CN_LOGIN loginHSM Fazer logon no HSM.
CN_LOGOUT logoutHSM Fazer logoff 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 Gerar um par de chaves ECC.
CN_SHARE_OBJECT shareKey Compartilha/descompartilha uma chave existente com outros usuários.
CN_TOMBSTONE_OBJECT deleteKey Excluir 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 Obter 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 Obter as informações do HSM.
CN_PARTITION_INFO getPartitionInfo Obtém as informações de partição.
--- getClusterInfo Não gravado.
--- server Não gravado.

azcloudhsm_mgmt

Nome da operação Nome do comando Descrição
CN_LOGIN loginHSM Fazer logon no HSM.
CN_LOGOUT logoutHSM Fazer logoff 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 Gerar um par de chaves ECC.
CN_SHARE_OBJECT shareKey Compartilha/descompartilha uma chave existente com outros usuários.
CN_TOMBSTONE_OBJECT deleteKey Excluir 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 Obter 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 Obter as informações do HSM.
CN_PARTITION_INFO getPartitionInfo Obtém as informações de 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