Pular para o conteúdo
ecdsa.com

STARTTLS

Um comando de protocolo que converte em TLS uma conexão já aberta em texto claro — no SMTP (RFC 3207), IMAP, POP3, LDAP e XMPP — e que está sujeito a downgrade, a menos que uma política exija TLS.
Também escrito comoSTARTTLSRFC 3207opportunistic TLS

No SMTP, o cliente envia EHLO, vê 250-STARTTLS na lista de capacidades, envia STARTTLS, e o handshake TLS ocorre na mesma conexão TCP (porta 25 entre servidores, 587 para submissão). Entre servidores de e-mail ele é oportunista: um atacante posicionado no caminho pode remover a capacidade, e o remetente continua em texto claro; além disso, os remetentes costumam aceitar qualquer certificado.

As correções vêm de camadas de política: o MTA-STS (RFC 8461) e o DANE (RFC 7672) permitem que o domínio receptor exija TLS autenticado, e o TLS-RPT (RFC 8460) relata as falhas. Para o acesso de clientes, a RFC 8314 recomenda TLS implícito (portas 465, 993, 995) em vez de STARTTLS. Bugs de implementação, como a injeção de comandos antes da troca para TLS (texto claro armazenado em buffer e processado como se tivesse chegado por TLS), já afetaram muitos servidores de e-mail.

O comando openssl s_client -starttls smtp -connect mx.example.com:25 mostra o certificado e os parâmetros negociados; o verificador de STARTTLS executa o mesmo teste.

Padrões e referências

Todos os termos