0Pricing
Cloud & IT Cert Prep · Aula

Versões do TLS, Conjuntos de Cifras e Sigilo de Encaminhamento Perfeito

Configure o TLS 1.2/1.3, selecione conjuntos de cifras fortes e habilite o sigilo de encaminhamento perfeito para garantir que o tráfego capturado não possa ser descriptografado posteriormente.

Versões do TLS, Conjuntos de Cifras e Sigilo de Encaminhamento Perfeito é uma aula grátis de Cloud & IT Cert Prep no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cloud & IT Cert Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.

Visão geral do protocolo TLS

TLS (Transport Layer Security) é o protocolo criptográfico que protege a maioria das comunicações na internet — HTTPS, SMTPS, IMAPS, LDAPS e VPNs dependem do TLS. O TLS oferece três propriedades de segurança: confidencialidade (a criptografia impede a interceptação), integridade (o MAC impede adulterações) e autenticação (os certificados verificam a identidade do servidor). O TLS evoluiu do SSL (Secure Sockets Layer), que agora está obsoleto. As versões atuais são TLS 1.2 (amplamente implantada) e TLS 1.3 (mais rápida e segura, recomendada para todas as novas implantações).

Histórico de versões e descontinuações do TLS

O TLS passou por várias versões, e as mais antigas continham vulnerabilidades críticas. SSL 2.0/3.0: obsoletos e vulneráveis aos ataques POODLE e DROWN. TLS 1.0: descontinuado pelo NIST e pelo PCI-DSS em 2020 (vulnerável ao BEAST e ao POODLE em cifras de bloco). TLS 1.1: descontinuado junto com o TLS 1.0. TLS 1.2: padrão mínimo atual; seguro quando configurado corretamente com conjuntos de cifras fortes. TLS 1.3: lançado em 2018; remove todos os algoritmos fracos, exige sigilo de encaminhamento, realiza um handshake significativamente mais rápido (1-RTT em vez de 2-RTT) e impede ataques de downgrade. O PCI-DSS 4.0 exige no mínimo TLS 1.2 e recomenda o TLS 1.3.

# TLS version timeline
SSL 2.0   1995  DEPRECATED (DROWN)
SSL 3.0   1996  DEPRECATED (POODLE)
TLS 1.0   1999  DEPRECATED 2020 (BEAST, POODLE)
TLS 1.1   2006  DEPRECATED 2020 (no improvements over 1.0)
TLS 1.2   2008  MINIMUM STANDARD (strong ciphers required)
TLS 1.3   2018  RECOMMENDED (mandatory PFS, faster, secure)

# Check which TLS versions a server supports
nmap --script ssl-enum-ciphers -p 443 example.com
# Or:
openssl s_client -connect example.com:443 -tls1_2
openssl s_client -connect example.com:443 -tls1_3

Conjuntos de cifras

Um conjunto de cifras é um conjunto de algoritmos criptográficos usados em conjunto em uma sessão TLS. Cada conjunto de cifras especifica: um algoritmo de troca de chaves (como as chaves da sessão são estabelecidas), um algoritmo de autenticação (como o servidor é verificado), um algoritmo de criptografia em bloco (o que criptografa os dados) e um algoritmo de código de autenticação de mensagem (MAC) (como a integridade é verificada). O cliente e o servidor negociam qual conjunto de cifras usar durante o handshake do TLS — o servidor seleciona o conjunto mais forte compatível com ambas as partes.

# TLS cipher suite naming format (TLS 1.2)
# TLS_[KeyExchange]_WITH_[Cipher]_[MAC]
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  ECDHE     = Elliptic Curve Diffie-Hellman Ephemeral
  RSA       = Server certificate authentication
  AES_256_GCM = 256-bit AES in Galois/Counter Mode
  SHA384    = HMAC with SHA-384 for integrity

# TLS 1.3 simplified format (fewer components)
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256

Algoritmos de troca de chaves

A fase de troca de chaves estabelece a chave da sessão sem transmiti-la. Troca de chaves RSA (TLS 1.2): o cliente criptografa um segredo pré-mestre com a chave pública do servidor — se a chave privada for comprometida posteriormente, todas as sessões anteriores poderão ser descriptografadas. DHE (Diffie-Hellman Ephemeral): gera um novo par de chaves para cada sessão; oferece sigilo de encaminhamento, mas é lento. ECDHE (Elliptic Curve DHE): oferece o mesmo sigilo de encaminhamento que o DHE, mas com tamanhos de chave menores e melhor desempenho — é a troca de chaves preferida tanto no TLS 1.2 quanto no TLS 1.3. O TLS 1.3 exige ECDHE ou DHE, removendo completamente a troca de chaves RSA.

Sigilo de encaminhamento perfeito (PFS)

O sigilo de encaminhamento perfeito (PFS) garante que, mesmo que a chave privada de longo prazo do servidor seja comprometida posteriormente, as sessões gravadas anteriormente não poderão ser descriptografadas. O PFS é obtido com o uso de uma troca de chaves efêmeras (ECDHE ou DHE), na qual um novo par de chaves temporário é gerado para cada sessão e descartado após o uso. Sem PFS (troca de chaves RSA), um invasor pode gravar hoje todas as sessões TLS criptografadas e descriptografá-las retroativamente quando obtiver a chave privada. A estratégia de vigilância da NSA de “coletar agora, descriptografar depois” pressupõe que os alvos eventualmente atualizarão suas chaves para versões mais fortes ou que computadores quânticos quebrarão as chaves atuais.

# Cipher suites WITH perfect forward secrecy
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384     # Good
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256   # Good
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256        # OK (slower)

# Cipher suites WITHOUT perfect forward secrecy
TLS_RSA_WITH_AES_256_CBC_SHA256  # NO PFS - avoid
TLS_RSA_WITH_3DES_EDE_CBC_SHA    # NO PFS + weak

# Key: look for ECDHE or DHE prefix
# RSA alone as key exchange = no forward secrecy

Algoritmos de cifras fracos a evitar

Vários componentes legados de cifras estão quebrados do ponto de vista criptográfico e devem ser desativados. Cifras NULL: nenhuma criptografia. Cifras de nível de exportação (ataque FREAK): enfraquecidas deliberadamente para cumprir as regulamentações de exportação dos US na década de 1990. RC4: cifra de fluxo com vieses estatísticos explorados em ataques. DES e 3DES: cifras de bloco com tamanhos de bloco pequenos demais (ataque SWEET32) ou comprimentos de chave insuficientes. MD5 e SHA-1 para MACs: vulnerabilidades de colisão. Cifras anônimas (aNULL): nenhuma autenticação do servidor. As configurações modernas de TLS devem permitir apenas AES-GCM, ChaCha20-Poly1305, AES-CCM como cifras de bloco.

# nginx: disable weak ciphers, enforce strong only
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:
             ECDHE-RSA-AES256-GCM-SHA384:
             ECDHE-ECDSA-CHACHA20-POLY1305:
             ECDHE-RSA-CHACHA20-POLY1305:
             ECDHE-ECDSA-AES128-GCM-SHA256:
             ECDHE-RSA-AES128-GCM-SHA256';
ssl_prefer_server_ciphers on;

# Explicitly disable weak ciphers in Apache
SSLCipherSuite 'HIGH:!aNULL:!MD5:!3DES:!RC4:!EXPORT'

Melhorias do TLS 1.3

O TLS 1.3 oferece várias melhorias significativas de segurança em relação ao 1.2. PFS obrigatório: a troca de chaves RSA é removida — todas as sessões usam ECDHE ou DHE. Menos conjuntos de cifras: apenas 5 conjuntos de cifras AEAD são permitidos; não é possível negociar cifras fracas. Handshake mais rápido: uma viagem de ida e volta (1-RTT) em comparação com 2-RTT no TLS 1.2, e 0-RTT para retomada de sessão (embora o 0-RTT envolva considerações sobre ataques de repetição). Handshake criptografado: o certificado do servidor é criptografado durante o handshake, impedindo que observadores passivos identifiquem qual certificado — e, portanto, qual site — o cliente está acessando.

# TLS 1.3 handshake (simplified)
Client -> Server: ClientHello (supported ciphers, key shares)
Server -> Client: ServerHello (chosen cipher, key share)
                  {EncryptedExtensions}
                  {Certificate}
                  {CertificateVerify}
                  {Finished}
Client -> Server: {Finished}

# Both sides now have session keys
# Total: 1 round-trip before application data
# (TLS 1.2 required 2 round trips)

# Note: {} = encrypted (cert is hidden from observers)

Ataques de downgrade e POODLE

Ataques de downgrade induzem um servidor e um cliente TLS a usar uma versão do TLS ou um conjunto de cifras mais antigo e fraco do que aquele compatível com ambos. O POODLE (Padding Oracle On Downgraded Legacy Encryption) explorou o fato de que as implementações do TLS retornavam ao SSL 3.0 quando ocorriam erros de conexão. A mitigação foi desativar o SSL 3.0. O FREAK e o Logjam exploraram cifras de nível de exportação. TLS_FALLBACK_SCSV é um pseudo conjunto de cifras que os clientes incluem para indicar “esta não é minha versão preferida” — se um servidor o detectar e for compatível com uma versão superior, ele abortará a tentativa de downgrade.

Verificação e fixação de certificados

A autenticação do servidor TLS depende da verificação, pelo cliente, da cadeia de certificados até uma CA raiz confiável. Verificações críticas: expiração (o certificado deve estar dentro do período de validade), revogação (a verificação por CRL ou OCSP confirma que o certificado não foi revogado), nome do host (SAN ou CN deve corresponder ao domínio ao qual a conexão é feita) e cadeia de assinaturas (as assinaturas da CA intermediária e da CA raiz são válidas). A Transparência de certificados (CT) exige que todos os certificados confiáveis publicamente sejam registrados em logs de CT somente para acréscimo, permitindo detectar certificados emitidos indevidamente poucos minutos após a emissão.

# Check TLS certificate details
openssl s_client -connect example.com:443 \
  -showcerts 2>/dev/null | openssl x509 -noout \
  -text | grep -E 'Subject:|Issuer:|Not After:|SAN'

# Verify certificate chain
openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt \
  server.crt

# Check OCSP status
openssl ocsp -issuer intermediate.crt \
  -cert server.crt \
  -url http://ocsp.ca.example.com \
  -text -noverify

SSL Labs e testes de configuração

O Qualys SSL Labs (ssllabs.com/ssltest) é a ferramenta de referência para avaliar a configuração TLS de um servidor web. Ela classifica os servidores de A+ (excelente) a F (problemas críticos) com base em: versões do TLS compatíveis, força do conjunto de cifras, validade do certificado, configuração de HSTS, suporte a sigilo de encaminhamento e resistência a ataques conhecidos. Uma classificação A+ exige: somente TLS 1.2 ou superior, todas as cifras ECDHE, certificado válido e HSTS com pré-carregamento. As organizações devem executar testes do SSL Labs após a configuração inicial e novamente depois de qualquer alteração na pilha TLS. Muitas estruturas de conformidade (PCI-DSS) exigem avaliações periódicas da configuração TLS.

Práticas recomendadas para gerenciamento de certificados TLS

Certificados TLS expirados causam interrupções e avisos de confiança aos usuários, que os invasores exploram. O gerenciamento do ciclo de vida dos certificados envolve: manter o controle de todos os certificados em um inventário de certificados, configurar alertas de expiração com pelo menos 30 dias de antecedência, automatizar a renovação com o protocolo ACME (Let's Encrypt, Certbot), usar períodos de validade curtos para certificados (90 dias para certificados públicos) para reduzir a janela de risco decorrente de um comprometimento e usar certificados curinga (*.example.com) com cuidado, pois um certificado curinga comprometido afeta todos os subdomínios. As plataformas de gerenciamento de certificados (Venafi, DigiCert CertCentral) automatizam a descoberta e o ciclo de vida em grandes inventários de certificados.

# Auto-renew Let's Encrypt cert with Certbot
# Install Certbot
apt install certbot python3-certbot-nginx

# Issue certificate
certbot --nginx -d example.com -d www.example.com

# Certbot auto-renewal (runs twice daily via systemd timer)
systemctl status certbot.timer

# Test renewal without actually renewing
certbot renew --dry-run

# Verify cert expiry date
openssl x509 -enddate -noout -in /etc/ssl/certs/example.crt
# Output: notAfter=Feb 20 12:00:00 2025 GMT

Verificação rápida

Teste sua compreensão dos conceitos do CompTIA Security+ (SY0-701) abordados nesta lição.

Recapitulação da lição

Nesta lição, você aprendeu que: TLS 1.0/1.1 estão obsoletos e o TLS 1.2 é o padrão mínimo, enquanto o TLS 1.3 é preferível, com PFS obrigatório e handshakes criptografados; os conjuntos de cifras especificam a troca de chaves (prefira ECDHE), a criptografia em bloco (AES-GCM, ChaCha20) e os algoritmos MAC; e o sigilo de encaminhamento perfeito exige a troca de chaves efêmeras (DHE/ECDHE) para que as sessões anteriores não possam ser descriptografadas mesmo após o comprometimento da chave. A seguir, exploraremos o DNS seguro: DNSSEC e DNS sobre HTTPS.

Perguntas Frequentes

A aula “Versões do TLS, Conjuntos de Cifras e Sigilo de Encaminhamento Perfeito” é grátis?

Sim — o texto completo de “Versões do TLS, Conjuntos de Cifras e Sigilo de Encaminhamento Perfeito” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cloud & IT Cert Prep, atualize para CoddyKit PRO. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.

O que vou aprender em “Versões do TLS, Conjuntos de Cifras e Sigilo de Encaminhamento Perfeito”?

Configure o TLS 1.2/1.3, selecione conjuntos de cifras fortes e habilite o sigilo de encaminhamento perfeito para garantir que o tráfego capturado não possa ser descriptografado posteriormente. Você pratica Cloud & IT Cert Prep com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cloud & IT Cert Prep?

Nenhuma experiência prévia é necessária. Cloud & IT Cert Prep no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Versões do TLS, Conjuntos de Cifras e Sigilo de Encaminhamento Perfeito”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cloud & IT Cert Prep?

Sim. Cada aula de Cloud & IT Cert Prep inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Substituição de Protocolos Inseguros: Telnet vs SSH, FTP vs SFTP
  2. Versões do TLS, Conjuntos de Cifras e Sigilo de Encaminhamento Perfeito
  3. DNS Seguro: DNSSEC e DNS sobre HTTPS (DoH)
  4. IPsec, Protocolos de VPN e Segurança de Acesso Remoto
← Voltar para Cloud & IT Cert Prep