User Tools

Site Tools


doc:appunti:linux:sa:spamass-milter

This is an old revision of the document!


spamass-milter

Come impostare un filtro SpamAssassin sulla posta in arrivo, con Postfix.

La posta viene filtrata sia quando è destinata agli utenti locali, sia quando ne viene fatto il relay. Nel primo caso vengono usate le preferenze Spamassassin dell'utente, nel secondo caso invece quelle dell'utente nobody oppure spamass-milter (non si è capito bene come mai: due comportamenti diversi su due server diversi).

Installazione e configurazione

Installare il pacchetto spamass-milter.

Il demone in esecuzione crea un socket /var/spool/postfix/spamass/spamass.sock che è raggiungibile da Postfix anche nel suo chroot.

Configurare il demone in /etc/default/spamass-milter mettendo:

#OPTIONS="-d func,misc -u spamass-milter -r 12"
#OPTIONS="-u spamass-milter -r 12"
OPTIONS="-r 12"

L'opzione -d attiva alcuni parametri di debug che si possono togliere una volta in produzione, l'opzione -r respingere il messaggio se totalizza un punteggio maggiore o uguale a 12, senza filtrarlo come fa normalmente SpamAssassin.

L'opzione -u serve a passare la local part del destinatario a spamc (usando il parametro -u), cioè a far girare Spamassassin con i privilegi e le impostazioni del destinatario. Se i destinatari sono più di uno viene passato l'utente spamass-milter. Ma nel nostro caso il destinatario non è necessariamente un utente locale, anzi in generale si tratta di mail di cui fare il relay; quindi preferiamo che il filtro spamass-milter giri con impostazioni system-wide piuttosto che user-wide. Togliendo l'opzione -u il milter chiamerà spamc sempre come utente spamass-milter utilizzando le preferenze in /var/lib/spamass-milter, vedere avanti su come creare la cartella con i permessi opportuni.

In /etc/postfix/main.cf si imposta:

# Mail filter: spamass-milter
#smtpd_milters = unix:/var/spool/postfix/spamass/spamass.sock
smtpd_milters = unix:/spamass/spamass.sock

Il messaggio di errore nel log:

spamass-milter[12260]: Could not retrieve sendmail macro "i"!.
    Please add it to confMILTER_MACROS_ENVFROM for better spamassassin results

non è importante. Servirebbe a spamass-milter per riscrivere gli header dei messaggi filtrati, vedere http://savannah.nongnu.org/support/?105310

Quando deve filtrare un messaggio spamass-milter passa a spamc l'utente da utilizzare, se ha problemi ad usare le preferenze nella home directory si ottiene l'errore:

spamd[1355]: spamd: failed to create readable default_prefs: /var/lib/spamass-milter/.spamassassin/user_prefs
spamd[353]: spamd: creating default_prefs: /var/lib/spamass-milter/.spamassassin/user_prefs

per risolvere basta creare la directory con gli opportuni permessi:

mkdir /var/lib/spamass-milter
chown spamass-milter:nogroup /var/lib/spamass-milter
doc/appunti/linux/sa/spamass-milter.1349947100.txt.gz · Last modified: 2012/10/11 11:18 by niccolo