Segurança SSL/TLS: HTTPS, HSTS e certificados
HTTPS não é mais opcional. Entenda como SSL/TLS protege seu site, como configurar certificados e como garantir que a conexão é realmente segura.
O que é SSL/TLS
SSL (Secure Sockets Layer) e seu sucessor TLS (Transport Layer Security) são protocolos criptográficos que garantem a comunicação segura entre o navegador do usuário e o servidor web. Quando um site usa HTTPS, significa que a conexão é protegida por TLS.
O TLS fornece três garantias fundamentais:
- Confidencialidade: os dados são criptografados e não podem ser lidos por intermediários.
- Integridade: os dados não podem ser alterados em trânsito sem detecção.
- Autenticidade: o certificado garante que você está conectado ao servidor correto, não a um impostor.
SSL está obsoleto. As versões SSL 2.0 e 3.0 possuem vulnerabilidades conhecidas (POODLE, DROWN). Sempre use TLS 1.2 ou superior. TLS 1.3 é a versão recomendada atualmente.
Por que a falta de HTTPS é perigosa
Sem HTTPS, toda a comunicação entre o navegador e o servidor trafega em texto plano:
- Senhas e dados pessoais podem ser interceptados em redes Wi-Fi públicas
- Provedores de internet podem injetar anúncios ou scripts na página
- Atacantes podem alterar o conteúdo da página em trânsito (MITM)
- Cookies de sessão podem ser roubados (session hijacking)
- Google penaliza sites HTTP no ranking de busca
- Navegadores exibem alertas de “Não seguro” para os visitantes
Além de HTTPS, o header HSTS é essencial para evitar ataques de downgrade, onde o atacante força a conexão de volta para HTTP.
Como o SAFETAGGY detecta
O SAFETAGGY verifica múltiplos aspectos da configuração SSL/TLS:
- Varredura básica: verifica se o site redireciona HTTP para HTTPS, presença e qualidade do header HSTS (max-age, includeSubDomains, preload), e validade do certificado.
- Deep Scan (pentest IA): utiliza testssl.sh para uma análise completa do certificado e configuração TLS, incluindo: protocolos suportados (TLS 1.0/1.1/1.2/1.3), cipher suites, vulnerabilidades conhecidas (Heartbleed, BEAST, POODLE, ROBOT), cadeia de certificados e configuração OCSP.
Verifique a segurança SSL/TLS do seu site em segundos.
Como configurar
1. Let's Encrypt (certificado gratuito)
Let's Encrypt oferece certificados SSL/TLS gratuitos com renovação automática. É a opção recomendada para a maioria dos sites:
# Instalar Certbot (Ubuntu/Debian)
sudo apt install certbot python3-certbot-nginx
# Obter certificado e configurar Nginx automaticamente
sudo certbot --nginx -d seusite.com.br -d www.seusite.com.br
# Renovação automática (já configurada pelo Certbot)
# Verificar: sudo certbot renew --dry-run
# Cron job de renovação (adicionado automaticamente)
# 0 0,12 * * * certbot renew --quiet2. Nginx (configuração SSL otimizada)
server {
listen 80;
server_name seusite.com.br www.seusite.com.br;
# Redirecionar todo HTTP para HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name seusite.com.br www.seusite.com.br;
# Certificados
ssl_certificate /etc/letsencrypt/live/seusite.com.br/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/seusite.com.br/privkey.pem;
# Protocolos — apenas TLS 1.2 e 1.3
ssl_protocols TLSv1.2 TLSv1.3;
# Cipher suites seguras
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# HSTS com preload
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
# OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/seusite.com.br/chain.pem;
resolver 1.1.1.1 8.8.8.8 valid=300s;
# Session tickets
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
}3. Apache
# Redirecionar HTTP para HTTPS
<VirtualHost *:80>
ServerName seusite.com.br
Redirect permanent / https://seusite.com.br/
</VirtualHost>
<VirtualHost *:443>
ServerName seusite.com.br
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/seusite.com.br/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/seusite.com.br/privkey.pem
# Apenas TLS 1.2+
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
# HSTS
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
</VirtualHost>4. HSTS Preload
O HSTS Preload é uma lista mantida pelos navegadores com domínios que devem ser acessados exclusivamente via HTTPS. Uma vez incluído, mesmo a primeira visita será via HTTPS:
- Configure HSTS com
max-age=63072000(2 anos),includeSubDomainsepreload - Certifique-se de que TODOS os subdomínios suportam HTTPS
- Submeta seu domínio em
hstspreload.org
Atenção: a inclusão na lista de preload é difícil de reverter. Certifique-se de que todos os subdomínios funcionam com HTTPS antes de submeter.
Checklist de segurança SSL/TLS
- Redirecionar todo tráfego HTTP para HTTPS (301 redirect)
- Usar TLS 1.2 ou superior (desabilitar TLS 1.0 e 1.1)
- Configurar HSTS com max-age de pelo menos 1 ano
- Incluir
includeSubDomainsno HSTS - Usar cipher suites modernas (ECDHE + AES-GCM)
- Habilitar OCSP Stapling para melhor performance
- Configurar renovação automática do certificado
- Testar regularmente no SSL Labs (nota A ou A+)
- Considerar HSTS Preload para proteção máxima
Teste seu site agora
O SAFETAGGY verifica automaticamente a configuração SSL/TLS do seu site, incluindo HTTPS, HSTS, certificado e protocolos suportados. Para uma análise completa com testssl.sh, use o Deep Scan.
Fazer varredura gratuita