Como Monitorar Certificados Expirados em Todas as Assinaturas do Azure de Forma Eficiente

 Manter certificados SSL/TLS atualizados e válidos é uma das melhores práticas de segurança para qualquer aplicação, especialmente quando estamos falando de Web Apps no Azure. Quando um certificado expira, ele pode causar problemas de acesso e até falhas de segurança nas suas aplicações. Para ajudar a garantir que suas aplicações no Azure App Service estejam sempre protegidas com certificados válidos, desenvolvi um procedimento que automatiza a verificação de certificados expirados em todas as assinaturas associadas à sua conta do Azure.

Neste artigo, vou compartilhar com vocês um script PowerShell que pode ser utilizado para monitorar certificados expirados de forma rápida e fácil, economizando tempo e evitando surpresas desagradáveis. Vamos aos detalhes!

1. Conectando-se ao Azure

A primeira etapa do procedimento é se autenticar no Azure usando o cmdlet Connect-AzAccount. Se você ainda não estiver autenticado, será solicitado a inserir suas credenciais do Azure.

# Login no Azure (se necessário) Connect-AzAccount 

2. Obter Todas as Assinaturas Disponíveis

Se você possui múltiplas assinaturas no Azure, o script irá automaticamente verificar cada uma delas. O cmdlet Get-AzSubscription retorna todas as assinaturas vinculadas à sua conta, e com isso conseguimos iterar sobre cada uma delas.

# Obter todas as assinaturas disponíveis

$subscriptions = Get-AzSubscription

3. Verificando Certificados Expirados

Para garantir que o script verifique todos os certificados SSL/TLS em cada assinatura, utilizamos o cmdlet Get-AzWebAppCertificate. A cada iteração, o script verifica se algum certificado expirou, comparando a data de expiração com a data atual ($today). Caso um certificado esteja expirado, ele será listado, com o thumbprint e a data de expiração, além do Resource Group ao qual ele pertence.

Quando um certificado expirado é encontrado, o script exibe informações detalhadas, como o Thumbprint, a data de expiração e o Resource Group. Isso garante que você tenha todas as informações necessárias para revisar ou renovar os certificados manualmente.

=========================================================================

# Login no Azure (se necessário)

Connect-AzAccount 

# Obter todas as assinaturas disponíveis

$subscriptions = Get-AzSubscription

# Data atual

$today = Get-Date

foreach ($sub in $subscriptions) {

    Write-Output " Verificando certificados na assinatura: $($sub.Name) ($($sub.Id))"

    # Definir o contexto para a assinatura atual

    Set-AzContext -SubscriptionId $sub.Id

    # Obter todos os certificados disponíveis na assinatura

    $certificates = Get-AzWebAppCertificate

    # Verificar se há certificados na assinatura

    if ($certificates) {

        $foundExpired = $false  # Flag para indicar se há certificados expirados

        foreach ($cert in $certificates) {

            # Verificar se o certificado está expirado

            if ($cert.ExpirationDate -lt $today) {

                Write-Output "  Certificado expirado encontrado:"

                Write-Output "   ➤ Thumbprint: $($cert.Thumbprint)"

                Write-Output "   ➤ Expiração: $($cert.ExpirationDate)"

                Write-Output "   ➤ Resource Group: $($cert.ResourceGroupName)"

                Write-Output "--------------------------------------------"

                $foundExpired = $true

            }

        }

        if (-not $foundExpired) {

            Write-Output "  Nenhum certificado expirado encontrado na assinatura: $($sub.Name)."

        }

    } else {

        Write-Output "  Nenhum certificado encontrado na assinatura: $($sub.Name)."

    }

}

=========================================================================


5. Resultados e Conclusão

O script executa a verificação em todas as assinaturas associadas à sua conta do Azure. Ele irá listar todos os certificados expirados, fornecendo informações como thumbprint, data de expiração e o resource group onde o certificado foi encontrado. Dessa forma, você poderá revisar e renovar certificados expirados de maneira rápida e eficaz.Este procedimento é essencial para garantir a continuidade e a segurança dos serviços da sua organização, pois evita o risco de serviços ficarem offline devido à expiração dos certificados SSL/TLS.


Comentários

Postagens mais visitadas deste blog

Microsoft Authenticator agora suporta Passkeys: Como ativar e testar

Mudança no Processo de Exclusão de Usuário no Microsoft 365

Microsoft está removendo as permissões "Todos, exceto usuários externos" no OneDrive