Perché abilitare SMTP STARTTLS se OpenSSL è pericoloso?

10

Ci sono un sacco di persone nel movimento anti-sorveglianza che stanno praticamente chiedendo di abilitare il supporto SMTP STARTTLS nel mio ambiente, al fine di abilitare la crittografia MTA-to-MTA opportunistica. Le stesse persone anti-sorveglianza si lamentano nel frattempo che OpenSSL è un codice di bassa qualità con un'alta probabilità di gravi vulnerabilità non ancora scoperte.

Esponendo a OpenSSL (la maggior parte dei MTA, incluso il nostro solo supporta OpenSSL), Internet espone a un rischio utile, a vantaggio di evitare opportunisticamente le intercettazioni? Sembra che il rischio di persone che ascoltano le e-mail in transito si impongano rispetto al rischio che OpenSSL venga sfruttato sul server di posta per rubare dati memorizzati o installare una backdoor persistente.

    
posta ruief 11.07.2014 - 10:05
fonte

3 risposte

26

Penso che stia sopravvalutando il rischio di abilitare STARTTLS . Certo, ci sono stati alcuni incidenti con OpenSSL di recente, ma significa che dovremmo tutti smettere di usare HTTPS?

Nella tua situazione, ecco il compromesso:

  • L'utilizzo di STARTTLS potrebbe aprire buchi di sicurezza sulle tue macchine
  • Non utilizzare STARTTLS consentirà a chiunque spii (sulla rete, su cavi sottomarini ...) di leggere le e-mail senza sforzo. (Contrariamente a quello che intendi, questo non è un rischio: sta accadendo, come hanno dimostrato i documenti di Snowden.)

Fondamentalmente, devi scegliere tra la mitigazione di possibili problemi di sicurezza futuri e la difesa dagli attuali attacchi.

A meno che tu non sia un target di alto profilo e temi che possano essere usati 0 giorni contro di te, ti consiglierei di andare con STARTTLS . In alternativa, se davvero non ti fidi di OpenSSL, puoi probabilmente cercare in GnuTLS (anche se ha la sua parte di problemi) o aspettare OpenBSD LibReSSL .

UPDATE : una versione portatile di LibReSSL è stata appena rilasciata da OpenBSD ... Manca ancora il testing, ma questo significa che potresti ancora ottenere il meglio da entrambi i mondi, a patto che tu ti fidi di loro più di Gli sviluppatori di OpenSSL.

    
risposta data 11.07.2014 - 10:16
fonte
5

In primo luogo, confondi SSL / TLS e le sue implementazioni. Il tuo server potrebbe utilizzare OpenSSL, ma ciò non significa che i client che si connetteranno ad esso lo faranno. Le potenziali vulnerabilità dipendono molto dal contesto. Se sei preoccupato delle vulnerabilità zero-day specifiche di OpenSSL, potresti essere in grado di trovare un server di posta che utilizza un altro stack.

Inoltre, OpenSSL ha avuto cattiva pubblicità a causa del bug Heartbleed, ma questa è forse una benedizione sotto mentite spoglie, poiché, di conseguenza, alcune grandi aziende sembrano aver deciso di fornire al progetto un finanziamento sostanziale (che non aveva). Non sono sicuro che altre implementazioni (ad es. GnuTLS, NSS di Mozilla, anche JSSE di Java, ...) abbiano lo stesso tipo di budget a loro assegnato.

Generalmente è sempre una buona idea abilitare STARTTLS sul tuo server di posta, poiché dovrebbe proteggere la connessione tra il client e il server di posta (MSA). Per lo meno, è bene proteggere la password dell'utente (vengono spesso riutilizzati nella pratica). Come ogni altro software, vale la pena eseguire l'aggiornamento a una versione più recente ogni volta che si verifica un aggiornamento della sicurezza. Niente è perfetto, sfortunatamente.

Come nota a margine, STARTTLS aiuterà tra il client e il MSA (il tuo server), ma sarà di piccolo aiuto tra gli MTA in generale (ovvero, quando lascia il server per passare a un altro server).

    
risposta data 11.07.2014 - 15:26
fonte
5

Sebbene OpenSSL abbia alcuni problemi di qualità, sarebbe abbastanza ottimistico credere che il resto del software che esponi a Internet sia più conveniente. OpenSSL è uno dei più attaccati pezzi di software perché è un target di alto valore:

  • La stessa libreria viene utilizzata in molti server di molti tipi (HTTPS, SMTP, IMAP, ...) quindi qualsiasi vulnerabilità ha un ampio potenziale intervallo di applicabilità.

  • Le persone pensano che SSL sia "altamente sensibile", quindi i diritti di vanteria associati sono enormi. Tecnicamente, quando si utilizza SSL, è per proteggere alcuni dati sensibili che è il vero bersaglio dell'attaccante; un utente malintenzionato che ruba la chiave privata di un server non è responsabile della chiave, ma desidera eseguire un server falso in modo da ottenere i numeri di carta di credito degli utenti. SSL e le sue chiavi sono solo strumenti di abilitazione. Tuttavia, le chiavi private sono trofei fantastici; gli attaccanti geek possono guadagnare molta fama tra i loro pari facendo fiorire una chiave privata RSA rubata, avvicinandoli allo status di maschio alfa.

Una conseguenza è che OpenSSL è in realtà una delle parti più sicure del software, perché quando vengono rilevate vulnerabilità vengono ampiamente pubblicizzate e, dal momento che esistono così tanti sistemi che utilizzano OpenSSL, rischiano di gli attaccanti applicano l'exploit al tuo server prima di installare la relativa patch di sicurezza sono molto bassi.

La sicurezza del software pratico è una corsa tra la scoperta delle vulnerabilità e il loro fissaggio. Utilizzando una libreria con una base di utenti molto ampia e una cronologia delle patch reattive efficienti (supportata dallo stato opensource di OpenSSL), garantisce immunità della mandria . Funziona molto bene!

Quindi non preoccuparti di OpenSSL. In effetti, usalo. Ciò che conta davvero è che le correzioni di sicurezza siano applicate immediatamente, che è un problema di amministratore di sistema. (D'altro canto, l'uso di OpenSSL in sistemi embedded come i router domestici, il cui software non è mai aggiornato realmente, è probabilmente un'idea non-così-buona, per gli stessi motivi.)

    
risposta data 11.07.2014 - 15:55
fonte

Leggi altre domande sui tag