3 de julho de 2022 - Frederico Marinho

Como instalar certificado SSL gratuito no Microsoft Azure

Esse artigo mostra o passo-a-passo de como instalar um certificado de segurança SSL gratuito, do Let’s Encrypt, em um domínio hospedado em servidor Microsoft Azure. Ao finalizar, você conseguirá acessar seu App Service usando o https:// no seu domínio (por exemplo, https://www.divera.com.br.

Última revisão: 01/04/2023 (e não é mentira!)

Pré-requisito: Plano Contratado no Azure

Um passo importante a se saber é que não é possível instalar um certificado SSL em um plano gratuito do Azure. Nesse caso, será necessário alterar seu plano.

Para conferir qual seu plano atual, acesse o seu App Service. No painel inicial do Azure, verifique qual é o seu Serviço de Aplicativo (App Service) e clique no nome do serviço:

Navegue, no menu lateral esquerdo, até a opção Alterar Plano do Serviço de Aplicativo:

Veja a imagem abaixo. O Pricing Tier na última linha indica seu plano atual. No meu caso, é o plano Basic (B1), que é pago. Caso o seu plano seja o F1 (Free), será necessário alterar.

Para alterar, clique no nome do plano. A tela de seleção de planos será exibida:

O plano F1 está selecionado. Será necessário alterar para o plano B1 (ainda em Dev/Test) ou ir para uma máquina de produção (Production), com máquinas mais potentes e consequentemente mais caras. Dependendo da sua aplicação, B1 será suficiente.

Veja que ao clicar no B1, aparecem as features incluídas e uma delas é o SSL para domínios personalizados. Agora é só clicar no botão Apply. No meu caso o botão está desabilitado porque B1 já é o plano atual.

Feito isso, você já estará apto a instalar o certificado SSL.

Criando o Certificado SSL com Let’s Encrypt

Se você já tiver um certificado você pode pular esse tópico e ir direto para o próximo passo. Caso contrário, será necessário adquirir um, comprando de alguma Certificadora licenciada ou então criar um gratuito pela Let’s Encrypt.

Se você ainda não possui, veja o artigo Como Criar um Certificado SSL gratuito no Windows. Assim que finalizar, salve os arquivos PFX e volte aqui nesse artigo para associar o SSL ao serviço na Azure.

Importando os certificados no Azure

Com os arquivos PFX em mãos, só precisamos agora carregá-los no Azure e depois associá-los ao Service App.

  • Clique em Certificados no menu lateral do seu Service App.

  • Agora clique na aba Traga seus próprios certificados (.pfx).

  • Observe no final da tela que não existe nenhum certificado carregado. Vamos carregar clicando em Adicionar Certificado:

  • Será aberta uma aba na lateral direita, com os campos para você carregar o arquivo PFX e digitar a senha solicitada no momento da geração. Tomara que você não tenha esquecido essa senha, hehe.
  • Depois clique em Validar e Adicionar.

  • Será necessário carregar os dois arquivos PFX, um para o domínio sem www e outro para o domínio com www. Sendo assim, faça o mesmo processo duas vezes. Ao finalizar o carregamento, você terá dois certificados prontos para serem associados ao serviço:

Atualização: Em alguns casos o Azure pode apresentar erro ao carregar certificado, em casos de geração através do WSL Ubuntu no Windows.

Achei a solução para o erro nesse link: https://stackoverflow.com/questions/73001634/azure-app-service-unable-to-validate-pfx-file-certificate-failed-validation-be

Parece que a forma como o PFX é gerado pelo OpenSSL no Ubuntu não é mais compatível com o que é necessário no Azure. Nesse caso, vamos precisar reecriar o certificado PFX através do PowerShell do Windows. Siga os passos:

  • Acesse o PowerShell do Windows como administrador:

  • Instale o módulo OpenSSL com o comando abaixo:
Install-Module -Name OpenSSL
  • Execute o comando abaixo, substituindo o valor de -FilePath com o caminho do arquivo pfx que não está sendo aceito no Azure, e altere também ‘MyPassword’ pela senha usada na geração do certificado original.
Import-PfxCertificate -FilePath "pfx file path" -CertStoreLocation Cert:\LocalMachine\My -Password (ConvertTo-SecureString -String 'MyPassword' -AsPlainText -Force) -Exportable
  • Um mensagem de sucesso vai se parecer mais ou menos com isso:

  • Use agora o código do Thumbprint para exportar seu novo arquivo pfx, substituindo-o em -Cert, substituindo também o caminho do novo pfx em-FilePath ‘MyPassword’ em-String pela mesma senha do certificado gerado no comando abaixo:
Export-PfxCertificate -Cert Microsoft.PowerShell.Security\Certificate::LocalMachine\My\B56CE9B122FB04E29A974A4D0DB3F6EAC2D150C0 -FilePath 'newPfxName.pfx' -Password (ConvertTo-SecureString -String 'MyPassword' -AsPlainText -Force)
  • Pronto! Agora é só subir no Azure seu novo pfx gerado com esse último comando, lembrando que é preciso fazer isso para cada domínio que você quer ativar.

Associando os certificados importados ao Service App

Após finalizar a importação dos certificados, clica na menu Domínios personalizados:

E depois clique em Adicionar associação:

Caso ainda não tenha adicionado domínios, clique antes em Adicionar domínio personalizado.

Na janela que abriu pela lateral direita, o trabalho agora é apenas selecionar as opções. Selecione o certificado clicando no domínio correto (só terá uma única opção para o domínio) e por último o tipo de SSL (que também será apenas um).

Clique em Adicionar e tá tudo certo:

Repita o mesmo processo para todos os domínios.

Após finalizar a associação de todos os domínios, basta ativar a função Somente HTTPS, para garantir que o serviço seja acessado apenas com o certificado.

Pronto! Seu serviço será acessado daqui pra frente de forma segura e criptografada com o certificado SSL.

0

Certificações e Segurança / Servidor web azure / let's encrypt /

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *