È buona norma o troppo draconiano rifiutare le e-mail dai server di posta senza RDNS


20

Di recente ho abbandonato SpamAssassin e ora sto basando il rifiuto dello spam su DNSRBL, lista grigia e altri test di base e mi chiedo se dovrei anche bloccare host che non hanno un RDNS valido corrispondente a EHLO?

Se lo faccio, creerò problemi per posta legittima e sconvolgerò i miei clienti? Ho sentito gente lamentarsi che AOL lo facesse, il che mi fa pensare che forse sia troppo raro per me farlo.

Mi chiedo anche se posso scendere a compromessi controllando che RDNS sia almeno impostato su qualcosa, ma non provi ad abbinarlo a EHLO. È possibile con Postfix (ed è utile)?


4
Sì, è comunemente fatto, anche se un numero molto piccolo di persone ha problemi con esso. Vedi Combattere lo spamming: cosa posso fare come amministratore della posta elettronica, proprietario del dominio o utente? per ulteriori discussioni.
Michael Hampton


Molte lune fa, la ricerca inversa su una nuova installazione di sendmail in Red Hat era l'impostazione predefinita ... Penso che rDNS, sebbene non sia uno standard formale per i server di posta, è praticamente lo standard defacto. Si rovina la gente su indirizzi IP dinamici (cioè case con connessioni ISP di livello consumer) ma una volta c'era, una volta, che la maggior parte di quegli IP dinamici con connessioni erano botnet ... non so ai giorni nostri.
Avery Payne,

Risposte:


10

Ho provato diversi approcci con il controllo HELO / EHLO con una base clienti di dimensioni abbastanza decenti tra 100k-200k utenti e ho finito con una soluzione che procede come segue:

  • Verificare che HELO / EHLO contenga un nome di dominio. - Questo per lo più si riduce a se il nome ha un punto. Il controllo del DNS sul nome ha portato a MOLTI server non riusciti poiché non è insolito che il server presenti un nome interno o qualcosa che non è possibile risolvere correttamente.
  • Verificare che l'IP abbia un record DNS inverso. - Ancora una volta questa è un'impostazione lassista poiché non la controlliamo con HELO / EHLO. Controllando con HELO / EHLO creato così tanti biglietti questa impostazione non è durata nemmeno un giorno.
  • Verifica che il nome del dominio dei mittenti sia valido. - Questo è un controllo di base per assicurarsi che se dobbiamo far rimbalzare il messaggio ci sarà almeno un modo per trovare un server per esso.

Ecco il blocco Postfix che usiamo per questi controlli:

smtpd_recipient_restrictions =
    reject_non_fqdn_sender,
    reject_unauth_destination,
    reject_unknown_reverse_client_hostname,
    reject_invalid_helo_hostname,
    reject_non_fqdn_helo_hostname,
    reject_unknown_sender_domain,
    reject_non_fqdn_recipient

1
Un altro buon approccio aggiuntivo è quello di verificare il nome host rispetto all'elenco di regex che corrisponde a vari nomi assegnati dinamicamente da ISP come xxxx.dynamic.yyy.como 12-34-56-78.dsl.zzz.com. Tutti questi host dovrebbero inviare la loro posta tramite l'inoltro dell'ISP e non direttamente al MX del destinatario. Principalmente tali host sono i nodi botnet e i loro messaggi che ho usato per imparare i miei bayes.
Kondybas,

Sembra che potrebbe essere la soluzione per me. C'è un modo per eseguire SpamAssassin e lasciarlo bypassare da tutti, ad eccezione di quelle mail che non sono riuscite ad abbinare HELO con RDNS, quindi rimbalziamo solo quelle sopra un certo punteggio? Altre e-mail continuano a ignorare completamente questo passaggio.
Peter Snow,

Con l'ex MTA l'ho fatto in questo modo, in sequenza: l'add / host del mittente viene verificato rispetto alla lista bianca. Se abbinato - accettato immediatamente, altrimenti viene verificato nella lista nera. Se abbinato - flag variabile sollevato "Gotcha!" e anche il messaggio è accettato. Se il messaggio è stato passato attraverso gli elenchi, viene passato alla SA che funge da demone. Se il valore restituito è abbastanza alto, contrassegna "Gotcha!" sollevato e anche il messaggio accettato. Quindi il messaggio è passato ai router.
Kondybas,

1
Se il flag non viene generato, il messaggio viene consegnato come al solito. Altrimenti viene prodotta una copia cieca. Il messaggio originale viene consegnato di nuovo come al solito, mentre BC viene passato allo speciale router che ha sa-learning come trasporto. Tale schema consente di dividere il flusso di posta nel ramo di spam sicuramente in grado di apprendere SA-bayes e di sospettare il resto verificato da SA-bayes. I messaggi con flag in
rilievo

Ho verificato queste regole sulla mia casella di posta e ci sono e-mail che sarebbero state respinte a causa di HELO non di dominio o della mancanza di un record DNS inverso. Ce ne sono davvero pochi (solo pochi mittenti in una cassetta postale con 40.000 e-mail), ma ci sono cose importanti lì. In particolare, se avessi usato reject_unknown_reverse_client_hostname, non sarebbe arrivata un'e-mail con i risultati della mia domanda di visto in un determinato paese del Sud-est asiatico. Sconsiglio di usare reject_invalid_helo_hostnamee reject_unknown_reverse_client_hostname.
Michau,

12

È estremamente comune bloccare i server SMTP che non hanno queste basi:

  1. Il nome host in avanti HELO si risolve in una connessione IP originata da.
  2. L'IP di origine delle connessioni si inverte al nome host rivendicato in HELO.
  3. Se esistono criteri SPF, DKIM o DMARC, verificare.

Chiunque si preoccupi di essere bloccato a causa di uno di questi dovrebbe essere asfaltato e piumato.
Le persone che finiscono per essere bloccate per altri motivi, in particolare situazioni che si basano sulla conformità RFC in situazioni "anormali", avrò simpatia per. Lo spam è un tale problema che però non ci sono scuse per perdere le basi.


2
Il nome di ricerca inversa non è necessario per corrispondere a HELO. L'host può operare in molti domini mentre la ricerca inversa restituisce solo un nome principale.
Kondybas,

1
Certo, puoi fare quello che vuoi. Il tuo server riceverà un messaggio 511 Your rDNS doesn't match your HELOdai miei server e molti altri. Lo spam è un grosso problema, che i progettisti dell'RFTP SMC non hanno dovuto affrontare. I requisiti realistici sono nettamente diversi dagli RFC in pochi modi.
Chris S,

Lo spam non è un problema quando MTA è configurato correttamente. La mia esperienza mostra che ( ORabbreviato rDNS con abbreviazioni di regex list locali ORabbinate abbinate) rileva il 99,99% di spam. Nessun DNSBL, nessun greylist, nessun DKIM, nessun SPF. 200k + messaggi in arrivo mensili. 1-2 false-p, 10-20 false-n al mese.
Kondybas,

5

Mi aspetto che l'invio di MTA abbia un RDNS valido ma insistere sulla corrispondenza di EHLO dipenderà da chi sono i "clienti". Puoi trovare alcune linee guida interessanti in RFC5321 :

2.3.5.

(...) Il nome di dominio fornito nel comando EHLO DEVE essere un nome host primario (un nome di dominio che si risolve in un indirizzo RR) o, se l'host non ha un nome, un indirizzo letterale (...)

4.1.4.

(...) Un server SMTP PU verify verificare che l'argomento del nome di dominio nel comando EHLO corrisponda effettivamente all'indirizzo IP del client. Tuttavia, se la verifica fallisce, il server NON DEVE rifiutare di accettare un messaggio su tale base.

ma poi in 7.9.

È un principio consolidato che un server SMTP può rifiutare di accettare la posta per qualsiasi motivo operativo o tecnico che abbia senso per il sito che fornisce il server. (...)


1
Ciò è probabilmente vietato perché la stringa inviata con EHLO, nel mondo reale, spesso non è conforme a RFC. Ho visto nomi host interni localhoste molte altre cose sbagliate inviate qui, anche con posta perfettamente legittima.
Michael Hampton

3

La ricerca inversa non indica necessariamente il nome host fornito in HELO. A volte più domini ospitati sullo stesso host e tutti hanno lo stesso indirizzo IP. Ma quando provi a fare la ricerca inversa, otterrai il nome che è stato inserito nel record PTR. È ovvio che entrambi i nomi di dominio completi saranno diversi - e questo è completamente accettabile.

L'unica circostanza che consente di eliminare il messaggio è la ricerca inversa non riuscita. Qualsiasi ricerca riuscita indica che l'host è valido. I nomi non dovrebbero corrispondere.


1
"È ovvio che entrambi i nomi di dominio completi saranno diversi - e questo è completamente accettabile." No. Puoi configurare un solo record PTR e il tuo server di posta può annunciare un solo nome host in HELO. Quindi dovrebbe essere ovvio che entrambi possono eguagliare.
Chris S,

2

Mi chiedo se dovrei anche bloccare host che non hanno un RDNS valido corrispondente a EHLO?

No, non dovresti. Blocca un'intera e-mail solo secondo un criterio, è una cattiva pratica.

Se lo faccio, creerò problemi per posta legittima e sconvolgerò i miei clienti?

più probabilmente lo fai e perderai la posta legittima

Mi chiedo anche se posso scendere a compromessi controllando che RDNS sia almeno impostato su qualcosa, ma non provi ad abbinarlo a EHLO. È possibile con Postfix (ed è utile)?

si possibile. Puoi usare reject_unknown_reverse_client_hostname invece di reject_unknown_client_hostname

Sfortunatamente, postfix non ha opzioni flessibili per "decisione complessa". In exim è possibile aggiungere alcuni punti per tali messaggi, ad es

Score = 0 
1. The HELO or EHLO hostname is not in fully-qualified domain or address literal form. Score +=10
2. The HELO or EHLO hostname has no DNS A or MX record. Score +=20
3. The HELO or EHLO hostname is listed with the A record "d.d.d.d" under rbl_domain. Score +=20
4. The sender domain has no DNS A or MX record. Score +=10
5. SPF checks return softfail. Score +=10, fail, Score +=20
...

E così via. Dopo aver completato tutti i controlli e se hai ottenuto un punteggio> 100, puoi rifiutare la posta. In realtà è possibile ottenere tale comportamento, ma è necessario scrivere il proprio servizio di politica

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.