Share via


Resolver problemas do serviço HSM dedicado do Azure

O serviço HSM dedicado do Azure tem duas facetas distintas. Em primeiro lugar, o registo e a implementação no Azure dos dispositivos HSM com os componentes de rede subjacentes. Em segundo lugar, a configuração dos dispositivos HSM em preparação para utilização/integração com uma determinada carga de trabalho ou aplicação. Embora os dispositivos HSM Luna 7 da Thales sejam os mesmos no Azure que compraria diretamente na Thales, o facto de serem um recurso no Azure cria algumas considerações exclusivas. Estas considerações e quaisquer informações de resolução de problemas ou melhores práticas resultantes estão documentadas aqui para garantir elevada visibilidade e acesso a informações críticas. Assim que o serviço estiver a ser utilizado, as informações definitivas estão disponíveis através de pedidos de suporte diretamente à Microsoft ou à Thales.

Nota

Deve ter em atenção que, antes de efetuar qualquer configuração num dispositivo HSM recentemente implementado, deve ser atualizado com quaisquer patches relevantes. Um patch necessário específico é KB0019789 no portal de suporte da Thales que resolve um problema em que o sistema deixa de responder durante o reinício.

Registo HSM

O HSM dedicado não está livremente disponível para utilização, uma vez que está a fornecer recursos de hardware na cloud e, por conseguinte, é um recurso precioso que precisa de ser protegido. Por conseguinte, utilizamos um processo de lista de permissões por e-mail com HSMrequest@microsoft.com.

Obter acesso ao HSM Dedicado

Primeiro, pergunte-se que casos de utilização tem que não podem ser resolvidos pelo Azure Key Vault ou pelo Azure Managed HSM. Se assim acreditar que apenas o HSM dedicado se ajustará aos seus requisitos de armazenamento de chaves, envie um e-mail HSMrequest@microsoft.com para pedir acesso. Destaque a sua aplicação e casos de utilização, as regiões que pretende que sejam HSMs e o volume de HSMs que procura. Se trabalhar com um representante da Microsoft, como, por exemplo, um Executivo de Conta ou um Arquiteto de Soluções cloud, inclua-os em qualquer pedido.

Aprovisionamento do HSM

O aprovisionamento de um dispositivo HSM no Azure pode ser feito através da CLI ou do PowerShell. Ao registar-se no serviço, será fornecido um modelo arm de exemplo e será dada assistência para personalização inicial.

Informações de Falha de Implementação do HSM

O HSM dedicado suporta a CLI e o PowerShell para implementação, pelo que as informações de erro baseadas no portal são limitadas e não verbosas. Pode encontrar melhores informações com o Explorador de Recursos. A home page do portal tem um ícone para este e estão disponíveis informações de erro mais detalhadas. Estas informações ajudam muito se forem coladas ao criar um pedido de suporte relacionado com problemas de implementação.

Informações de Falha

Delegação de Sub-rede do HSM

O motivo número um para falhas de implementação é esquecer-se de definir a delegação adequada para a sub-rede definida pelo cliente na qual os HSMs serão aprovisionados. A definição dessa delegação faz parte dos pré-requisitos da VNet e da sub-rede para implementação e podem ser encontrados mais detalhes nos tutoriais.

Delegação de Sub-rede

Condição race de implementação HSM

O modelo arm padrão fornecido para implementação tem recursos relacionados com o HSM e o Gateway do ExpressRoute . Os recursos de rede são uma dependência para a implementação e temporização do HSM bem-sucedidas. Ocasionalmente, temos visto falhas de implementação relacionadas com problemas de dependência e a nova execução da implementação resolve frequentemente o problema. Caso contrário, eliminar recursos e, em seguida, reimplementar é frequentemente bem-sucedido. Depois de tentar este problema e ainda encontrar o problema, crie um pedido de suporte no portal do Azure ao selecionar o tipo de problema "Problemas ao configurar a configuração do Azure".

Implementação do HSM com o Terraform

Alguns clientes utilizaram o Terraform como um ambiente de automatização em vez de modelos arm, conforme fornecido ao registarem-se neste serviço. Os HSMs não podem ser implementados desta forma, mas os recursos de rede dependentes podem. O Terraform tem um módulo para chamar a atenção para um modelo do ARM mínimo que tem apenas a implementação do HSM. Nesta situação, deve ter o cuidado de garantir que os recursos de rede, como o gateway do ExpressRoute necessário, são totalmente implementados antes de implementar HSMs. O seguinte comando da CLI pode ser utilizado para testar a implementação concluída e integrar conforme necessário. Substitua os marcadores de posição de parênteses angulares pela sua nomenclatura específica. Deve procurar um resultado de "provisioningState is Succeeded"

az resource show --ids /subscriptions/<subid>/resourceGroups/<myresourcegroup>/providers/Microsoft.Network/virtualNetworkGateways/<myergateway>

Falha na implementação com base na quota

As implementações podem falhar se exceder 2 HSMs por selo e 4 HSMs por região. Para evitar esta situação, certifique-se de que eliminou recursos de implementações anteriormente falhadas antes de implementar novamente. Veja o item "Como vejo HSMs" abaixo para verificar os recursos. Se acredita que precisa de exceder esta quota, que existe principalmente como uma salvaguarda, envie um e-mail HSMrequest@microsoft.com com detalhes.

Falha na implementação com base na capacidade

Quando um carimbo ou região específico está a ficar cheio, ou seja, quase todos os HSMs gratuitos são aprovisionados, isto pode levar a falhas de implementação. Cada selo tem 12 HSMs disponíveis para clientes, o que significa 24 por região. Existem também 2 peças sobressalentes e 1 dispositivo de teste em cada selo. Se acredita que pode ter atingido um limite, envie um e-mail HSMrequest@microsoft.com para obter informações sobre o nível de preenchimento de selos específicos.

Como posso ver os HSMs quando aprovisionados?

Devido ao HSM dedicado ser um serviço à lista de permissões, é considerado um "Tipo Oculto" no portal do Azure. Para ver os recursos do HSM, tem de verificar a caixa de verificação "Mostrar tipos ocultos", conforme mostrado abaixo. O recurso NIC segue sempre o HSM e é um bom local para descobrir o endereço IP do HSM antes de utilizar o SSH para ligar.

Captura de ecrã que realça a verificação Mostrar tipos ocultos

Recursos de Rede

A implementação do HSM Dedicado tem uma dependência dos recursos de rede e algumas limitações consequentes a ter em conta.

Aprovisionar o ExpressRoute

O HSM dedicado utiliza o gateway do ExpressRoute como um "túnel" para comunicação entre o espaço de endereços IP privado do cliente e o HSM físico num datacenter do Azure. Tendo em conta que existe uma restrição de um gateway por Vnet, os clientes que necessitam de ligação aos respetivos recursos no local através do ExpressRoute terão de utilizar outra Vnet para essa ligação.

Endereço IP Privado do HSM

Os modelos de exemplo fornecidos para o HSM dedicado partem do princípio de que o IP do HSM será automaticamente retirado de um determinado intervalo de sub-rede. Pode especificar um endereço IP explícito para o HSM através de um atributo "NetworkInterfaces" no modelo do ARM.

Captura de ecrã que mostra o modelo de exemplo do HSM dedicado.

Inicialização do HSM

A inicialização prepara um novo HSM para utilização ou um HSM existente para reutilização. A inicialização do HSM tem de estar concluída antes de poder gerar ou armazenar objetos, permitir que os clientes se liguem ou realizar operações criptográficas.

Credenciais Perdidas

A perda da palavra-passe do administrador da Shell resultará na perda de material de chave HSM. Deve ser feito um pedido de suporte para repor o HSM. Ao inicializar o HSM, armazene as credenciais de forma segura. As credenciais do Shell e do HSM devem ser mantidas de acordo com as políticas da sua empresa.

Inícios de Sessão Com Falhas

Fornecer credenciais incorretas aos HSMs pode ter consequências destrutivas. Seguem-se os comportamentos predefinidos das Funções HSM.

Função Limiar (# de tentativas) Resultado de demasiadas tentativas de início de sessão incorretas Recuperação
HSM SO 3 O HSM está zeroado (todas as identidades de objetos HSM e todas as partições desapareceram) O HSM tem de ser reinstalado. Os conteúdos podem ser restaurados a partir de cópias de segurança.
Partição SO 10 A partição está zeroada. A partição tem de ser reinstalada. Os conteúdos podem ser restaurados a partir da cópia de segurança.
Auditoria 10 Bloqueio Desbloqueado automaticamente após 10 minutos.
Criptografo 10 (pode ser diminuído) Se a política HSM 15: Ativar a reposição SO do PIN de partição estiver definida como 1 (ativada), as funções CO e CU estão bloqueadas.
Se a política HSM 15: Ativar a reposição SO do PIN de partição estiver definida como 0 (desativada), as funções CO e CU estão permanentemente bloqueadas e os conteúdos de partição já não estão acessíveis. Esta é a predefinição.
A função CO tem de ser desbloqueada e a reposição de credenciais pela Partição SO, com role resetpw -name co.
A partição tem de ser reinstalada e o material de chave restaurado a partir de um dispositivo de cópia de segurança.

Configuração do HSM

Os seguintes itens são situações em que os erros de configuração são comuns ou têm um impacto que é digno de chamar a atenção:

Documentação e Software do HSM

O software e a documentação para os dispositivos Thales Luna 7 HSM não estão disponíveis na Microsoft e têm de ser transferidos diretamente da Thales. O registo é necessário com o ID de Cliente da Thales recebido durante o processo de registo. Os dispositivos, conforme fornecido pela Microsoft, têm a versão de software 7.2 e a versão de firmware 7.0.3. No início de 2020, a Thales tornou a documentação pública e pode ser encontrada aqui.

Configuração de Rede HSM

Tenha cuidado ao configurar a rede no HSM. O HSM tem uma ligação através do gateway do ExpressRoute a partir de um espaço de endereços IP privado do cliente diretamente para o HSM. Este canal de comunicação destina-se apenas à comunicação do cliente e a Microsoft não tem acesso. Se o HSM estiver configurado de forma a que este caminho de rede seja afetado, significa que toda a comunicação com o HSM é removida. Nesta situação, a única opção é criar um pedido de suporte da Microsoft através do portal do Azure para que o dispositivo seja reposto. Este procedimento de reposição define o HSM novamente para o estado inicial e toda a configuração e o material chave são perdidos. A configuração tem de ser recriada e, quando o dispositivo aderir ao grupo HA, obterá a replicação do material chave.

Reinício do Dispositivo HSM

Algumas alterações de configuração requerem que o HSM seja ligado ou reiniciado. Os testes da Microsoft do HSM no Azure determinaram que, em algumas ocasiões, o reinício poderia deixar de responder. A implicação é que tem de ser criado um pedido de suporte no portal do Azure a pedir o reinício rígido e que pode demorar até 48 horas a concluir, tendo em conta que se trata de um processo manual num datacenter do Azure. Para evitar esta situação, certifique-se de que implementou o patch de reinício disponível diretamente na Thales. Veja KB0019789 nas Transferências do Thales Luna 7 HSM 7.2 para obter um patch recomendado para um problema em que o sistema deixa de responder durante o reinício (Nota: terá de ter registado no portal de suporte ao cliente da Thales para transferir).

Certificados NTLS dessincronizados

Um cliente pode perder a conectividade a um HSM quando um certificado expira ou foi substituído através de atualizações de configuração. A configuração do cliente de troca de certificados deve ser reaplicada a cada HSM. Registo NTLS de exemplo com certificado inválido:

NTLS[8508]: info : 0 : Pedido de ligação recebido... : 192.168.50.2/59415 NTLS[8508]: Mensagem de erro de SSLAccept é: error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca NTLS[8508]: Erro durante a aceitação de SSL ( RC_SSL_ERROR ) NTLS[8508]: informações: 0xc0000711: Falha ao estabelecer um canal seguro com o cliente : 192.168.50.2/59415: RC_SSL_FAILED_HANDSHAKE NTLS[8508]: informações: 0 : Instância de ligação "Nome de anfitrião desconhecido" do Cliente NTLS removida: 192.168.50.2/59415

Comunicação TCP com Falha

A comunicação da instalação do Cliente Luna para o HSM requer uma porta TCP mínima 1792. Considere isto como se quaisquer configurações de rede forem alteradas no ambiente.

O Membro do Grupo HA com Falha não recupera

Se um membro do Grupo HA com falha não recuperar, tem de ser recuperado manualmente a partir do cliente Luna através da recuperação do hagroup de comandos. É necessário configurar uma contagem de repetições para um grupo ha para ativar a recuperação automática. Por predefinição, um grupo HA não tentará recuperar um membro ha para o grupo quando recuperar.

O Grupo HA não sincroniza

No caso de as partições de membros não terem o mesmo domínio de clonagem, o comando ha synchronize apresentará o seguinte: Aviso: A sincronização pode falhar. Os membros no bloco 0 e no bloco 1 têm definições em conflito para clonagem de chaves privadas. Uma nova partição com o domínio de clonagem correto deve ser adicionada ao grupo HA, seguida de remover a partição configurada incorretamente.

Desaprovisionamento do HSM

Só quando terminar completamente com um HSM é que pode ser desaprovisionado e, em seguida, a Microsoft irá repô-lo e devolvê-lo a um conjunto gratuito.

Como eliminar um recurso HSM

DO NOT DELETE the Resource Group of your Dedicated HSM directly. Não eliminará o recurso HSM. Continuará a ser faturado, uma vez que coloca o HSM num estado órfão. Se não seguiu os procedimentos corretos e acabou nesta situação, contacte o Suporte da Microsoft.

Passo 1: Zeroize o HSM. O recurso do Azure para um HSM não pode ser eliminado, a menos que o HSM esteja num estado "zeroized". Assim, todo o material de chave tem de ter sido eliminado antes de tentar eliminá-lo como um recurso. A forma mais rápida de zeroar é obter a palavra-passe de administrador do HSM errada três vezes (nota: isto refere-se ao administrador do HSM e não ao administrador ao nível da aplicação). Utilize o comando "hsm login" e introduza a palavra-passe errada três vezes. A shell luna tem um comando hsm -factoryreset que zeroiza o HSM, mas só pode ser executado através da consola na porta de série e os clientes não têm acesso a isto.

Passo 2: Assim que o HSM estiver zeroado, pode utilizar qualquer um dos seguintes comandos para iniciar o recurso Eliminar HSM dedicado

CLI do Azure: az dedicated-hsm delete --resource-group <RG name> –-name <HSM name>
Azure PowerShell: Remove-AzDedicatedHsm -Name <Nome> do HSM - Nome do RG ResourceGroupName <>

Passo 3: Assim que o Passo 2 for bem-sucedido, pode eliminar o grupo de recursos para eliminar os outros recursos associados ao HSM dedicado com a CLI do Azure ou Azure PowerShell.

CLI do Azure: az group delete --name <RG name>
Azure PowerShell: Remove-AzResourceGroup -Name <Nome do RG>

Passos seguintes

Este artigo forneceu informações sobre áreas em todo o ciclo de vida de implementação do HSM que podem ter problemas ou exigir resolução de problemas ou consideração cuidadosa. Esperemos que este artigo o ajude a evitar atrasos e frustrações desnecessários e, se tiver adições ou alterações relevantes, crie um pedido de suporte junto da Microsoft e informe-nos.