Realtime Blackhole List (RBL) - qmail-dnsbl

17 dicembre 2013 Roberto Puzzanghera0 commenti

Questa patch sostituisce il programma rblsmtpd dell'autore dello stesso qmail, Daniel Bernstein. Essa incorpora la parte riguardante il controllo nelle Block List all'interno di qmail-smtpd con il vantaggio che si può vedere l'envelope dalla lettura del log. Registrare l'envelope accanto all'IP bannato è importante per poter risalire sempre a che fine hanno fatto i messaggi non ricevuti e poter così dare risposte certe ai nostri utenti.

Un'altra miglioria di questa patch rispetto al vecchio rblsmtpd  è che gli utenti che si autenticano per inviare la posta da remoto con un IP dinamiconon vengono bannati e quindi possiamo ora attivare il filtro anche sulla porta 587.

Per attivare il check rbl è sufficnete aggiungere le liste favorite nel control file dnsbllist  (uno per riga) come segue:

cat > /var/qmail/control/dnsbllist << __EOF__
zen.spamhaus.org
bl.spamcop.net
__EOF__

Ora riavviamo qmail e controlliamo che le liste scelte siano attive:

> qmailctl restart
> qmail-showctl |grep dnsbl
dnsbllist: 
List at zen.spamhaus.org configured for dnsbl check.
List at bl.spamcop.net configured for dnsbl check.

Migliorie rispetto alla patch qmail-dnsbl originale

  • il file di default control/dnsbllist può essere sovrascritto con la variabile di ambiente DNSBLLIST
  • se la variabile di ambiente DNSBLSKIP è impostata, qmail-smtpd evita il controllo RBL
  • se control/dnsblfailclosed o DNSBLFAILCLOSED sono state definite, qmail-smtpd considera l'ip remoto come blacklistato anche in caso di lookup failures (controllare il man di rblsmtpd per maggiori dettagli)
  • supporto per la variabile di ambiente RBLSMTPD (leggere il man di rblsmtpd per maggiori dettagli)
  • dnsbllist può contenere linee vuote e commenti con '#' all'inizio o alla fine della riga; gli spazi vuoti iniziali o finali sono rimossi automaticamente

Esempi

Chiama rbl per un record TXT, restituendo il codice 451: "451 http://www.spamhaus.org/query/bl?ip=30.50.20.3"

zen.spamhaus.org

Chiama rbl per un record TXT, restituendo il codice 553: "553 http://www.spamhaus.org/query/bl?ip=30.50.20.3"

-zen.spamhaus.org

Chiama rbl per un record A, personalizzando il messaggio restituiro con un codice 451: "451 Message rejected"

zen.spamhaus.org:Message rejected

 Chiama rbl per un record A, personalizzando il messaggio di ritorno con codice 553: "553 Message rejected", the following syntaxes are allowed:

-zen.spamhaus.org:Message rejected
zen.spamhaus.org:-Message rejected
-zen.spamhaus.org:-Message rejected

Chiama rbl per un recor A, personalizzando il messaggio di ritorno con la variabile IP, rimpiazzata con l'IP remoto:

zen.spamhaus.org:Message blocked from %IP%

dns whitelist A query:

+white.dnsbl.local:Whitelist test
+white.dnsbl.local

La seguente sintasi non è ammessa:

zen.spamhaus.org:
zen.spamhaus.org:-

Come evitare di essere bannati dalle RBL lists

Alla fine di questa guida mostrerò come settare fail2ban al fine di respingere IP sospetti anche per diminuire il numero di richieste alle liste RBL, evitando così di essere bannati a nostra volta da queste.

In alternativa, potete dare una occhiata a questa soluzione molto brillante che mi ha inviato Costel Balta, che persegue lo stesso obiettivo facendo però uso di shorewall, ipsets e swatch.

Controllare la reputazione del proprio IP

Quando compri un indirizzo IP, come sai non è nuovo e erediti la sua reputazione. Quindi la prima cosa che dovresti fare è verificare se è listato in qualche RBL qui: http://multirbl.valli.org o https://mxtoolbox.com/SuperTool.aspx

Aggiungi un commento