L'applicazione della crittografia per SMTP è una buona idea (ancora)?


36

Sto eseguendo un server di posta elettronica che è attualmente impostato per utilizzare TLS, se possibile, durante l'invio e la ricezione di e-mail.

Quando leggi nella documentazione a riguardo, c'è anche la possibilità di applicare TLS e di non accettare la trasmissione di messaggi di posta elettronica in chiaro. Ti avverte inoltre che alcuni server di posta potrebbero non supportare ancora la crittografia e l'applicazione della crittografia potrebbe bloccare questi server.

Ma questo è ancora un problema a cui dovresti pensare o è sicuro dire che l'applicazione della crittografia non sarà più un problema?

C'è forse qualche grande fornitore che lo sta già facendo o cosa consideri la migliore pratica in questi giorni?

Risposte:


34

Il problema pratico è che non tutti i server conformi a SMTP (RFC sono piuttosto vecchi) possono parlare TLS al tuo server, quindi potresti non ricevere alcuni messaggi e-mail.

Il problema filosofico è che è impossibile dire come l'e-mail viene inoltrata dopo (o prima) che è arrivata sul tuo server.

Ciò significa che l'e-mail potrebbe essere già stata trasmessa in chiaro tramite un relay.

Chiunque sia seriamente interessato a proteggere il contenuto della propria e-mail dovrebbe effettivamente crittografare il corpo. Con la crittografia in rotta è sempre plausibile che sia già stato trasmesso in chiaro.

Quindi, rispondere alla tua domanda imporre la crittografia a livello di SMTP è probabilmente inutile, aumenta le possibilità di perdere la posta elettronica e non vi è alcun vantaggio garantito garantito.

Modifica: si riferisce all'applicazione SMTP a scopo di inoltro, non di invio di e-mail. Nelle comunicazioni via posta elettronica è necessario applicare la crittografia poiché la conversazione SMTP (non l'e-mail effettiva) probabilmente contiene credenziali di autenticazione.


7
Non penso che questa sia la risposta migliore. Arriva alla giusta conclusione, ma per ragioni sbagliate. È "lasciare che il perfetto sia nemico del buono" tipo di ragionamento. Penso che la risposta migliore sia che se si richiede la crittografia, si eviterà il passaggio di alcune e-mail legittime (poiché alcuni server SMTP non possono crittografare). Se non fosse per quel fattore, applicare la crittografia sarebbe utile, anche se per tutte le ragioni che elenchi non è perfetto - sarebbe meglio di niente, anche se non è perfetto.
DW,

Tendo a non essere d'accordo sulla perfezione con la semplice aggiunta di sottoperfezioni; ho comunque inviato una modifica alla risposta per sottolineare la possibile incompatibilità tecnica dei server conformi alla RFC ma che non supportano TLS.
Alex Mazzariol,

Grazie per la tua risposta! All'inizio non ho pensato a cosa succede dopo che il mio server ha inviato la posta al server successivo o, come hai detto, in cui il messaggio "è già stato" prima che mi raggiungesse. Ovviamente non ha senso applicare la crittografia, se la parte ricevente la invia in testo semplice (forse a un sottoserver della stessa società ma ancora su Internet).
comfreak

Ho scelto questa risposta come accettata poiché chiarisce che l'applicazione della crittografia sul mio server non garantirà un trasferimento sicuro / crittografato del messaggio dal mittente al destinatario, ma solo dal mio server al successivo.
comfreak,

Penso che questa risposta sia buona, ma non menziona che la crittografia è ancora desiderata considerando che solo in un numero limitato di casi qualcuno farebbe di tutto per intercettare il messaggio in chiaro del mittente al fine di ingannarti. Se ti stai nascondendo dalla CIA / NSA, questo potrebbe non aiutarti. Ma cosa sarebbe meglio, applicare la crittografia in modo che nessuno con esplicito interesse a leggerlo / intercettare il messaggio del mittente e nasconderlo fino a quando una terza parte decide di provare a ficcare il naso su di te o di avere tutti i tuoi messaggi archiviati sui server NSA in modo che un giorno, non possono solo iniziare ...
momomo,

20

No

RFC 821 ha 33 anni. Troverai e -mail inoltrate da programmi che non supportano STARTTLS. A volte saranno stub mittenti di e-mail (es. Script interni), a volte sistemi completi che sono vecchi, hanno TLS disabilitato / non compilato, sistemi senza abbastanza entropia ...

Ho assistito non molto tempo fa alle e-mail in uscita non riuscite perché l'estremità ricevente lo aveva configurato per consentire solo SMTP su TLS. Era un problema nel mittente (non avrebbe dovuto usare quella configurazione), ma mostra che succede.

Vorrei limitare i messaggi in arrivo solo dagli indirizzi IP configurati manualmente. Se il tuo elaboratore di carte di credito non riesce ad avviare STARTTLS, probabilmente preferisci interrompere la connessione (e sfogliare l'amministratore locale in modo che possa avvertirli!) Piuttosto che ricevere quei dati (potenzialmente sensibili) non crittografati. Per i messaggi in uscita, se ti sei connesso a quell'host utilizzando STARTTLS in precedenza, potresti voler non farlo di nuovo in modo insicuro, trattandolo invece come un potenziale compromesso. Potresti anche avere un elenco di host STARTTLS noti da usare sempre, come gmail o yahoo.

Esiste il progetto https://www.eff.org/starttls-everywhere che fornisce un elenco di server smtp per i quali è possibile (si dovrebbe?) Imporre con sicurezza l'utilizzo di starttls.


3
Grazie per la risposta e per aver pubblicato quel link! Questo sembra essere un buon approccio per risolvere il problema di un attacco man-in-the-middle che riduce la connessione a una conversazione non crittografata.
comfreak

11

È completamente inutile, e probabilmente attivamente dannoso, rifiutare la posta elettronica da colleghi incapaci di crittografia.

Finché il tuo server è impostato per eseguire la crittografia opportunistica con qualsiasi altro peer che lo offre, ottieni il meglio da entrambi i mondi: crittografia quando è disponibile e posta elettronica su testo normale quando non lo è.

Finché ci sono server che non supportano la crittografia, il loro mandato significa semplicemente che non possono parlare con te; questo è male. Una volta che tutti lo supportano, non c'è differenza tra crittografia opportunistica e obbligatoria.

E come altri hanno sottolineato, la crittografia on-the-wire e la crittografia end-to-end sono due cose completamente diverse, che affrontano diversi modelli di minaccia. Non confondere i due.


Direi che il meglio di entrambi i mondi ti permetterebbe anche di vedere la differenza, simile al "blocco" di una pagina SSL sul web, quindi sai quali e-mail * sarebbero state bloccate se avessi forzato TLS
user2813274

@utente2813274 Sono d'accordo, e lo fa. Controlla le intestazioni; ti mostreranno se ogni dato passaggio della catena di trasmissione è stato eseguito con o senza crittografia.
MadHatter supporta Monica il

@MadHatter a meno che quelle intestazioni non siano state completamente forgiate dal luppolo prima del tuo.
thrig

8
V'è una differenza tra la cifratura opportunistica e obbligatoria. Spesso è possibile che un MITM attivo interrompa la crittografia opportunistica, facendo sì che gli endpoint non ricadano in alcuna crittografia, che può essere monitorata. Con la crittografia obbligatoria, la connessione verrebbe interrotta, causando una negazione del servizio ma non una violazione della privacy.
cjm

4
@cjm quindi il mio punto sui modelli di minaccia. Se stai seriamente cercando di difenderti dagli attacchi MITM, solo la crittografia end-to-end può aiutarti. Affidarsi alla sola crittografia SMTP è inutile; un sofisticato MITM si limiterà a mascherare il tuo server, quindi ti inoltrerà la posta dopo averlo letto. Certo, il tuo server potrebbe avere un certificato correttamente firmato (che è sorprendentemente raro), ma non puoi controllare se il sistema che ti sta inviando lo richiede , quindi un attacco MITM come questo avrà successo nonostante tutti i requisiti che imposti su una connessione crittografata .
MadHatter supporta Monica il

10

Questa è una questione politica.

In genere, quando TLS viene applicato per inbound e outbound, viene eseguito per un numero limitato di domini concordati dalle parti per soddisfare un'esigenza (ad esempio, i partner commerciali potrebbero avere un accordo per crittografare tutta la posta tra le loro società).

A meno che non sia stato stipulato un accordo del genere, non attivare la modalità di applicazione.


2

No, è una pessima idea.

In effetti, a quanto pare, la maggior parte dei server / client STARTTLS non implementano alcun tipo di algoritmo di tentativo senza StartTLS nel caso in cui una connessione TLS non riesca a negoziare.

Pertanto, anche pubblicizzare STARTTLS come opzione riduce già le possibilità di ricevere (e inviare) e-mail!

Basta cercare e scoprirai che molte persone non sono in grado di inviare QUALSIASI email ai domini di Microsoft Outlook gestiti dal cluster * .protection.outlook.com:

Messaggi Sendmail rifiutati da Microsoft quando si utilizza TLS

motivo: 403 4.7.0 Handshake TLS non riuscita

Riassumendo i problemi presentati nei due post precedenti:

  • può inviare posta a qualsiasi host diverso da quelli gestiti da Outlook, con o senza STARTTLS,
  • può inviare posta senza un certificato client e senza STARTTLS a Outlook,
  • o con un certificato client di lunghezza zero,
  • ma non con un certificato che non piace a Microsoft e, in caso di errore, i client (beh, i server che agiscono in modalità client) non tentano di inviare nuovamente il messaggio senza STARTTLS se il server del destinatario pubblicizza STARTTLS!

Allo stesso modo, quando il tuo host funge da server, una situazione simile può verificarsi al di fuori del tuo controllo se decidi di abilitare STARTTLS - quando un server client vede che il tuo server in modalità server offre STARTTLS, prova a negoziare TLS, ma se la negoziazione fallisce , semplicemente aspettano e riprovano a ripetere gli stessi passaggi, continuano a non riuscire fino a quando il messaggio non deve essere rispedito al mittente!

E questo succede abbastanza frequentemente con vari domini nella terra di STARTTLS!

Purtroppo, per quanto fossi un sostenitore di STARTTLS in passato, ora sono molto privato del diritto di essere stato ingannato dalla pubblicità priva di rischi di ciò che pensavo dovesse essere una crittografia opportunistica.

Non solo non dovresti richiedere STARTTLS, ma potrebbe anche essere prudente disabilitarlo completamente, se vuoi garantire l'interoperabilità.


2

Devo concordare sull'idea di utilizzare un TLS opportunistico. Anche se ne ho anche alcuni da aggiungere all'idea. Alcuni saranno probabilmente disturbati dai suggerimenti, tuttavia, poiché i miei suggerimenti qui non sono formulati alla leggera e senza la dovuta considerazione, prima di esprimere un giudizio, ti chiedo di leggere la discussione completa dal link allegato.

L'uso del TLS opportunistico è di gran lunga la soluzione migliore. L'angolo MITM come argomento contro di esso è un'aringa rossa. Dopotutto, come menzionato MH in un commento, anche un SMTP "legittimo" con connessione TLS può essere MITM e l'utente finale non è il più saggio a causa della stragrande maggioranza dei client di posta che non si preoccupa di convalidare i certificati accoppiati con la stragrande maggioranza degli MTA là fuori che fanno TLS usano certificati autofirmati (almeno se non si usano DNSSEC e TLSA / DANE). Come risultato di questo e forse di altri fattori, è persino discutibile che fino a quando tu e il resto del mondo ha implementato DANE / TLSA e DNSSEC, che durante l'esecuzione di TLS opportunistico è meglio che non avere anche diffie-hellman anonimo (pur usando anche PFS). Dovuto almeno in parte, se non principalmente, al fatto che crittografa comunque il traffico proteggendolo dall'osservatore occasionale. A ulteriore supporto di questa configurazione (con una spiegazione molto più elaborata della mia), vedere i commenti di Viktor Dukhovni in questo post in un forum postfix:http://postfix.1071664.n5.nabble.com/Disabling-Anonymous-Diffie-Hellman-td67965.html

Per quanto riguarda il motivo per cui uno potrebbe prendere i suggerimenti di Viktor su quelli degli altri, beh, ha scritto il codice TLS e il codice DNSSEC, TLSA / DANE per l'MTA Postfix oltre ad essere stato quello che ha scritto le bozze IETF su entrambi i DNSSEC e TLSA / DANE. In quanto tale, direi che le sue parole sull'argomento hanno molto peso, probabilmente più di quelle della maggior parte.

Spero che sia di aiuto.


0

Dal punto di vista dell'email marketing, l'uso di TLS è una buona pratica e sicuro quando si sa che è implementato attraverso l'intera catena di consegna. Tuttavia, se la sicurezza è il tuo requisito principale, crittografare l'e-mail stessa prima di inviarla è l'opzione più sicura (ad esempio con PGP).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.