Guia Técnico: Configuração de Certificados SSL com Let’s Encrypt no Linux (Apache/Nginx) e Windows (IIS)

O que é Let’s Encrypt?

Let’s Encrypt é uma autoridade certificadora gratuita e automatizada que emite certificados SSL/TLS. Sua missão é tornar a web mais segura, fornecendo certificados acessíveis a qualquer pessoa e permitindo que os administradores de sites ativem o HTTPS (SSL/TLS) facilmente em seus domínios.

Principais características:

  • Gratuito: Nenhuma taxa é cobrada pela emissão ou renovação dos certificados.
  • Automático: Integração com ferramentas para renovar e instalar certificados sem intervenção manual.
  • Segurança de ponta: Criptografia moderna e suporte universal por todos os navegadores principais.

Por que Usar Certificados SSL/TLS?

Certificados SSL/TLS garantem que a comunicação entre o navegador do cliente e o servidor seja criptografada, impedindo que dados confidenciais sejam interceptados. Além disso, sites que utilizam HTTPS são priorizados nos mecanismos de busca e promovem mais confiança aos usuários.


Configuração do Let’s Encrypt no Linux com Apache e Nginx

Pré-requisitos:

  1. Um servidor Linux com o Apache ou Nginx instalado.
  2. Acesso ao servidor via SSH com privilégios de superusuário (root ou sudo).
  3. O domínio configurado e apontado corretamente para o servidor.

Passo 1: Instalando o Certbot no Linux

O Certbot é a ferramenta oficial para a obtenção e renovação automática de certificados Let’s Encrypt. Ele possui plugins específicos para servidores web, como Apache e Nginx, permitindo a configuração automática.

Instalação no Ubuntu/Debian

  1. Atualize os repositórios e instale os pacotes do Certbot: Para Apache:
   sudo apt update
   sudo apt install certbot python3-certbot-apache

Para Nginx:

   sudo apt update
   sudo apt install certbot python3-certbot-nginx
  1. Certifique-se de que o servidor web esteja ativo e em execução: Para Apache:
   sudo systemctl status apache2

Para Nginx:

   sudo systemctl status nginx

Instalação no CentOS/RHEL

  1. Instale o Certbot habilitando o repositório EPEL e instalando o plugin necessário: Para Apache:
   sudo yum install epel-release
   sudo yum install certbot python3-certbot-apache

Para Nginx:

   sudo yum install epel-release
   sudo yum install certbot python3-certbot-nginx

Passo 2: Obtenção e Instalação do Certificado

Para Apache

  1. Execute o seguinte comando para obter e instalar o certificado SSL:
   sudo certbot --apache
  1. O Certbot fará algumas perguntas:
  • O domínio para o qual deseja emitir o certificado.
  • Se deseja redirecionar todo o tráfego HTTP para HTTPS (recomendado).
  1. O Certbot instalará e configurará automaticamente o certificado no Apache, modificando os arquivos de configuração do virtual host.
  2. Verifique o status do Apache para garantir que ele foi reiniciado corretamente:
   sudo systemctl status apache2

Para Nginx

  1. Para Nginx, o comando Certbot é:
   sudo certbot --nginx
  1. O Certbot modificará os arquivos de configuração do Nginx, adicionando a configuração SSL e redirecionando o tráfego HTTP para HTTPS, se solicitado.
  2. Após a conclusão, reinicie o Nginx para garantir que as mudanças entrem em vigor:
   sudo systemctl restart nginx

Passo 3: Testando o Certificado

Após a instalação, acesse seu site via https://seudominio.com. Um cadeado verde ou ícone de segurança no navegador indicará que o certificado SSL foi instalado corretamente.

Passo 4: Configuração da Renovação Automática

Os certificados Let’s Encrypt são válidos por 90 dias, mas o Certbot configura automaticamente uma tarefa cron para renovar os certificados. Para testar a renovação automática, execute:

sudo certbot renew --dry-run

Este comando verifica se a renovação automática funcionará corretamente sem realmente renovar o certificado.


Configuração do Let’s Encrypt no Windows com IIS

Passo 1: Baixar e Instalar o win-acme

No Windows, a ferramenta win-acme facilita a emissão de certificados Let’s Encrypt no IIS (Internet Information Services).

  1. Acesse o site oficial do win-acme e baixe o executável ou arquivo ZIP.
  2. Extraia os arquivos para um diretório no servidor.

Passo 2: Emitir o Certificado SSL

  1. Abra o Prompt de Comando como administrador e navegue até o diretório onde o win-acme foi extraído.
  2. Execute o win-acme para iniciar o assistente:
   wacs.exe
  1. Escolha a opção N (criar um novo certificado) para gerar um novo certificado.
  2. Siga as instruções:
  • Selecione o site configurado no IIS.
  • Escolha o domínio para o qual deseja emitir o certificado.
  • O win-acme se conectará ao Let’s Encrypt e solicitará o certificado.
  1. Após a emissão, o certificado será automaticamente instalado no IIS e vinculado ao site.

Passo 3: Testar o Certificado

Abra o navegador e acesse seu site via https://seudominio.com. O certificado SSL deve estar corretamente instalado.

Passo 4: Renovação Automática no IIS

O win-acme também cuida da renovação automática dos certificados. Para verificar se a renovação automática está configurada corretamente, execute:

wacs.exe --renew

Este comando forçará uma verificação para ver se há certificados que precisam ser renovados.


Considerações Técnicas sobre Let’s Encrypt

Limitações e Práticas Recomendadas

  • Validade: Os certificados emitidos pelo Let’s Encrypt têm uma validade de 90 dias. No entanto, a renovação é simples e automatizada.
  • Certificados Wildcard: Let’s Encrypt também oferece certificados wildcard, que cobrem todos os subdomínios de um domínio (ex.: *.seudominio.com). Esses certificados exigem a validação via DNS.

Links Úteis

Por que Let’s Encrypt é Seguro?

O Let’s Encrypt usa validação de domínio para verificar se você é o proprietário do domínio para o qual deseja o certificado. Ele também é amplamente aceito por todos os principais navegadores e implementa os mais recentes padrões de segurança para criptografia.

Conclusão

O Let’s Encrypt tornou a implementação de HTTPS acessível, facilitando a configuração de segurança SSL/TLS em servidores Linux e Windows. Para empresas que buscam manter um ambiente seguro e aderente às melhores práticas, Let’s Encrypt é uma excelente solução para garantir a segurança das comunicações na web.

Se precisar de assistência em qualquer etapa da configuração, entre em contato ou acesse a documentação oficial do Let’s Encrypt ou as ferramentas mencionadas para obter mais detalhes.

Edvaldo Guimrães Filho Avatar

Published by

Categories:

Leave a comment