Filtraggio dello spam
Exim ha la configurazione predefinita per l’uso di spamassassin (è richiesto exim4-daemon-heavy).
[bash]apt-get install spamassassin[/bash]
Modificare
[bash]
/etc/default/spamassassin
ENABLED=1
[/bash]
Avviare il demone:
[bash]/etc/init.d/spamassassin start[/bash]
Modificare
/etc/exim4/exim4.conf.template
decommentando o facendo cambiamenti a seconda della propria configurazione:
[bash]
Per l’analisi dello spam esiste un’opzione simile che definisce l’interfaccia a
SpamAssassin. Non è necessario impostare questo se si usa il valore predefinito che
è mostrato nell’esempio commentato. Per la scansione dei virus, deve essere modificata
anche la lista di controllo degli accessi acl_check_data per abilitare la scansione spam.
spamd_address = 127.0.0.1 783
[/bash]
Modificare
/etc/exim4/exim4.conf.template
aggiungendo spam header nella sezione acl_check_data:
[bash]
acl/40_exim4-config_check_data
#################################
Questa ACL viene usata dopo che sono stati ricevuti i contenuti di un messaggio. Questa
è l’ACL in cui si possono testare le intestazioni o il corpo di un messaggio e, in
particolare, questo è il luogo in cui si possono richiamare analizzatori di virus o spam esterni.
acl_check_data:
…
…
warn
spam = Debian-exim:true
add_header = X-Spam_score: $spam_score\n\
X-Spam_score_int: $spam_score_int\n\
X-Spam_bar: $spam_bar\n\
X-Spam_report: $spam_report
put headers in all messages (no matter if spam or not)</pre>
warn spam = nobody:true
add_header = X-Spam-Score: $spam_score ($spam_bar)
add_header = X-Spam-Report: $spam_report
add second subject line with SPAM marker when message
is over threshold
warn spam = nobody
add_header = Subject: SPAM $h_Subject:
reject spam at high scores (> 12)
deny message = This message scored $spam_score spam points.
spam = nobody:true
condition = ${if >{$spam_score_int}{120}{1}{0}}
[/bash]
Per testare la propria configurazione di spamassassin seguire il test di spamassassin e gtube.
I did create a special spamd user:
adduser –disabled-password spamd
which is not used for running spamd. but only used by Exim4’s exiscan patch to check for spam. Therefore I replaced all the following lines from the howto:
[bash]spam = nobody:true[/bash]
by
[bash]spam = spamd:true[/bash]
VEDERE CODICE SEGUENTE
[bash]
warn spam = spamd:true
add_header = X-Spam-Score: $spam_score ($spam_bar)
add_header = X-Spam-Report: $spam_report
aggiunge una seconda riga di oggetto con l’indicazione SPAM quando un messaggio
supera la soglia
warn spam = spamd
add_header = Subject: SPAM (score:$spam_score) $h_Subject:
# reject spam at high scores (> 12)
# Rifiuta Spam che supera valore 12
deny message = This message scored $spam_score spam points.
spam = spamd:true
condition = ${if >{$spam_score_int}{120}{1}{0}}
[/bash]
http://www.sourcepole.com/2009/3/2/exim4-and-spamassassin-which-user-to-run-as
http://www.exim.org/exim-html-current/doc/html/spec_html/ch-content_scanning_at_acl_time.html