Configurazione di SURBL per qmail

17 maggio 2023 by Roberto Puzzanghera 0 commenti

Le SURBL sono liste di siti web che appaiono nel corpo della posta indesiderata. Diversamente dalla maggior parte delle liste non sono liste di indirizzi IP.

I siti web che appaiono nei messaggi di posta indesiderata tendono ad essere più stabili rispetto agli indirizzi IP in rapido cambiamento dei botnet che sono soliti inviare la maggior parte di questi messaggi. Le liste di IP come zen.spamhaus.org possono essere usate in un primo stadio di filtraggio per aiutare a identificare da circa l'80% al 90% dei messaggi di posta indesiderata. Le liste SURBL possono contribuire a eliminare il restante 75% della posta indesiderata in un successivo stadio di filtraggio. Usate insieme alle liste di IP (RBL), le SURBL risultano un metodo molto efficace per identificare fino al  95% della posta indesiderata.

Changelog

  • Sep 26, 2023
    -surblfilter logs the rejected URL in the qmail-smtpd log. It can now inspect both http and https URLs.
    -Improvements in man dkim.9, qmail-dkim.9 and surblfilter.9
  • May 17, 2023
    -Top level domains URL is changed. So you have to adjust the update_tlds.sh script accordingly


Il filtro SURBL è parte della patch DKIM di Manvendra Banghui ed è compresa nella mia patch combinata.

Per abilitare questo filtro è necessario esportare la variabile SURBL con un valore qualunque nel proprio run file e passare il programma alla variabile QMAILQUEUE di modo che sia sia eseguito prima del delivery:

export SURBL=1
export QMAILQUEUE=/var/qmail/bin/surblqueue
export SURBLQUEUE=/var/qmail/bin/simscan

In realtà il programma viene lanciato dal wrapper surblqueue, come si può notare. SURBLQUEUE farà in modo che il programma esegua simscan quando avrà finito. Se non si definisce SURBLQUEUE il programma eseguirà qmail-queue per fare il delivery.

NB: Ricordarsi di rimuovere eventualmente QMAILQUEUE dal tcp.smtp, viceversa questa istruzione andrà a sovrascrivere il run file.

La directory /var/qmail/control/cache deve avere i privilegi di scrittuta per l'utente con il quale viene lanciato qmail-smtpd, nel nostro caso vpopmail. Ho già impostato in questo senso la mia patch combinata.

surblfilter richiede due control file level2-tlds e level3-tlds in /var/qmail/control. Questi possono essere scaricati dal sito surbl.org agli indirizzi http://www.surbl.org/tld/three-level-tlds http://www.surbl.org/tld/two-level-tlds. Questi file non dovrebbero essere confusi con le liste SURBL, ma devono essere comunque aggiornati una volta circa ogni mese. Sarà quindi il caso di mettere a punto un cronjob che faccia allo scopo:

cat > /usr/local/bin/update_tlds.sh << __EOF__
#!/bin/bash
#

cd /var/qmail/control
/usr/bin/wget https://www.surbl.org/tld/three-level-tlds http://www.surbl.org/tld/two-level-tlds
mv two-level-tlds level2-tlds
mv three-level-tlds level3-tlds
__EOF__
chmod +x /usr/local/bin/update_tlds.sh

Settiamo ora il cronjob (il secondo pulisce giornalmente la cartella cache):

# surbl tlds update
2 2 23 * * /usr/local/bin/update_tlds.sh 1> /dev/null
# surbl cache purge
2 9 * * * find /var/qmail/control/cache/* -cmin +5 -exec /bin/rm -f {} \;

Eseguire surblfilter, qmail-dkim e simscan in cascata

Usando una combinazione tra QMAILQUEUE, SURBLQUEUE e DKIMQUEUE possiamo far sì che i tre programmi che ci interessano qui vengano eseguiti uno dopo l'altro:

export SURBL=1                                                  # Comment to disable SURBL filtering
export QMAILQUEUE=/var/qmail/bin/surblqueue # executes surblfilter
export SURBLQUEUE=/var/qmail/bin/qmail-dkim # executes qmail-dkim afer surblfilter
export DKIMQUEUE=/var/qmail/bin/simscan        # simscan is executed after qmail-dkim
export DKIMKEY=/var/qmail/control/domainkeys/%/default
# DKIM verification. Use carefully
export DKIMVERIFY="FGHKLMNOQRTVWp"
# This is to allow msg without "subject" in the h= list
export UNSIGNED_SUBJECT=1
# This is to avoid verification of outgoing messages
export RELAYCLIENT_NODKIMVERIFY=1

Test

Spedite a voi stessi un messaggio con un URL come http://surbl-org-permanent-test-point.com/ nel corpo. Dovrete vedere il filtro in azione all'interno del log file di qmail-smtpd log:

qmail-smtpd: message rejected (message contains an URL listed in SURBL blocklist): user@domain.xy from 123.45.67.89 to yourself@yourdomain.xy helo yourmailserver.xy

Aggiungi un commento

Ultimi commenti
Vedi anche...
Articoli recenti

RSS feeds