✉ Email deliverability

PTR, DNS inverso e HELO: i requisiti di un server di posta proprio

Cosa controllano i destinatari su un server di posta autogestito: record PTR, corrispondenza diretta e inversa, nome HELO, TLS e IP adatti all'invio.

Chi invia posta tramite una piattaforma esterna raramente deve preoccuparsi dell'identità del server: se ne occupa il fornitore. Chi invece gestisce un proprio server di posta, per un'azienda, un'applicazione o un progetto personale, deve curare alcuni dettagli che i destinatari controllano prima ancora di guardare SPF, DKIM o il contenuto. Sono controlli vecchi, semplici, e proprio per questo applicati da quasi tutti.

Il record PTR e il DNS inverso

Il DNS normale traduce un nome in un indirizzo: mail.example.com diventa 198.51.100.20. Il DNS inverso fa il contrario: dato l'indirizzo, restituisce un nome. Questa associazione è un record PTR, e la sua particolarità è che non lo gestisce il proprietario del dominio, ma chi possiede il blocco di indirizzi IP: il fornitore di connettività, l'hosting o il cloud.

Si verifica così:

dig +short -x 198.51.100.20
mail.example.com.

Un server che invia posta senza PTR, o con un PTR generico come quelli assegnati automaticamente dai fornitori, che contengono l'IP stesso e parole come «dynamic» o «pool», viene trattato con sospetto. Molti destinatari rifiutano direttamente la connessione, e alcuni grandi provider indicano il PTR valido tra i requisiti per tutti i mittenti.

Corrispondenza diretta e inversa

Non basta che il PTR esista. Il nome restituito deve a sua volta risolvere nello stesso indirizzo:

Controllo Esempio Esito
IP → nome (PTR) 198.51.100.20 → mail.example.com presente
nome → IP (A) mail.example.com → 198.51.100.20 coincide

Quando entrambe le direzioni coincidono si parla di DNS inverso confermato, spesso indicato con la sigla FCrDNS. È il controllo che i filtri applicano davvero. Per IPv6 vale lo stesso principio: ogni indirizzo IPv6 da cui il server invia deve avere un PTR e un record AAAA corrispondenti. Un server che invia via IPv6 senza averlo configurato è una causa frequente di rifiuti improvvisi, perché i provider tendono a essere più severi proprio su IPv6.

Il nome HELO o EHLO

All'inizio di ogni sessione SMTP il server mittente si presenta con il comando EHLO, seguito da un nome. Questo nome dovrebbe:

  1. essere un nome di dominio completo, non un nome interno come localhost o server01;
  2. risolvere nell'IP da cui parte la connessione;
  3. idealmente coincidere con il PTR dell'IP.

La configurazione più pulita è quella in cui PTR, nome HELO e record A raccontano la stessa storia: un IP, un nome, in entrambe le direzioni. Il nome scelto non deve coincidere con il dominio del From. Un server può inviare per molti domini diversi; conta che la sua identità tecnica sia coerente.

Altri controlli di base

TLS in uscita

I destinatari registrano se la connessione è cifrata, e alcuni pannelli per i mittenti mostrano la quota di traffico ricevuto tramite TLS. Il server deve offrire STARTTLS anche in uscita, con un certificato valido per il nome del server. È una configurazione ormai attesa da tutti.

Il tipo di IP

Gli indirizzi delle connessioni domestiche e di molti servizi a consumo non sono adatti all'invio diretto. Spesso sono inclusi in liste che segnalano gli IP residenziali, e molti fornitori bloccano in uscita la porta 25. In questi casi la soluzione corretta è inviare tramite un relay autenticato, cioè un servizio che riceve la posta dal tuo server e la consegna da IP con reputazione propria.

Anche nei cloud pubblici la porta 25 in uscita è spesso bloccata per impostazione predefinita e va richiesta esplicitamente; alcuni fornitori non la concedono affatto.

Postmaster e abuse

È buona pratica che il dominio del server abbia caselle postmaster e abuse funzionanti e lette. Sono gli indirizzi a cui altri amministratori scrivono quando qualcosa non va, e vengono usati anche da alcuni strumenti per verificare chi è responsabile di un IP.

Una lista di verifica

Prima di mettere in produzione un server di posta proprio conviene controllare:

  • PTR impostato dal fornitore su un nome significativo, per IPv4 e IPv6;
  • record A e AAAA del nome che puntano agli stessi indirizzi;
  • nome HELO uguale al PTR;
  • STARTTLS attivo con certificato valido;
  • porta 25 in uscita disponibile, oppure relay configurato;
  • IP non presenti nelle principali blacklist;
  • SPF, DKIM e DMARC configurati per ogni dominio servito;
  • caselle postmaster e abuse attive.

Nel mio lavoro trovo spesso server configurati con cura sul lato software ma con il PTR lasciato al valore predefinito del fornitore. È la correzione più rapida e una delle più efficaci.

In sintesi

  • Il PTR è gestito da chi possiede l'IP e deve puntare a un nome significativo.
  • Il nome del PTR deve risolvere nello stesso IP: è il DNS inverso confermato.
  • Il nome HELO deve essere un nome completo coerente con PTR e record A.
  • IPv6 richiede la stessa configurazione, spesso dimenticata.
  • Dagli IP residenziali o senza porta 25 si invia tramite un relay autenticato.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche