All for Joomla All for Webmasters
Linux

Let’s Encrypt: Habilitando HTTPS em servidores Nginx no Ubuntu

O Let’s Encrypt é uma Autoridade de Certificação (CA) que fornece uma maneira fácil de obter e instalar certificados TLS/SSL gratuitos, habilitando tráfego HTTPS (criptografado) em servidores web. Ele simplifica o processo fornecendo um software cliente, o Certbot, que tenta automatizar a maioria (se não todas) as etapas necessárias. Atualmente, todo o processo de obtenção e instalação de um certificado é totalmente automatizado no Apache e no Nginx.

Neste tutorial, usaremos o Certbot para obter um certificado SSL gratuito para o Nginx no Ubuntu 18.04 (aplicável a outras versões, mas sempre recomendável uma versão LTS) e configurar seu certificado para ser renovado automaticamente.

Pré-requisitos

  • Uma máquina Ubuntu com servidor web Nginx pré-instalado.
  • Um domínio registrado para uso. Nesse tutorial usarei como exemplo o domínio example.com , que deve ser substituído pelo domínio de sua escolha.
  • Os seguintes registros de DNS devidamente configurados para seu servidor:
    • Um registro do tipo A com  example.com  apontando para o IP público do seu servidor.
    • Um registro do tipo A com  www.example.com  apontando para o IP público do seu servidor.
  • Um arquivo de configuração de servidor do Nginx separado. Neste exemplo, ele fica localizado em /etc/nginx/sites-available/example.com .

1 — Instalando o Certbot

O primeiro passo para usar o Let’s Encrypt para obter um certificado SSL é instalar o software Certbot no seu servidor. O Certbot está em constante desenvolvimento/manutenção, então os pacotes Certbot fornecidos pelo Ubuntu tendem a estar desatualizados. No entanto, os desenvolvedores do Certbot mantêm um repositório de software do Ubuntu com versões atualizadas, portanto, usaremos esse repositório.

Primeiro, adicione o repositório:

Pressione ENTER  para confirmar e então atualize a lista dos repositórios:

Finalmente, instale o Certbot:

O Cerbot está pronto para uso, mas para configurar o SSL para o Nginx, primeiro precisamos verificar algumas configurações do servidor web.

2 — Configuração do Nginx

O Certbot precisa ser capaz de encontrar o arquivo correto de configuração do servidor Nginx para que ele possa configurar automaticamente o SSL. Ele faz isso procurando  uma diretiva server_name  que corresponda ao domínio para o qual você solicita um certificado. Se você criou o arquivo de configuração  corretamente, ele deve estar localizado em /etc/nginx/sites-available/example.com  com a diretiva server_name  já configurada adequadamente. A diretiva deve se parecer com algo próximo disso:

Para verificar a sintaxe do seu arquivo de configuração do Nginx, você pode executar:

Estando tudo em conformidade, você pode reiniciar o Nginx para efetivar as alterações:

Agora o Certbot pode encontrar o arquivo de servidor correto e atualizá-lo.

3 — Obtendo um certificado SSL

O Certbot fornece uma variedade de maneiras de obter certificados SSL, através de vários plugins. O plugin Nginx irá cuidar de reconfigurar o o servidor e atualizar a configuração sempre que necessário:

Se esta for a primeira execução do certbot, você será solicitado a digitar um endereço de e-mail e concordar com os termos de serviço. Depois disso, o certbot se comunicará com o servidor Let’s Encrypt e executará uma requisição para verificar se você possui o domínio para o qual está solicitando um certificado. Se a execução for bem sucedida, o certbot perguntará como você gostaria de definir suas configurações de HTTPS:

Com a primeira opção, o tráfego permanece como está atualmente (sem redirecionamento), enquanto com a segunda opção, todo tráfego HTTP será redirecionado para o protocolo HTTPS. Selecione a opção de sua preferência e pressione ENTER .

Seus certificados são baixados, instalados e carregados. Tente recarregar seu site usando https: //  e observe o indicador de segurança do seu navegador. Ele deve indicar que o site está protegido corretamente, geralmente com um ícone de cadeado verde. Se você testar seu servidor usando o Teste de Servidor do SSL Labs, ele receberá uma nota A. Vamos terminar testando o processo de renovação.

4 — Verificando auto-renovação do Certbot

Os certificados do Let’s Encrypt só são válidos por noventa dias. O pacote do certbot que instalamos cuida disso automaticamente, adicionando um script de renovação assíncrono ao /etc/cron.d . Esse script é executado duas vezes por dia e renova automaticamente qualquer certificado que esteja no prazo de trinta dias para expirar. Para testar o processo de renovação, você pode fazer uma execução isolada:

Se não houver nenhum erro, está tudo pronto. Quando necessário, o Certbot renovará seus certificados e recarregará o Nginx para atualizar as alterações. Se o processo de renovação automática falhar, o Let’s Encrypt enviará uma mensagem para o e-mail que você cadastrou, avisando quando seu certificado estiver prestes a expirar.

Se liga aí, que é hora da revisão

Neste tutorial, você instalou o certificado o Certbot, software cliente do Let’s encrypt; baixou os certificados SSL do seu domínio, configurou o Nginx para usar esses certificados e configurou a renovação automática do certificado. Se você tiver dúvidas sobre o uso do Certbot, a documentação oficial é um bom lugar para começar. Quaisquer dúvidas ou sugestões, utilize a área de comentários ou entre em contato!

Você Também Pode Gostar

2 Comentários

  • Responder
    Sannytet
    12 de dezembro de 2018 at 01:15

    Nice posts! 🙂
    ___
    Sanny

  • Responder
    Gleiner
    7 de Maio de 2019 at 17:27

    Top D+

  • Deixe uma resposta para Sannytet Cancelar Resposta