DevSecOps

19 mar, 2019

Tornando seu site HTTPS com Azure Web App, Custom Domain e Let’s Encrypt

Publicidade

Fala, galera!

Já imaginaram rodar seus sites com um domínio próprio e ainda em HTTPS no Azure?

Neste artigo irei explicar como podemos utilizar o Azure Web App utilizando um domínio customizado com o Let’s Encrypt.

  • E o que seria o Let’s Encrypt?

Let’s Encrypt é um serviço gratuito, automatizado e uma Autoridade Certificadora Aberta. Isso significa que você pode obter certificados para SSL (Secure Socker Layer) de forma gratuita, ou seja, transformar seu site http:// para https://.

Ele usa um protocolo chamado “ACME – Automated Certificate Management Environment” que auxilia nas instalações do certificado no seu site.

O Let’s Encrypt é tão fantástico que existe uma extensão que auxilia na instalação do certificado no seu site.

Habilitando HTTPS no seu Azure Web App

Para habilitar o HTTPS no seu Azure Web App devemos seguir alguns passos e usar alguns serviços do Azure que irão auxiliar nesta tarefa.

1 – Criar um Azure Web App

Crie o Azure Web App e escolha um plano de serviço que forneça domínio customizado e HTTPS, conforme mostrado na imagem abaixo:

2 – Configurar seu domínio customizado no Azure Web App

Com seu domínio já comprado, faça o registro, associe ao Azure Web App e ative somente o HTTPS conforme a imagem abaixo:

3 – Registrar o Web App no Azure AD

Para que possamos rodar o WebJob do Let’s Encrypt e instalar o certificado de segurança, devemos registrar o nosso Web App no Azure AD conforme a figura abaixo. Copie o ID DO APLICATIVO, pois iremos usar posteriormente.

4 – Criar uma senha do Aplicativo

Após o registro, vá em Settings, e em Keys e crie uma senha conforme mostrado abaixo. Copie a senha – usaremos posteriormente.

5 – Instalar a Extensão do Let’s Encrypt

Feita toda a configuração do Azure AD, temos que instalar a extensão do Let’s Encrypt no Web App.

6 – Configurar o WebJob

O Let’s Encrypt cria certificados SSL com validade de 90 dias, mas não se preocupe, você não precisará repetir esse processo a cada 90 dias.

A extensão do Let’s Encrypt cria um Web Job no qual ele fará todo o processo de instalação do certificado SSL pra você. Vamos configurar nosso Web Job conforme a figura abaixo para que faça esse trabalho pra nós.

Vá em Settings e ligue o Always On e em seguida vamos configurar as chaves do Web Job.

Para que o Web Job funcione corretamente, precisamos criar uma conta no Azure Storage. Na criação da chave do Web Job vamos configurar a connection string do Azure Storage.

A connection string do Azure Storage é uma chave parecida com essa abaixo:

  • DefaultEndpointsProtocol=https;AccountName=[myaccount];AccountKey=[mykey];

7 – Configurar Lets Encrypt e instalar certificado de segurança SSL

Nesta última parte do nosso artigo vamos configurar o Let’s Encrypt. Para isso devemos ir em Advanced Tools, conforme a imagem abaixo:

Vamos preencher o formulário com as informações abaixo:

  • Tenant: você obtêm no Azure Active Directory, ou clique em seu nome no canto superior direto e vá em mudar diretório – lá você encontra a informação do seu Tenant
  • Subscription Id: você obtém na aba Overview do seu Web App
  • ClientId: ID do Aplicativo que foi copiado do passo 3 do registro do aplicativo
  • Client Secret: senha que foi criada no passo 4
  • ResourceGroupName: grupo de recurso no qual o Web App está inserido. Obtido na aba Overview.

Ao inserir as informações você será redirecionado para outro formulário, conforme a imagem abaixo:

Selecione o seu domínio customizado e preencha com a informação de seu e-mail.

Ao clicar em “Request and Install Certificate“, você deverá ver uma tela indicando que o certificado foi instalado com sucesso.

Para testar, vamos entrar no site e verificar que realmente estamos usando o Let’s Encrypt como Autoridade Certificadora.

Com isso, agora o certificado do Let’s Encrypt está instalado em nosso Web App e estamos em HTTPS.

A instalação do Let’s Encrypt não é um trabalho complicado, porém, são muitos detalhes que temos que nos atentar. O Let’s Encrypt é uma mão na roda para se usar em sites pequenos e até mesmo em hotsite.

Abraços e até a próxima!