O que é SSL/TLS?
SSL (Secure Sockets Layer) e TLS (Transport Layer Security) são protocolos criptográficos que protegem comunicação sobre redes. TLS é o sucessor moderno de SSL, mas "SSL" permanece comumente usado para referir-se a ambos. Esses protocolos habilitam HTTPS, criptografando dados entre navegadores e servidores.
SSL vs TLS: Uma Breve História
| Versão | Ano | Status |
|---|---|---|
| SSL 1.0 | 1994 | Nunca lançado (falho) |
| SSL 2.0 | 1995 | Descontinuado (inseguro) |
| SSL 3.0 | 1996 | Descontinuado (vulnerabilidade POODLE) |
| TLS 1.0 | 1999 | Descontinuado |
| TLS 1.1 | 2006 | Descontinuado |
| TLS 1.2 | 2008 | Padrão atual |
| TLS 1.3 | 2018 | Mais recente, recomendado |
Sistemas modernos devem usar TLS 1.2 ou TLS 1.3 exclusivamente.
Como TLS Funciona
O Handshake TLS
1. Client Hello: Navegador envia versões TLS suportadas e suites de cifra
2. Server Hello: Servidor seleciona versão TLS e suite de cifra
3. Certificado: Servidor envia seu certificado SSL
4. Troca de Chave: Troca segura de chave (varia por suite de cifra)
5. Finished: Sessão criptografada estabelecida
Cliente Servidor
|-- Client Hello -------------->|
|<-- Server Hello --------------|
|<-- Certificado ---------------|
|<-- Troca de Chave -----------|
|-- Troca de Chave ------------->|
|-- Finished ------------------>|
|<-- Finished ------------------|
|<======= Sessão Criptografada =>|
TLS 1.3 reduz isto para um único round-trip, melhorando desempenho.
Certificados SSL/TLS
O que Está em um Certificado?
- Subject: Nome(s) de domínio que o certificado cobre
- Issuer: Autoridade de Certificação (CA) que o emitiu
- Período de Validade: Datas de início e expiração
- Chave Pública: Para estabelecer conexões criptografadas
- Assinatura: Assinatura criptográfica da CA
Tipos de Certificado
Validado por Domínio (DV): Prova apenas propriedade de domínio- Emitido em minutos
- Grátis (Let's Encrypt) ou baixo custo
- Mostra cadeado, sem informação de organização
- Exige verificação de negócio
- Mostra nome de organização em detalhes de certificado
- Confiança maior, custo moderado
- Verificação rigorosa de identidade
- Anteriormente mostrava barra verde (navegadores removeram)
- Custo mais alto, confiança mais alta
Cobertura de Certificado
Domínio Único: Cobre um domínio (example.com) Wildcard: Cobre todos os subdomínios (*.example.com) Multi-Domínio (SAN): Cobre múltiplos domínios específicosImplementando SSL/TLS
Certificados Grátis com Let's Encrypt
# Usando Certbot
sudo certbot --nginx -d example.com -d www.example.com
# Auto-renovação
sudo certbot renew --dry-run
Certificados de Provedor de Nuvem
A maioria das plataformas de nuvem oferecem certificados grátis e auto-renováveis:
- Cloudflare: Automático para domínios proxy
- AWS: Certificate Manager (ACM)
- Google Cloud: Certificados SSL gerenciados
Verificação de Certificado
Navegadores verificam certificados por:
1. Verificando a cadeia de certificados até uma CA raiz confiável
2. Verificando que o certificado não expirou
3. Confirmando que o domínio combina
4. Verificando status de revogação (CRL/OCSP)
Melhores Práticas de SSL/TLS
Configuração de Servidor
Use TLS 1.2+: Desabilitar SSL 3.0, TLS 1.0, TLS 1.1ssl_protocols TLSv1.2 TLSv1.3;
Suites de Cifra Fortes: Preferir cifras modernas e seguras
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
HSTS: Forçar HTTPS (veja entrada de glossário HSTS)
Gerenciamento de Certificado
- Automatize renovação: Certificados expiram (90 dias para Let's Encrypt)
- Monitore expiração: Configure alertas antes que certificados expirem
- Use registros CAA: Restringir quais CAs podem emitir certificados
Verificando SSL/TLS
Usando DomScan:curl "https://domscan.net/v1/health?domain=example.com"
# Retorna validade SSL, emissor, expiração
Usando OpenSSL:
openssl s_client -connect example.com:443 -servername example.com
Ferramentas Online: SSL Labs (ssllabs.com/ssltest) fornece análise abrangente.
Problemas Comuns com SSL
Conteúdo Misto: Página HTTPS carregando recursos HTTP (bloqueado por navegadores) Incompatibilidade de Certificado: Certificado não combina com o domínio Certificado Expirado: Período de validade do certificado terminou Cadeia Incompleta: Certificados intermediários faltandoSSL/TLS não é mais opcional—todos os sites devem usar HTTPS para benefícios de segurança e SEO.