Pergunta

A maioria dos clientes de email que suporte a SSL / TLS só exigem que o usuário dizer se é ou não SSL deve ser ativado. O usuário não precisa saber nada sobre SSL explícita e implícita e as diferenças entre eles.

Então, como é o cliente de correio determinar que tipo de SSL para uso? É baseado em números de porta padrão? Será que apenas tentar um e depois o outro?

Foi útil?

Solução

Um cliente de email deve saber se SSL implícita está em uso quando ele se conecta, pois é responsável por iniciar o handshake SSL com uma mensagem ClientHello. Como determina isso é com o cliente. Os números de porta são uma ótima dica, mas também poderia ser uma caixa de seleção em alguns UI que as forças que mesmo quando o número padrão (sem proteção) porta é usada.

Existem IANA registrado números de porta para email seguro, mas alguns ISPs podem usar outras portas.

  • IMAP / SSL: 993
  • POP3 / SSL: 995

SMTP / SSL é muitas vezes oferecido na porta 465, mas isso não é registrado, e é menos comum desde o suporte para SSL explícito é amplamente apoiada por agentes SMTP.

O suporte para SSL explícito pode ser anunciado por um servidor usando uma negociação específica de protocolo. Por exemplo, quando um cliente se conecta a um servidor SMTP, e emite o comando EHLO, o servidor irá listar as suas capacidades, o que pode incluir suporte para o comando STARTTLS.

Outras dicas

Port 465 é muito comum entre os servidores de correio comercial e é usado com muita freqüência. Na maioria das vezes usado para SSL implícito. Quando você telnet para essa porta você vai ter um tempo limite desde que você deve configurar a conexão SSL antes de comunicações com o servidor de correio. Assim, um tempo limite pode ser o primeiro indício de que você tem uma conexão SSL implícito. Você não pode usar EHLO para retornar resultados porque nenhuma outra conexão de uma conexão SSL é permitido. E NENHUM você não simplesmente conectar a um servidor SMTP em execução SSL implícito que não irá responder e só vai cair a conexão. Isso é o que é suposto fazer. SSL explícito irá permitir a conexão primeiro e depois configurar SSL. E sim SSL implícito é frequentemente utilizado. A desvantagem é que os padrões RFC não são específicos de como ele é implementado desenvolvedores para diferentes configurá-lo de maneiras diferentes, embora SSL implícita é considerada por alguns como depreciados.

Eu acredito que a maioria dos clientes que o apoio SMTP sobre SSL começam com uma conexão não criptografada e emitir um EHLO ao invés de HELO. O primeiro tem respostas bandeira extras, um dos quais indica se o servidor suporta o comando STARTTLS ou não. Se o fizerem, então o cliente pode usar STARTTLS, e depois usar SSL a partir desse ponto.

Exemplo:

% telnet quack.kfu.com 25
220 quack.kfu.com ESMTP ready NO UCE
EHLO client
250-quack.kfu.com Hello client [xx.xx.xx.xx] (may be forged), pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE 25000000
250-ETRN
250-AUTH PLAIN LOGIN
250-STARTTLS
250-DELIVERBY
250 HELP
starttls
220 2.0.0 Ready to start TLS
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top