Che cos’è l’autenticazione SMTP? E-Mail sicure contro lo spam

Per inviare lettere di minaccia o pubblicità indesiderate per posta senza dover temere conseguenze, basta scrivere sulla busta un mittente errato. Lo stesso concetto vale anche per le e-mail. A quanto pare, secondo uno studio di Kaspersky Lab, il 58,31% di tutte le e-mail a livello mondiale sono messaggi di spam, un valore che è aumentato tra il 2015 e il 2016 di circa 3 punti percentuali.

La maggior parte degli “attacchi” proviene da computer e server infettati da malware, che finiscono presto sulle liste nere dei grandi fornitori come distributori di spam, non utilizzati per lo scopo cui sono destinati. L’autenticazione SMTP riduce al minimo il rischio che questa cosa possa accadere a voi.

Che cos’è l’autenticazione SMTP?

L’SMTP authentication, spesso abbreviata in SMTP-Auth o ASMTP, è un’estensione dell’Extended SMTP (ESMTP), a sua volta estensione del protocollo di rete SMTP. Essa consente a un client SMTP (cioè a un mittente di posta elettronica) di accedere a un server SMTP (cioè a un provider di posta elettronica) utilizzando un meccanismo di autenticazione. In questo modo solo gli utenti fidati possono inviare e-mail in rete e inoltrarle attraverso il server. I dati di log possono anche essere utilizzati per determinare chi abbia utilizzato il server come mail relay.

Perché esiste SMTP-Auth?

Lo scopo di SMTP-Auth è quello di impedire che un server SMTP venga usato impropriamente come “open mail relay” per distribuire spam nella rete. La necessità di questa procedura è dovuta alle caratteristiche intrinseche dell’SMTP originale del 1982, che non prevedeva di default l’autenticazione dell’utente. Pertanto i mail relay aperti, ovvero server di posta che inoltrano qualsiasi e-mail indipendentemente dall’indirizzo del mittente e del destinatario, sono stati la norma fino a circa il 1997. Ciò che pare assurdo dal punto di vista odierno aveva però allora le sue buone ragioni: gli errori di sistema e i guasti del server si sono verificati più frequentemente, motivo per cui i mail relay aperti dovrebbero salvaguardare il traffico in caso di emergenza.

Tuttavia, l’utilizzo diffuso di tali relay non protetti ha creato il problema dello spam. Pubblicitari moralmente discutibili, nonché pirati del web (soprattutto il famigerato “spam king” Sanford “Spamford” Wallace con la sua azienda Cyberpromo) hanno utilizzato i server aperti con indirizzi e-mail rubati o inventati per spargere spam (una pratica chiamata “mail spoofing”).

Poiché all’epoca i server non disponevano di meccanismi di autenticazione aggiuntivi, accettavano senza esitazione le e-mail di spam e ne riempivano la rete. Utilizzando hardware esterni, gli spammer hanno anche risparmiato risorse proprie e non è stato possibile rintracciarli. Inoltre il costante cambio degli indirizzi fake ha permesso di aggirare i filtri antispam. Per risolvere il problema dei mail relay aperti sono state sviluppate diverse contromisure: prima SMTP After-POP, poi ESMTP e ASMTP nel 1995. Queste misure hanno avuto successo: nel biennio 2005/2006 il numero di mail relay aperti si è ridotto da diverse centinaia di migliaia a un numero molto ridotto.

Anche se la situazione attuale non è più critica come allora, secondo l’organizzazione no profit Spamhaus, gli spammer trovano nella rete ancora 10-20 nuovi server aperti al giorno. A volte sono il risultato dell’incuria di amministratori inesperti che aprono temporaneamente i propri server a scopo di test. Tuttavia, secondo Spamhaus, il problema è più spesso causato da firewall e applicazioni di sicurezza esterna mal configurati o “craccati”. Perciò il problema non risiede necessariamente nella configurazione stessa del server, come invece spesso accade nelle piccole aziende regionali.

Se un’applicazione lascia passare un’e-mail di spam, essa viene inoltrata al server tramite una connessione SMTP locale con l’indirizzo IP dell’applicazione in questione, che la considera affidabile. Inoltre, sempre più spammer utilizzano botnet, computer di casa “zombificati” come relay.

Oggi i mail relay aperti strumentalizzati per lo spam vengono solitamente identificati come tali entro pochi giorni o addirittura ore e vengono immediatamente inseriti nelle cosiddette blacklist. Di conseguenza anche le e-mail legittime finiscono nel filtro antispam del destinatario, cosicché l’operatore di un server di posta deve prima occuparsi di colmare la lacuna di sicurezza e poi della cancellazione dalla lista per poter di nuovo operare normalmente. Le aziende non solo generano un elevato traffico attraverso gli spammer a discapito della velocità dell’hardware, ma ricevono anche un danno di immagine oltre al costo del tempo impiegato per risolvere la situazione.

Proprio per questo motivo quasi tutti i server di posta elettronica utilizzano oggi ESMTP in connessione con ASMTP. Pertanto richiedono sempre l’autenticazione prima di utilizzare il loro servizio di posta elettronica. Un relay SMTP configurato in modo ottimale (chiamato anche “Smart Host”) è un server che inoltra le e-mail dai mittenti a terzi solo se è responsabile per entrambe le parti. Detto in parole più semplici, le e-mail in entrata vanno solo agli utenti registrati, mentre le e-mail in uscita provengono solo da utenti registrati o da coloro che sono autorizzati a utilizzare il server di posta.

Come funziona ASMTP?

Una caratteristica essenziale di ASMTP è che le e-mail sono accettate tramite la porta 587/TCP (la porta SMTP-Auth) invece della tradizionale porta 25/TCP, la base obbligatoria per l’ESMTP. Il protocollo contiene essenzialmente una selezione di meccanismi di autenticazione con diversi livelli di sicurezza che un server SMTP può utilizzare, a seconda della sua configurazione, per verificare l’attendibilità di un client SMTP.

Questi includono, tra gli altri:

  • PLAIN: un’autenticazione che utilizza il nome utente e la password del client. Entrambi sono trasmessi in chiaro e codificati nel set di caratteri Base64.
  • LOGIN: funziona come PLAIN, ma i codici Base64 per nome utente e password sono trasmessi in due passi anziché in uno.
  • CRAM-MD5: un’alternativa a PLAIN e LOGIN con un livello di sicurezza più elevato secondo il principio “challenge-response”. Poiché gli spammer possono decodificare i dati di accesso personale di un utente in modo relativamente veloce dal codice Base64, la password con questo procedimento non viene trasmessa al server in testo normale né in codice. Invece il server dà al client una sorta di problema aritmetico che può essere risolto solo con la password. Questo compito cambia a ogni login, in modo che gli spammer non possano abusare dei dati delle precedenti connessioni al server.
  • Altri meccanismi offerti sono GSSAPI, DIGEST-MD5, MD5, OAUTH10A, OAUTHEBEARER, SCRAM-SHA-1 e NTLM.

Ecco un esempio di autenticazione tramite LOGIN:

Lato Comandi e codici di stato ESMTP Spiegazione
Server: 220 smtp.server.com ESMTP Postfix Una volta stabilita la connessione, il server SMTP risponde.
Client: EHLO relay.client.com Il client SMTP effettua l’accesso con il proprio nome host e interroga il supporto ESMTP del server tramite il comando “EHLO”.
Server: 250-smtp.server.com Buongiorno250 AUTH CRAM-MD5 LOGIN PLAIN Il server conferma il login e quindi anche il supporto ESMTP (se non lo fa, continua con “HELO” grazie alla retrocompatibilità di SMTP). In seguito il server offre al client una scelta di meccanismi di autenticazione.
Client: AUTH LOGIN Il client seleziona il meccanismo di autenticazione LOGIN.
Server: 334 VXNlcm5hbWU6 Il server chiede il nome utente del mittente con il codice Base64 (“username:”).
Client: TWF4IE11c3Rlcm1hbm4= Il client risponde nel codice Base 64 con “Maria Lupi”.
Server: 334 UGFzc3dvcmQ6 Il server chiede tramite il codice Base64 la “password:” del mittente.
Client: SWNoYmlua2VpblNwYW1tZXI= Il client risponde con il codice Base64 per la password. In questo esempio, si tratta di “Nonsonounospammer”.
Server: 235 OK Il server conferma l’autenticazione. Inizia la trasmissione dell’e-mail secondo lo standard SMTP.

Come si configura l’autenticazione SMTP?

In alcuni client di posta (come Mozilla Thunderbird), l’autenticazione SMTP è configurata automaticamente quando si crea un nuovo account. Se così non fosse, potrebbe essere necessario un intervento manuale.

Su Thunderbird procedere come segue:

  1. Aprite il menu di contesto con il tasto destro del mouse sul vostro account e-mail e cliccate su “Impostazioni”.
  2. Selezionate il vostro server di posta alla voce “Server di posta in uscita (SMTP)” e cliccate su “Modifica”.
  3. Attivate l’opzione “Usa nome utente e password” e inserite il vostro indirizzo e-mail.
  4. Confermate le impostazioni con “OK”.

Inoltre qui di seguito segue un tutorial per Outlook:

  1. Cliccate nel menu file su “Impostazioni account”.
  2. Scegliete il vostro account e cliccate su “Modifica”.
  3. Cliccate nella finestra che si apre su “Altre impostazioni”.
  4. Andate alla scheda server di posta in uscita e selezionate l’opzione “Server di posta in uscita (SMTP) richiede l’autentificazione”.
  5. Contrassegnate la voce “Utilizzare le stesse impostazioni del server di posta in entrata”.
  6. Confermate con “OK” e la finestra si chiuderà.
  7. Cliccate su “Avanti”. Outlook controllerà ora le impostazioni del nuovo account. Una volta completato il test, cliccate su “Chiudi”.
  8. Cliccate su “Fine” e poi su “Chiudi”.

Come testare SMTP-Auth?

Per verificare se un server di posta è un relay aperto o se SMTP-Auth funziona correttamente (ad esempio, se si imposta il proprio server di posta), si può utilizzare il client Telnet. Esso viene utilizzato anche da alcuni spammer per localizzare manualmente i mail relay aperti. SMTP e ESMTP sono protocolli puramente testuali, per questo motivo è possibile avviare ed eseguire una sessione client-server anche manualmente. Avete bisogno soltanto del vostro nome utente e della password nel codice Base64, che potete ottenere da siti web come base64encode.net.

Consiglio

Il client Telnet è disponibile su tutti i comuni sistemi operativi e può essere chiamato di default con il termine “telnet”. Nelle versioni di Windows a partire da Vista, il client deve prima essere installato o attivato nel pannello di controllo.

Il test di autenticazione SMTP viene eseguito in questo modo:

  1. Provate a connettervi al server SMTP tramite la porta 25/TCP usando il comando “telnet.smtp.esempio.com” (sostituite “stmtp.esempio.com” con il dominio del vostro server di posta).
  2. Il server dovrebbe rispondere con il codice di stato “220 smtp.esempio.com ESMTP Postfix” e avviare la sessione.
  3. Salutate il server con “EHLO smtp.esempio.com”.
  4. Il server offrirà una selezione di meccanismi di autenticazione come mostrato nell’esempio precedente. Ad esempio, selezionate LOGIN inserendo il comando “AUTH LOGIN”.
  5. Ora inizia il vero e proprio test: dopo i comandi “MAIL FROM” e “RCPT TO” inserite un mittente e un indirizzo di destinatario immaginari, non esistenti. Se il server risponde con un messaggio di errore, ASMTP è configurato correttamente e il server non è quindi un open mail relay. Se invece conferma entrambi i comandi con “250 OK”, vuol dire che bisogna apportare dei miglioramenti.

In alternativa è possibile eseguire il test di autenticazione SMTP utilizzando strumenti esterni come MxToolbox, Inc.. Esso offre anche una selezione di blacklist a cui potete dare un’occhiata in caso di dubbi.


Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.