Domanda

La maggior parte dei client di posta che supportano SSL / TLS richiedono solo all'utente di dire se SSL deve essere abilitato o meno. L'utente non deve sapere nulla di Explicit & amp; SSL implicito e differenze tra di loro.

Quindi, in che modo il client di posta determina quale tipo di SSL utilizzare? Si basa sui numeri di porta predefiniti? Prova solo l'uno e poi l'altro?

È stato utile?

Soluzione

Un client di posta deve sapere se SSL è in uso quando si connette, poiché è responsabile dell'avvio dell'handshake SSL con un messaggio ClientHello . Come determina ciò dipende dal cliente. I numeri di porta sono un ottimo suggerimento, ma potrebbe esserci anche una casella di controllo in alcune UI che lo forza anche quando viene utilizzato il numero di porta standard (non protetto).

Esistono numeri di porta registrati IANA per la posta sicura, ma alcuni ISP possono utilizzare altre porte.

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

SMTP / SSL è spesso offerto sulla porta 465, ma questo non è registrato ed è meno comune poiché il supporto per SSL esplicito è ampiamente supportato dagli agenti SMTP.

Il supporto per SSL esplicito può essere pubblicizzato da un server utilizzando una negoziazione specifica del protocollo. Ad esempio, quando un client si connette a un server SMTP ed emette il comando EHLO, il server elencherà le sue capacità, che potrebbero includere il supporto per il comando STARTTLS.

Altri suggerimenti

La porta 465 è molto comune tra i server di posta commerciali e viene utilizzata molto spesso. Molto spesso è stato utilizzato per SSL implicito. Quando si effettua il telnet su questa porta, si ottiene un timeout poiché è necessario impostare la connessione SSL prima delle comunicazioni con il server di posta. Pertanto, un timeout può essere il primo indizio di avere una connessione SSL implicita. Non è possibile utilizzare EHLO per restituire risultati perché non è consentita alcuna connessione diversa da una connessione SSL. E NO, non ti connetti semplicemente a un server SMTP che esegue SSL implicito, non risponderà e abbandonerà semplicemente la connessione. Questo è ciò che dovrebbe fare. SSL esplicito consentirà prima la connessione e quindi configurerà SSL. E sì, SSL implicito viene utilizzato spesso. Lo svantaggio è che gli standard RFC non sono specifici su come viene implementato, così diversi sviluppatori lo impostano in vari modi, anche se SSL implicito è considerato da alcuni come ammortizzato.

Credo che la maggior parte dei client che supportano SMTP su SSL inizino con una connessione non crittografata e emettano un EHLO anziché HELO. Il primo ha risposte flag aggiuntive, una delle quali indica se il server supporta o meno il comando STARTTLS. In tal caso, il client può utilizzare STARTTLS e quindi utilizzare SSL da quel momento in poi.

Esempio:

% 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top