Gerenciamento do ciclo de vida de certificado no Azure
Em segurança cibernética, a configuração da renovação de certificado automática é importante para manter um ambiente seguro e confiável. A falha na atualização ou na renovação de certificados em tempo hábil expõe sistemas a vulnerabilidades. Entre as áreas potencialmente vulneráveis estão:
- Certificados TLS/SSL que expiraram.
- Redes sujeitas a violações em potencial.
- Dados confidenciais não protegidos.
- Serviços que ficam inativos para processos entre empresas.
- Perda de reputação da marca que compromete a integridade e a confidencialidade de transações digitais.
O Azure Key Vault dá suporte à renovação automática de certificado emitida por uma AC (autoridade de certificação) integrada, como DigiCert ou GlobalSign. Para uma AC não integrada, uma abordagem manual é necessária.
Este artigo preenche a lacuna oferecendo um processo de renovação automática personalizado para certificados de autoridades de certificação não integradas. Este processo armazena perfeitamente os novos certificados no Cofre da Chave, aumenta a eficiência, melhora a segurança e simplifica a implantação integrando-se a vários recursos do Azure.
Um processo de renovação automática reduz o erro humano e minimiza as interrupções de serviço. Quando você automatiza a renovação do certificado, ele acelera o processo de renovação e diminui a probabilidade de erros que podem ocorrer durante o tratamento manual. Ao usar as capacidades do Cofre de Chaves e as extensões, você pode compilar um processo automático eficiente para otimizar as operações e a confiabilidade.
A renovação automática do certificado é o foco inicial, mas um objetivo mais amplo é aprimorar a segurança em todas as áreas do processo. Esse esforço inclui como implementar o princípio de privilégios mínimos ou controles de acesso semelhantes usando o Key Vault. Ele também enfatiza a importância de práticas do log de eventos e do monitoramento robustos para o Cofre de Chaves. Este artigo realça a importância de usar o Cofre de Chaves para fortalecer todo o ciclo de vida do gerenciamento de certificado e demonstra que os benefícios da segurança não se limitam ao armazenamento de certificados.
Você pode usar o Cofre de Chaves e o processo de renovação automática para atualizar continuamente os certificados. A renovação automática desempenha um papel importante no processo de implantação e ajuda os serviços do Azure que se integram ao Cofre de Chaves a se beneficiarem de certificados atualizados. Este artigo apresenta insight sobre como a renovação contínua e a acessibilidade favorecem a eficiência e a confiabilidade gerais da implantação dos serviços do Azure.
Arquitetura
O diagrama a seguir fornece uma visão geral da arquitetura subjacente que alimenta essa solução.
Baixe um arquivo do Visio dessa arquitetura.
O ambiente do Azure compreende os seguintes recursos de PaaS (plataforma como serviço):
Um cofre de chaves dedicado ao armazenamento de certificados emitidos apenas pela mesma AC não integrada
Um tópico do sistema da Grade de Eventos do Azure
Uma fila de conta de armazenamento
Uma conta de Automação do Azure que expõe um webhook direcionado pela Grade de Eventos
Para monitorar o processo e o status dos certificados expirados e expirados, o Log Analytics armazena os dados e o workspace os apresenta na forma de painéis tabulares e gráficos.
Este cenário pressupõe que uma infraestrutura de chave pública (PKI) existente já esteja em vigor e consiste em uma autoridade de certificação Microsoft Enterprise associada a um domínio no Microsoft Entra ID. Tanto a PKI quanto o domínio do Active Directory podem residir no Azure ou em servidores locais configurados para renovação de certificado.
As VMs (máquinas virtuais) que têm certificados para monitorar a renovação não precisam ser ingressadas no Active Directory ou na ID do Microsoft Entra. O único requisito é que a AC e o hybrid worker, se ele estiver localizado em uma VM diferente da AC, sejam ingressados no Active Directory.
O diagrama a seguir mostra o fluxo de trabalho automático para renovação de certificado no ecossistema do Azure.
Fluxo de Trabalho
O fluxo de dados a seguir corresponde ao diagrama anterior:
Configuração do Key Vault: A fase inicial do processo de renovação envolve o armazenamento do objeto de certificado na seção Certificados designado do cofre de chaves.
Embora não seja obrigatório, você pode configurar notificações de email personalizadas marcando o certificado com o endereço de email do destinatário. A marcação do certificado garante notificações oportunas quando o processo de renovação for concluído. Se vários destinatários forem necessários, separe os endereços de email por vírgula ou ponto-e-vírgula. O nome da marca para essa finalidade é Recipient e seu valor é um ou mais endereços de email dos administradores designados.
Ao usar marcas em vez de notificações de certificado internas, você pode aplicar notificações a um certificado específico com um destinatário designado. As notificações de certificado internas se aplicam indiscriminadamente a todos os certificados dentro do cofre de chaves e usam o mesmo destinatário para todos.
Você pode integrar notificações internas à solução, mas usar uma abordagem diferente. As notificações internas só podem notificar sobre uma expiração de certificado futura, mas as marcas podem enviar notificações quando o certificado é renovado na AC interna e quando está disponível no Key Vault.
Configuração da extensão do Key Vault: Você deve equipar os servidores que precisam usar os certificados com a extensão do Key Vault, uma ferramenta versátil compatível com sistemas Windows e Linux . Há suporte para servidores iaaS (infraestrutura como serviço) do Azure e locais ou outros servidores de nuvem que se integram por meio do Azure Arc . Configure a extensão do Cofre de Chaves para pesquisar periodicamente o Cofre de Chaves em busca de certificados atualizados. O intervalo de sondagem é personalizável e flexível, de maneira que possa ser alinhado com requisitos operacionais específicos.
Observação
A extensão do Key Vault não está disponível no Linux RedHat e no CentOS. Para estender a solução a esses sistemas, agende o
script_for_not_supported_ARC_on_Linux_distro
script que verifica periodicamente o Key Vault em busca de atualizações de certificado e as aplica ao servidor. O script pode ser executado em VMs nativas do Azure (IaaS) e servidores locais integrados ao Azure Arc.Integração da Grade de Eventos: À medida que um certificado se aproxima da expiração, duas assinaturas da Grade de Eventos interceptam esse importante evento de tempo de vida do cofre de chaves.
Gatilhos da Grade de Eventos: Uma assinatura da Grade de Eventos envia informações de renovação de certificado para uma fila de conta de armazenamento. A outra assinatura dispara a inicialização de um runbook por meio do webhook configurado na conta de automação. Se o runbook falhar durante a renovação do certificado ou se a autoridade de certificação não estiver disponível, um processo agendado vai tentar renovar o runbook a partir desse ponto até que a fila seja apagada. Esse processo deixa a solução robusta.
Para aprimorar a resiliência da solução, configure um mecanismo de localização de mensagens mortas . Ele gerencia possíveis erros que podem ocorrer durante o trânsito da mensagem da Grade de Eventos para os destinos de assinatura, a fila de armazenamento e o webhook.
Fila da conta de armazenamento: O runbook é iniciado no servidor de AC configurado como um Hybrid Runbook Worker de Automação. Ele recebe todas as mensagens na fila da conta de armazenamento que contenham o nome do certificado que está expirando e o cofre de chaves que hospeda o runbook. As etapas a seguir ocorrem para cada mensagem na fila.
Renovação de certificado: O script no runbook se conecta ao Azure para recuperar o nome do modelo do certificado que você configurou durante a geração. O modelo é o componente de configuração da autoridade de certificação que define os atributos e a finalidade dos certificados a serem gerados.
Depois de fazer interface com o Cofre de Chaves, o script inicia uma solicitação de renovação do certificado. Essa solicitação dispara o Cofre de Chaves para gerar uma solicitação de assinatura do certificado (CSR) e aplica o mesmo modelo que gerou o certificado original. Esse processo garante que o certificado renovado esteja se alinhe com as políticas de segurança predefinidas. Para obter mais informações sobre segurança no processo de autenticação e autorização, consulte a seção Segurança .
O script baixa o CSR e o envia para a autoridade de certificação.
A autoridade de certificação gera um novo certificado x509 com base no modelo correto e o reenvia para o script. Esta etapa garante que o certificado renovado se alinhe com as políticas de segurança predefinidas.
Mesclagem de certificado e atualização do Key Vault: O script mescla o certificado renovado de volta ao cofre de chaves. Esta etapa finaliza o processo de atualização e remove a mensagem da fila. Ao longo de todo o processo, a chave privada do certificado jamais é extraída do cofre de chaves.
Monitoramento e notificação por email: Todas as operações executadas por vários componentes do Azure, como uma conta de Automação, o Key Vault, uma fila de conta de armazenamento e a Grade de Eventos, são registradas no workspace logs do Azure Monitor para habilitar o monitoramento. Depois que o certificado é mesclado no cofre de chaves, o script envia uma mensagem de email aos administradores para notificá-los do resultado.
Recuperação de certificado: A extensão do Key Vault no servidor desempenha uma função importante durante essa fase. Ele baixa automaticamente a versão mais recente do certificado do cofre de chaves no repositório local do servidor que está usando o certificado. Você pode configurar vários servidores com a extensão do Cofre de Chaves para recuperar o mesmo certificado (curinga ou com vários certificados de nome alternativo da entidade [SAN]) do cofre de chaves.
Para distribuições do Linux em que a extensão do Key Vault não pode ser instalada, agende o script script_for_not_supported_ARC_on_Linux_distro para obter a mesma funcionalidade que a extensão.
Componentes
A solução usa componentes variados para suportar a renovação de certificado automática no Azure. As seções a seguir descrevem cada componente e a finalidade específica.
Extensão do Key Vault
A extensão do Cofre de Chaves desempenha um papel vital na automação da renovação de certificado e deve ser instalada em servidores que exigem a automação. Para obter mais informações sobre procedimentos de instalação em servidores Windows, consulte a extensão do Key Vault para Windows. Para obter mais informações sobre as etapas de instalação para servidores Linux, consulte a extensão do Key Vault para Linux. Para obter mais informações sobre servidores habilitados para Azure Arc, consulte a extensão do Key Vault para servidores habilitados para Arc.
Observação
Os scripts a seguir são exemplos que você pode executar no Azure Cloud Shell para configurar a extensão do Key Vault:
Entre os parâmetros de configuração da extensão do Cofre de Chaves estão:
Nome do Cofre de Chaves: O cofre de chaves que contém o certificado para renovação.
Nome do certificado: O nome do certificado a ser renovado.
Repositório de Certificados, Nome e Localização: O repositório de certificados em que o certificado é armazenado. Em servidores Windows, o valor padrão para Nome é
My
e Local éLocalMachine
, que é o repositório de certificados pessoal do computador. Em servidores Linux, você pode especificar um caminho do sistema de arquivos, pressupondo que o valor padrão sejaAzureKeyVault
, que é o repositório de certificados para o Cofre de Chaves.linkOnRenewal: Um sinalizador que indica se o certificado deve ser vinculado ao servidor na renovação. Se ele estiver definido
true
em computadores Windows, ele copiará o novo certificado no repositório e o vinculará ao certificado antigo, que revindiza efetivamente o certificado. O valor padrão éfalse
, portanto, uma associação explícita é necessária.pollingIntervalInS: Esse valor indica o intervalo de sondagem da extensão do Key Vault para verificar se há atualizações de certificado. O valor padrão é
3600
segundos (uma hora).authenticationSetting: A configuração de autenticação para a extensão do Key Vault. Para servidores do Azure, você pode omitir essa configuração, portanto, a identidade gerenciada atribuída pelo sistema da VM é usada no cofre de chaves. Para servidores locais, especifique a configuração
msiEndpoint = "http://localhost:40342/metadata/identity"
para que a entidade de serviço associada ao objeto de computador criado durante a integração do Azure Arc seja usada.
Observação
Só especifique os parâmetros de extensão do Cofre de Chaves durante a configuração inicial. Essa abordagem garante que eles não passem por nenhuma alteração durante todo o processo de renovação.
Conta de automação
A conta Automação lida com o processo de renovação do certificado. Você precisa configurar a conta com um runbook usando o script do PowerShell.
Você também precisa criar um grupo de trabalhos híbrido. Associe o grupo de trabalhos híbrido a um membro do Windows Server do mesmo domínio do Active Directory da autoridade de certificação, sendo o ideal a própria autoridade de certificação, para iniciar runbooks.
O runbook deve ter um webhook associado iniciado do Hybrid Runbook Worker. Configure a URL do webhook na assinatura de eventos do tópico do sistema da Grade de Eventos.
Fila de contas de armazenamento
A fila da conta de armazenamentos armazena as mensagens que contêm o nome do certificado que está sendo renovado e o cofre de chaves que contém o certificado. Configure a fila da conta de armazenamento no tópico do sistema de assinatura de eventos da Grade de Eventos. A fila processa o desacoplamento do script do evento de notificação da expiração do certificado. Ela dá suporte à persistência do evento dentro de uma mensagem de fila. Essa abordagem ajuda a garantir que o processo de renovação dos certificados seja repetido por meio de trabalhos agendados, mesmo que haja problemas durante a execução do script.
Trabalhador Híbrido de Runbook
O Hybrid Runbook Worker desempenha um papel vital no uso de runbooks. Você precisa instalar o Hybrid Runbook Worker com o método de extensão do Hybrid Worker do Azure , que é o modo com suporte para uma nova instalação. Você o cria e o associa a um membro do Windows Server no mesmo domínio do Active Directory da autoridade de certificação, sendo o ideal a própria autoridade de certificação.
Key Vault (cofre de chaves)
O Cofre de Chaves é o repositório seguro para certificados. Na seção de eventos do cofre de chaves, associe o tópico do sistema da Grade de Eventos ao webhook da conta de automação e a uma assinatura.
Grade de Eventos
A Grade de Eventos processa a comunicação orientada a eventos no Azure. Defina a Grade de Eventos configurando o tópico do sistema e a assinatura do evento para monitorar eventos relevantes. Entre os eventos relevantes estão alertas de expiração do certificado, disparo de ações no fluxo de trabalho de automação e lançamento de mensagens na fila de contas de armazenamento. Configure o tópico do sistema da Grade de Eventos com os seguintes parâmetros:
Fonte: O nome do cofre de chaves que contém os certificados.
Tipo de origem: O tipo da origem. Por exemplo, o tipo de fonte dessa solução é
Azure Key Vault
.Tipos de evento: O tipo de evento a ser monitorado. Por exemplo, o tipo de evento para essa solução é
Microsoft.KeyVault.CertificateNearExpiry
. Esse evento é disparado quando um certificado está perto da expiração.Assinatura do Webhook:
Nome da assinatura: O nome da assinatura do evento.
Tipo de ponto de extremidade: O tipo de ponto de extremidade a ser usado. Por exemplo, o tipo do ponto de extremidade para a solução é
Webhook
.Extremidade: A URL do webhook associada ao runbook da conta de Automação. Para obter mais informações, consulte a seção Conta de Automação .
Assinatura do StorageQueue:
Nome da assinatura: O nome da assinatura do evento.
Tipo de ponto de extremidade: O tipo de ponto de extremidade a ser usado. Por exemplo, o tipo do ponto de extremidade para a solução é
StorageQueue
.Extremidade: A fila da conta de armazenamento.
Workspace do Log Analytics e pasta de trabalho do Azure
Essa solução usa o workspace do Log Analytics e a pasta de trabalho do Azure para aprimorar o monitoramento e a visualização de status de certificado armazenados no Key Vault. Esses componentes desempenham um papel crucial na manutenção da visibilidade da integridade do certificado:
O workspace do Log Analytics coleta e armazena dados sobre estados de certificado. Ele identifica se os certificados expiraram, expirando em breve ou ainda são válidos.
A pasta de trabalho do Azure recupera dados do workspace do Log Analytics e os apresenta em um painel com representações visuais, como gráficos de pizza e tabelas detalhadas. Ele categoriza certificados em Não Expirado (verde), Expirando Em Breve (amarelo) e Expirado (vermelho).
Os seguintes componentes recuperam e apresentam informações de certificado na pasta de trabalho:
Um runbook de ingestão de dados é executado diretamente do Azure e não requer o contexto de um Hybrid Worker. Ele recupera dados de certificado do Key Vault e os envia para uma tabela personalizada definida no workspace do Log Analytics. O runbook é executado em uma cadência agendada.
Uma pasta de trabalho consulta os dados da tabela personalizada e os exibe em um gráfico de pizza e em uma tabela detalhada. Ele realça certificados com base em seu status de expiração.
Ao integrar esses componentes, sua solução cria uma abordagem mais abrangente para o gerenciamento do ciclo de vida do certificado.
Alternativas
Essa solução usa uma conta de Automação para orquestrar o processo de renovação do certificado e usa o Hybrid Runbook Worker para proporcionar a flexibilidade para integrar com uma autoridade de certificação local ou em outras nuvens.
Uma abordagem alternativa é usar os Aplicativos Lógicos do Azure. A principal diferença entre as duas abordagens é que a conta de Automação é uma solução de PaaS, e os Aplicativos Lógicos são uma solução saaS (software como serviço).
A principal vantagem dos aplicativos lógicos é que eles são serviço totalmente gerenciado. Você não precisa se preocupar com a infraestrutura subjacente. Além disso, os Aplicativos Lógicos podem se integrar facilmente a conectores externos. Essa funcionalidade expande o intervalo de possibilidades de notificação, como o envolvimento com o Microsoft Teams ou o Microsoft 365.
Os Aplicativos Lógicos não têm um recurso semelhante ao Hybrid Runbook Worker, o que resulta em uma integração menos flexível com a AC, portanto, uma conta de Automação é a abordagem preferencial.
Detalhes do cenário
Toda organização exige um gerenciamento seguro e eficiente do ciclo de vida do certificado. Deixar de atualizar um certificado antes da expiração pode acarretar interrupções de serviço e incorrer em custos significativos para os negócios.
As empresas normalmente operam infraestruturas de TI complexas que envolvem várias equipes responsáveis pelo ciclo de vida do certificado. A natureza manual do processo de renovação do certificado normalmente introduz erros e consome um tempo valioso.
Essa solução resolve esses desafios automatizando a renovação de certificado emitida pelo Serviço de Certificado da Microsoft. O serviço é muito usado em vários aplicativos de servidor, como servidores Web, servidores SQL e para fins de criptografia, não repúdio, assinatura e garantia de atualizações em tempo hábil e armazenamento de certificados seguro no Cofre de Chaves. A compatibilidade do serviço com servidores do Azure e servidores locais é compatível com implantação flexível.
Possíveis casos de uso
Essa solução atende a organizações de vários setores que:
Use o Microsoft Certificate Service na geração de certificados do servidor.
Exija automação no processo de renovação do certificado para acelerar operações e minimizar erros, o que ajuda a evitar perda de negócios e violações de contrato de nível de serviço (SLA).
Exija o armazenamento de certificados seguro em repositórios como o Cofre de Chaves.
Esta arquitetura funciona como uma abordagem de implantação fundamental em assinaturas da zona de destino do aplicativo.
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, um conjunto de princípios orientadores que você pode usar para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Well-Architected Framework.
Segurança
A segurança fornece garantias contra ataques deliberados e o uso indevido de seus valiosos dados e sistemas. Para obter mais informações, consulte a lista de verificação de revisão de design para Segurança.
No sistema do Key Vault, os certificados são armazenados com mais segurança como segredos criptografados e protegidos pelo RBAC (controle de acesso baseado em função) do Azure.
Durante todo o processo de renovação do certificado, os componentes que usam identidades são:
A conta do sistema do Hybrid Runbook Worker, que funciona na conta da VM.
A extensão do Key Vault, que usa a identidade gerenciada associada à VM.
A conta de automação, que usa a identidade gerenciada designada.
O princípio do privilégio mínimo é aplicado rigorosamente em todas as identidades envolvidas no procedimento de renovação do certificado.
A conta de sistema do servidor de Hybrid Runbook Worker deve ter o direito de registrar certificados em um ou mais modelos de certificado que geram novos certificados.
No cofre de chaves que contém os certificados, a identidade da conta de Automação deve ter a Key Vault Certificate Officer
função. Além disso, os servidores que exigem acesso a certificados devem ter Get
e List
permissões no repositório de certificados do Key Vault.
Na fila de contas de armazenamento, a identidade da conta de automação deve ter as funções Storage Queue Data Contributor
, Reader and Data Access
e Reader
.
Em cenários nos quais a extensão do Cofre de Chaves é implantada em uma VM do Azure, a autenticação ocorre por meio da identidade gerenciada da VM. No entanto, quando ele é implantado em um servidor habilitado para Azure Arc, a autenticação é tratada usando uma entidade de serviço. A identidade gerenciada e a entidade de serviço devem receber a função de usuário secreto do Key Vault dentro do cofre de chaves que armazena o certificado. Você deve usar uma função secreta porque o certificado é armazenado no cofre de chaves como um segredo.
Otimização de custos
A Otimização de Custos concentra-se em maneiras de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte a lista de verificação de revisão de design para Otimização de Custos.
Essa solução usa soluções de PaaS do Azure que operam em uma estrutura de pagamento conforme o uso para otimizar o custo. As despesas dependem do número de certificados que precisam de renovação e do número de servidores equipados com a extensão do Cofre de Chaves, o que acarreta baixa sobrecarga.
As despesas resultantes da extensão do Key Vault e do Hybrid Runbook Worker dependem das opções de instalação e dos intervalos de sondagem. O custo da Grade de Eventos corresponde ao volume de eventos gerados pelo Cofre de Chaves. Ao mesmo tempo, o custo da conta de Automação se correlaciona com o número de runbooks que você usa.
O custo do Cofre de Chaves depende de vários fatores, inclusive o SKU (Standard ou Premium) escolhido, a quantidade de certificados armazenados e a frequência das operações realizadas nos certificados.
Considerações semelhantes às configurações descritas para o Cofre de Chaves se aplicam igualmente à conta de armazenamento. Nesse cenário, um SKU Standard com replicação de armazenamento localmente redundante é suficiente para a conta de armazenamento. Geralmente, o custo da fila de contas de armazenamento é mínimo.
Para estimar o custo da implementação dessa solução, use a calculadora de preços do Azure. Insira os serviços descritos neste artigo.
Excelência operacional
A Excelência operacional abrange os processos de operações que implantam uma aplicação e as mantêm em execução em produção. Para obter mais informações, consulte a lista de verificação de revisão de design para Excelência Operacional.
O procedimento de renovação automática do certificado armazena certificados em segurança por meio de processos padronizados aplicáveis a todos os certificados no cofre de chaves.
A integração com a Grade de Eventos dispara ações complementares, como a notificação do Microsoft Teams ou do Microsoft 365 e a simplificação do processo de renovação. Essa integração reduz significativamente o tempo de renovação do certificado e reduz o potencial de erros que podem levar a interrupções e violações de negócios de SLAs.
Além disso, a integração perfeita com o Azure Monitor, o Microsoft Sentinel, o Microsoft Copilot for Security e o Microsoft Defender para Nuvem facilita o monitoramento contínuo do processo de renovação do certificado. Isso dá suporte à detecção de anomalias e garante que medidas de segurança robustas sejam mantidas.
Implantar este cenário
Selecione o botão a seguir para implantar o ambiente descrito neste artigo. A implantação leva cerca de dois minutos para ser concluída e cria um cofre de chaves, um tópico do sistema da Grade de Eventos configurado com as duas assinaturas, uma conta de armazenamento que contém a fila de certificados e uma conta de Automação que contém o runbook e o webhook vinculado à Grade de Eventos.
Você pode encontrar informações detalhadas sobre os parâmetros necessários para a implantação no portal de exemplo de código .
Importante
Você pode implantar um ambiente de laboratório completo para demonstrar todo o workflow de renovação automática do certificado. Use o exemplo de código para implantar os seguintes recursos:
- AD DS (Active Directory Domain Services) em uma VM do controlador de domínio.
- O AD CS (Active Directory Certificate Services) em uma VM de AC, ingressado no domínio, configurado com um modelo, WebServerShort, para registrar os certificados a serem renovados.
- Um servidor SMTP (Protocolo de Transferência de Email Simples) do Windows instalado na mesma VM da AC para enviar notificações por email. O MailViewer também é instalado para verificar as notificações de email enviadas.
- A extensão do Key Vault instalada na VM do controlador de domínio para recuperar os certificados renovados da extensão do Key Vault.
Colaboradores
A Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.
Principais autores:
- Fabio Masciotra | Consultor principal
- Angelo Mazzucchi | Consultor principal
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.