Quanto è sicuro l'autenticazione integrata di Windows per IIS SMTP?

5

Ho un server SMTP Windows che attualmente consente il metodo di autenticazione "AUTH LOGIN". Come ora so, questa è semplicemente una codifica base-64 del nome utente e della password, che è fondamentalmente male come testo normale, poiché gli spammer possono annusare la password in chiaro in transito.

Come soluzione rapida, l'Autenticazione Windows integrata (IWA) è disponibile per me. Credo che IWA usi l'autenticazione "AUTH NTLM". Questo è considerato "abbastanza sicuro"? Esistono vulnerabilità in natura che rendono "AUTH NTLM" una cattiva idea?

    
posta anon 02.04.2013 - 19:04
fonte

1 risposta

4

La cattiva idea non è l'uso di NTLM, ma la mancanza di utilizzo di SSL. Senza SSL, i dati viaggiano senza protezione e, in particolare, gli aggressori attivi possono dirottare la connessione (ad esempio subito dopo l'esecuzione dell'autenticazione). Nessuna quantità di NTLM la risolverà.

Per utilizzare SSL con STMP, ci sono due modi:

  • Esegue l'intera transazione SMTP in un server SSL. Il cliente deve essere consapevole, in anticipo, che è previsto che inizi la transazione con un handshake SSL. La porta tradizionale per un server STMP-in-SSL è 465.

  • Chiedi al client e al server di utilizzare STARTTLS . La connessione inizia con la porta "normale" (25), ma il client e il server negoziano quindi l'uso di SSL / TLS e, dopo tale negoziazione, iniziano un handshake SSL / TLS.

In entrambi i casi, è necessario configurare il client affinché non invii la password "come testo chiaro". La maggior parte dei client può essere configurata in questo modo.

Se si utilizza SSL / TLS , l'invio del nome utente + della password "così com'è" va bene. Se non si utilizza SSL / TLS, passare dall'autenticazione di base a NTLM può rallentare gli aggressori meno competenti, ma non credere che li farà davvero svanire. La crittografia in NTLM non vale esattamente un sacco di entusiasmo, ma il problema più grande con NTLM non elaborato su un socket non protetto è il come login raw + password su un socket non protetto: il socket non è protetto.

Rispetto all'autenticazione di base, NTLM non mostra la password stessa, quindi gli aggressori passivi solo non impareranno immediatamente la password; tuttavia, ottengono un hash della password, con una funzione hash molto veloce (alcuni MD4 e MD5, al massimo), il che significa che la forza bruta sulle password sarà efficace. Un attacker passivo con una buona GPU ha ancora buone probabilità di infrangere alcune password utente.

Un buon motivo per passare a NTLM è l'integrazione con altri metodi di autenticazione, ad es. Smart card. Ma se i tuoi utenti hanno password, l'autenticazione di base fa il trucco con meno problemi.

    
risposta data 02.04.2013 - 19:17
fonte

Leggi altre domande sui tag