Greylistd, un demone per gestire le greylist con Exim4

Greylistd e` un semplice demone che permette, interrogato da Exim via socket, di gestire il greylisting delle mail in arrivo. In Debian e` presente come pacchetto, e per installarlo e` sufficiente usare il comando

Se usate la configurazione standard debian di Exim, troverete una pagina di help che spiega cosa fare per attivarlo come ultimo passo della procedura di installazione. Se invece usate una configurazione personalizzata di Exim dovrete fare da soli. In questa pagina spiego come Greylistd interagisce con la configurazione di Exim che e` descritta qui: ../Exim4-Dovecot

Configurazione di Greylistd

La configurazione di Greylistd e` in /etc/greylistd/ ed e` semplice ma non totalmente documentata. Il file config contiene la configurazione minimale. Quella che sto usando io e` quella di default di Debian, con tre modifiche:

Modificata la configurazione, riavviare greylistd con il solito /etc/init.d/greylistd restart

NOTA BENE: Il file /etc/greylistd/whitelist-hosts non viene usato in questa configurazione.

Configurazione di Exim4

Se avete installato la configurazione che trovate in ../Exim4-Docevot allora non dovete fare altro che abilitare l'uso delle greylist come indicato in ../Exim4-Docevot.

Se state configurando il vostro Exim per i cavoli vostri, questo e` un esempio di ACL che usa greylistd, da mettere nella vostra configurazione di Exim, nel gruppo delle ACL che fanno il check dell' RCPT (acl_smtp_rcpt). Questa acl considera le subnet /24 e non i singoli host, per evitare di greylistare enne volte quelle mail che vengono da sistemi grandi che hanno piu` server smtp che ci contattano a rotazione per mandarci la stessa mail. E` ovvio che non e` una soluzione che funziona al 100%, ma e` meglio che niente.

Per evitare di avere ritardi mostruosi nelle email che vengono da sistemi che hanno centinaia di server SMTP (o per altri motivi) è possibile inserire degli indirizzi (anche con netmask) dentro al file definito nella variabile NOGREYLIST. Dentro questo file si possono inserire solo indirizzi ip (v4 e v6) con o senza una netmask; per esempio "192.168.0.0/24", uno per riga.

Se preferite considerare ogni host singolarmente e non accettare mail da tutta la /24 relativa, la acl diventa:

Gestione di greylistd

Potete "fare cose" a greylistd mentre gira con il comando greylist

Per esempio ecco alcuni comandi:

Script per aiutarsi a generare whitelist

Volendo, come descritto prima, inserire per esempio tutti gli host SMTP di Google o quelli di Office365 dentro il file NOGREYLIST, possiamo usare uno script come questo: https://github.com/equk/spf_list/

Trovate una copia degli script anche qui: spf_list-master.zip nel caso in cui quel repo un giorno venga cancellato. Lo script che ci interessa è spf_list.sh e possiamo usarlo per esempio come segue:

Consigli vari

Se avete piu` di un MX (avete un secondario) vi consiglio di mettere il secondario in whitelist sul primario in qualche modo in modo che il suo traffico verso il primario non sia greylistato, e inoltre DOVETE abilitare il greylisting, e in generale le stesse ACL antispam che adottate sul primario anche sul secondario. Se non lo fate, la mail che sarebbe stata bloccata vi arrivera` tutta lo stesso, a mezzo del vostro secondario che è più permissivo del primario.

LinuxDebian/GreyListd (last edited 2022-06-29 14:05:00 by Kurgan)