User Tools

Site Tools


doc:appunti:linux:sa:spamass-milter

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:linux:sa:spamass-milter [2012/10/11 11:19] – [Installazione e configurazione] niccolodoc:appunti:linux:sa:spamass-milter [2021/02/12 15:51] – [Configurazione system-wide] niccolo
Line 7: Line 7:
 ===== Installazione e configurazione ===== ===== Installazione e configurazione =====
  
-Installare il pacchetto **spamass-milter**.+Su una **Debian 10 Buster**, 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.+Quando il demone **spamass-milter** è in esecuzione crea il socket **/var/spool/postfix/spamass/spamass.sock** che è raggiungibile da Postfix anche nel suo chroot.
  
-Configurare il demone in **''/etc/default/spamass-milter''** mettendo:+La configurazione predefinita è in **/etc/default/spamass-milter**:
  
 <file> <file>
-#OPTIONS="-d func,misc -u spamass-milter -r 12" +OPTIONS="-u spamass-milter -i 127.0.0.1"
-#OPTIONS="-u spamass-milter -r 12" +
-OPTIONS="-r 12"+
 </file> </file>
  
-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 12senza filtrarlo come fa normalmente SpamAssassin.+L'opzione **-i** indica di ignorare i messaggi da localhost (127.0.0.1). L'opzione **-u** viene invece usata solo per i messaggi con destinatari multipli; quando c'è **un solo destinatario** il milter ricava il **nome utente da passare spamc** dalla //local-part// del destinatario (cioè la parte che **precede** il simbolo **@**)se il messaggio ha **destinatari multipli** viene invece passato l'utente indicato da questa opzione.
  
-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.+**ATTENZIONE**: Questa configurazione va bene per i **messaggi in arrivo destinati ad utenti locali**, infatti consente di far girare **spamc** a nome dell'utente finale ed utilizzare le sue **preferenze** contenute in **$HOME/.spamassassin/**La stessa configurazione **non va bene per il relay** di messaggi, in quel caso infatti **non ha senso estrarre la local-part del destinatario**, che certamente non è un utente locale!
  
-In **''/etc/postfix/main.cf''** si imposta:+===== Configurazione system-wide ===== 
 + 
 +Se si desidera **filtrare con il milter i messaggi in uscita** è pertanto necessario chiamare **spamc** passando un generico utente di sistema, le preferenze impostate per quell'utente non saranno pertanto per-user, ma **system-wide**. 
 + 
 +In tal caso configurare il demone mettendo in **/etc/default/spamass-milter**:
  
 <file> <file>
-Mail filter: spamass-milter +#OPTIONS="-d func,misc -i 127.0.0.1 -r -1" 
-#smtpd_milters unix:/var/spool/postfix/spamass/spamass.sock +OPTIONS="-i 127.0.0.1 -r -1"
-smtpd_milters unix:/spamass/spamass.sock+
 </file> </file>
  
 +Per rileggere la configurazione è necessario un **systemctl restart spamass-milter.service**.
  
-Il messaggio di errore nel log non è grave:+L'opzione **''-d''** attiva alcuni parametri di debug che si possono togliere una volta in produzione, l'opzione **''-r''** associata al valore **''-1''** respingere il messaggio se la scansione di SpamAssassin dà esito positivo (il messaggio è SPAM), pertanto verranno applicate le impostazioni personali dell'utente a nome di cui viene invocato spamc. Altrimenti con il parametro **''-r''** si può indicare il punteggio SPAM da usare come soglia di caso positivo. 
 + 
 +Il milter gira a nome dell'utente **spamass-milter**, la sua home directory è **/var/lib/spamass-milter/**. È necessario creare questa directory perché spamass-milter possa scrivere le proprie preferenze:
  
 <code> <code>
-spamass-milter[12260]Could not retrieve sendmail macro "i"!. +mkdir /var/lib/spamass-milter 
-    Please add it to confMILTER_MACROS_ENVFROM for better spamassassin results+chown spamass-milter:spamass-milter /var/lib/spamass-milter 
 +chmod 750 /var/lib/spamass-milter
 </code> </code>
  
-La macro servirebbe a ''spamass-milter'' per riscrivere gli header dei messaggi filtrati (ma noi non riscriviamo i messaggi). Vedere [[http://savannah.nongnu.org/support/?105310]].+Alla prima esecuzione del filtro viene creato il file con le preferenze **/var/lib/spamass-milter/.spamassassin/user_prefs**, è possibile poi ad esempio aggiungere:
  
 +<file>
 +required_score   12.0
 +</file>
  
-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:+In **''/etc/postfix/main.cf''** si imposta:
  
-<code+<file
-spamd[1355]spamd: failed to create readable default_prefs: /var/lib/spamass-milter/.spamassassin/user_prefs +# Mail filter: spamass-milter 
-spamd[353]: spamd: creating default_prefs/var/lib/spamass-milter/.spamassassin/user_prefs +smtpd_milters = unix:spamass/spamass.sock 
-</code>+</file>
  
-per risolvere basta creare la directory con gli opportuni permessi: 
- 
-<code> 
-mkdir /var/lib/spamass-milter 
-chown spamass-milter:nogroup /var/lib/spamass-milter 
-</code> 
doc/appunti/linux/sa/spamass-milter.txt · Last modified: 2021/02/12 16:00 by niccolo