Come far uscire il server di Posta dalla Blacklist di Microsoft

Stella inattivaStella inattivaStella inattivaStella inattivaStella inattiva
 

I sistemi Antispam

Come Uscire dalla Blacklist di MicrosoftUno dei maggiori problemi che affronta ogni giorno quasi ogni Utente di Internet è lo SPAM, ovvero la Posta non Desiderata che intasa la propria casella di posta elettronica.

Nel tempo sono nati diversi sistemi Antispam, alcuni integrati nel "Client di Posta" (es. Mozilla Thunderbird integra l'ottimo SpamAssassin) altri integrati direttamente nei Server di Posta (lo stesso SpamAssassin), ma per una maggiore protezione e per cercare di limitare al massimo questo "flagello" sono stati ideati altri metodi più sofisticati che lavorano direttamente al livello di server:

  • DNSBL: E' una lista di IP che Spammano, gestita da diversi server che mantengono aggiornati questi IP con varie regole (Vedi: DNSBL Database); Il sistema Antispam interroga uno o più questi server e se l'IP è presente significa che è in precedenza è stato segnalato. A quel punto è il sistema Antispam a decidere come comportarsi, cioè se bloccare del tutto la Mail oppure indicarla come SPAM (a seconda della configurazione può essere spostata nella casella "Spam" oppure aggiunto il testo "****SPAM****" nell'oggetto della Mail;

  • DMARC: un sistema di validazione dei messaggi, con una complessa configurazione che riguarda sia il server di Posta che i DNS del dominio; è composto da:
    • SPF: un semplice sistema di validazione delle email basato su una informazione inserita nel record TXT dei DNS del dominio;

    • DKIM: un complesso sistema di validazione tramite firma digitale con una chiave pubblica inserita in un apposito record TXT dei DNS del dominio e una chiave privata inviata inserita dal server di posta in uscita in ogni email.

 

Implementiamo un primo livello di Validazione: SPF

Nota: Per seguire le indicazioni seguenti occorre avere accesso ai DNS del dominio; se state seguendo questa guida e avrete certamente un Server VPS o Dedicato e quindi questo tipo di accesso. In caso di dubbi chiedete al vostro Hosting.

Inserimento Record TXT per SPFOggi i server di posta non inseriscono più l'IP reale dell'utente ma solo l'IP del server che invia, altrimenti un utente normale, dotato quindi di una comune connessione con IP dinamico, potrebbe avere problemi ad inviare le email perché se, ad esempio, il suo attuale IP il giorno prima era stato usato da uno Spammer, oggi sarebbe presente nelle liste DNSBL e di conseguenza impossibilitato ad inviare la posta. Ovviamente un server di posta ha un IP statico.

Normalmente per un server di posta, per lavorare correttamente, è sufficiente non essere presente nella lista DNSBL.

E' però raccomandato fare almeno un'altra cosa ovvero aggiungere il record SPF nei DNS del dominio, cioè inserire una stringa di questo tipo

v=spf1 a mx ip4:xxx.yyy.jjj.kkk ~all

dove ovviamente occorre sostituire xxx.yyy.jjj.kkk con l'IP V4 del vostro Server di posta.

Una volta confermata la modifica occorre aspettare alcuni minuti o, a volte, alcune ore per vederla effettiva, a causa del tempo necessario alla propagazione dei DNS. E' possibile però verificare se se la propagazione è stata recepita dai nostri "DNS di Navigazione" usando il seguente comando da Terminale:

nslookup -query=txt dominio.tld

 Se compare come risposta la stringa che avete inserito nel record TXT la propagazione è stata completata (almeno per i DNS che state usando per navigare).

 Questa impostazione, che va fatta per ogni dominio presente sul nostro server, generalmente permette al server di posta di inviare email alla maggior parte dei server mondiali.

 

I server di posta più rigorosi

Esistono però dei server schizzinosi più rigorosi a cui non basta che l'IP del nostro server non sia presente nelle liste DNSBL e che abbia il record TXT SPF correttamente impostato per ogni dominio; un esempio sono i server di posta di Microsoft per gli indirizzi @msn.*, @hotmail.* e @outlook.* (l'asterisco sta ad indicare sia il tld .com e i vari tld nazionali come .it, .fr, .de etc.) che richiedono una autenticazione DMARC completa, quindi non solo SPF ma anche DKIM.

E' probabile che all'inizio la posta inviata dal nostro server venga regolarmente consegnata anche senza i sistemi di validazione SPF e DKIM, ai server Microsoft. Il problema nasce se uno o più messaggi di posta, provenienti dal nostro server, vengono segnalati come SPAM da un utente o da qualche sistema automatico. A quel punto, non essendoci i sistemi di validazione le email ritornano indietro con oggetto "Undelivered Mail Returned to Sender" e un contenuto simile a questo:

<Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.>: host mx4.hotmail.com[IP Server Microsoft] said: 550 SC-001
   (SNT004-MC9F2) Unfortunately, messages from [IP Nostro Server] weren't sent.
   Please contact your Internet service provider since part of their network
   is on our block list. You can also refer your provider to
   http://mail.live.com/mail/troubleshooting.aspx#errors. (in reply to MAIL
   FROM command)

Collegandoci a quell'indirizzo troviamo diverse istruzioni e suggerimenti, tra cui, oltre ad usare una corretta impostazione del sistema di validazione SPF e DKIM, si viene invitati a registrarsi ai sistemi gratuiti SNDS (per vedere lo stato dell'IP del nostro server) e JMRP (per ricevere eventuali notifiche di segnalazione SPAM). Fatto questo si può richiedere la mitigazione, ovvero l'uscita dalla Blacklist.

 

Implementiamo la Validazione DKIM

A questo punta manca la validazione DKIM; occorre accedere al server di Posta (quindi se non avete un vostro Server VPS o Dedicato non potete seguire queste indicazioni). Le istruzioni che posso dare sono relative alla piattaforma di gestione del Server chiamata Plesk Onyx in versione 17.5, ma può adattarsi anche ad altre versioni e in linea di massima ad altri sistemi (es. CPanel) anche se con differenti termini e passaggi.

Preciso che nel mio caso, pur avendo nel Plesk una gestione dei DNS, questi non sono quelli che vengono usati e propagati, ma devo andare in un apposito pannello del mio hosting. La gestione dei DNS del Plesk è comunque utile per estrarre le stringhe con la firma digitale da riportare poi nel vero pannello DNS. Con altre soluzioni o altri Hosting potrebbe essere tutto più semplice (o forse più complesso!).

 

Primo Step: Configurazione globale del Server

Attivare DMARC sul PleskLa prima cosa da fare è andare in Strumenti e Impostazioni -> Impostazioni del server di Posta. Nella scheda Impostazioni identificare la voce DMARC e quindi mettere un segno di spunta a "Enable DMARC to check incoming mail"; poco più sotto la voce Protezione spam DKIM mettere il segno di spunta su "Consentire la firma della posta in uscita" e in "Verificare la posta in arrivo"; continuando poco più sotto in Protezione antispam SPF mettere il segno di spunta a "Attiva la protezione antispam SPF per controllare la posta in arrivo" (alcune di queste opzioni sono già attive come viene attivata la prima opzione).

 

Secondo Step: Configurazione per ciascun dominio

Attivare DKIM sul Dominio 1Fatta questa operazione occorre attivare l'opzione che permette l'invio della firma privata con ogni email. Questa impostazione va fatta per ciascun dominio e quindi per ciascun dominio vanno anche estratti, dalla gestione DNS interna del Plesk, i record TXT con la firma pubblica. Entriamo quindi nella gestione di un Dominio e clicchiamo per prima cosa sulla voce "Impostazioni di Posta".

Se dobbiamo lavorare su tanti domini, per velocizzare consiglio di fare click con il destro e usare l'opzione "Apri in una nuova scheda" in modo da ottimizzare i tempi, perché dopo aver dato OK, non ci riporta alla pagina precedente, ma così facendo dopo la conferma possiamo semplicemente chiudere la scheda.

Nella finestra "Impostazioni di Posta" occorre mettere un segno di spunta sulla voce "Usa il sistema di protezione spam DKIM per firmare i messaggi di posta elettronica in uscita".

Attivare DKIM sul Dominio 2

Consiglio inoltre di attivare anche l'opzione poco più sotto: "Attivare la protezione spam di greylisting per tutti gli account di posta sotto questo dominio"; non centra molto con la configurazione DKIM ma permette di ridurre lo spam in entrata, bloccando temporaneamente gli indirizzi email che per prima volta che arrivano sul nostro server, segnalando un errore. Se quelle email vengono inviati da un server normale, verrà ripetuto l'invio, in caso contrario, cioè si tratta di uno Spammer, che invia migliaia o milioni di email per volta, certamente non si preoccuperà di ripetere l'invio. 

Attivare DKIM sul Dominio 3Cliccate su OK (chiudete la scheda se avete seguito il precedente suggerimento) e cliccate ora su "Impostazione DNS". In questa pagina dobbiamo estrarre alcuni dati dei record TXT dei DNS, la chiave pubblica (sempre differente) e altri dati sempre uguali; occorre fare attenzione quando si fa copia e incolla di questi dati, in particolare per il valore della Chiave Pubblica... è una stringa che sta su un unica riga, anche se apparentemente va a capo (come nella figura).

 I record sono i seguenti: 

Prefisso Tipo di Record  Valore 
 _dmarc.dominio.tld TXT  v=DMARC1; p=none   
 default._domainkey.dominio.tld   TXT Chiave Pubblica 
_domainkey.dominio.tld TXT o=-

 

Terzo Step: Inserimento dei Record TXT nei DNS del dominio

Inserimento DNS CompletoEntriamo ora nella gestione dei DNS del dominio del nostro Hosting e inseriamo, per ogni dominio, i 3 record di tipo TXT. Si precisa che la stringa della chiave pubblica è diversa per ogni dominio. Alla fine otterremo, oltre ai normali DNS, in tutto 4 record TXT (compreso quello SPF) come indicato nell'immagine.

Una volta che avete inserito i nuovi record TXT per ogni dominio, come è avvenuto per il record SPF, occorre attendere che siano propagati. La verifica è analoga a quella fatta prima, ad esempio:

nslookup -query=txt default._domainkey.nomedominio.tld

Se la modifica ai DNS si è propagata, dovreste ricevere una risposta con la chiave pubblica inserita. Ovviamente se sostituite a "default._domainkey" "_dmarc" otterrete il valore inserito per DMARC.

 

Il Test preliminare

Mail Tester 10/10
Fatte tutte queste operazioni, prima di chiedere la mitigazione a Microsoft è opportuno fare una verifica con questo sito: www.mail-tester.com. Se non ottenere un punteggio 10/10 provate a verificare cosa non va (è ben indicato, anche se occorre conoscere i termini e le procedure). Attenzione... il servizio gratuito permette massimo 3 invii al giorno. E' probabile però che, se avete appena fatto le modifiche ai DNS, vi segnali ancora un errore, perché la propagazione ufficiale e completa dei DNS richiede a volte fino a 48 ore. Nel caso riprovate il giorno dopo.

Un piccolo suggerimento: per i test non usate i termini "Test", "Prova" o simili, sia nell'oggetto che nel corpo della mail, perché tende a riconoscerli come Spam. inventatevi una oggetto e un testo tipo "Il cellulare è scarico" o "Il tablet era scarico e l'ho messo in carica".

Pixel per separazione
 

La richiesta a Microsoft

Ora è arrivato il momento di chiedere a Microsoft la mitigazione del proprio indirizzo IP (cliccare sulla voce "Supporto per il recapito Outlook.com" in questa pagina: mail.live.com/mail/policies.aspx).

A dire il vero, dopo aver fatto tutto regolarmente, Microsoft ha rifiutato in un primo momento la mitigazione, inviando una mail con un codice realtivo al ticket aperto, probabilmente un sistema automatico; Ho quindi risposto al Ticket, inserendo maggiori informazioni, specificando di aver inserito SPF e DKIM e mi hanno risposto che la mia richiesta veniva analizzata. Nel giro di poche ore, una nuova risposta mi avvisava che avevano accettato la mitigazione (quindi l'uscita dalla Blacklist) e che nel giro di 24/48 ore il tutto sarebbe risolto, e così è stato: finalmente il mio server poteva inviare di nuovo le mail ai server Microsoft.

 

Curiosità

Curiosità: Sapete da dove deriva il termina SPAM? E' il nome di una marca di Carne in Scatola molto diffusa e dal celebre sketch dei Monty Python; ecco il link Scenetta Monty Python Spam su Youtube.