doc:appunti:linux:sa:spamassassin
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:appunti:linux:sa:spamassassin [2010/01/21 05:27] – niccolo | doc:appunti:linux:sa:spamassassin [2021/07/08 10:19] (current) – [Verifica punteggio] niccolo | ||
---|---|---|---|
Line 3: | Line 3: | ||
Nuova pagina di appunti dedicata a SpamAssassin, | Nuova pagina di appunti dedicata a SpamAssassin, | ||
- | Anzitutto si è deciso di chiamare SpamAssassin non come filtro del programma di posta (Exim), ma come filtro sulla consegna in mailbox tramite **'' | + | Si è deciso di chiamare SpamAssassin non come filtro del programma di posta (Exim), ma come filtro sulla consegna in mailbox tramite **'' |
Come di consueto si installa la versione daemon (più performante) **spamd** e il relativo client **spamc**. | Come di consueto si installa la versione daemon (più performante) **spamd** e il relativo client **spamc**. | ||
Line 31: | Line 31: | ||
La scansione non passa per '' | La scansione non passa per '' | ||
+ | ===== Custom rules ===== | ||
+ | |||
+ | Di norma non è possibile aggiungere delle regole personalizzate nella **'' | ||
+ | |||
+ | In alternativa si può cambiare il punteggio assegnato ad una regole, per fare tutti i necessari esperimenti. Ad esempio la regola **'' | ||
+ | |||
+ | < | ||
+ | score DRUG_ED_SILD 10.8 | ||
+ | </ | ||
==== Problema con URIBL ==== | ==== Problema con URIBL ==== | ||
Line 66: | Line 75: | ||
| | ||
+ | |||
+ | ===== whitelist_from ===== | ||
+ | |||
+ | Volendo mettere alcuni mittenti in whitelist è possibile fare quanto segue: | ||
+ | |||
+ | * Aggiungere una riga a **''/ | ||
+ | * Creare il file **''/ | ||
+ | whitelist_from nome@dominio.org | ||
+ | whitelist_from *@dominio.org | ||
+ | whitelist_from *.dominio.org</ | ||
+ | |||
+ | Riavviare spamassassin. | ||
+ | |||
+ | ===== Regole personalizzate ===== | ||
+ | |||
+ | Si possono aggiungere delle regole personalizzate direttamente in **''/ | ||
+ | |||
+ | Ecco una semplice regola che controlla la presenza di un determinato header **'' | ||
+ | |||
+ | < | ||
+ | header | ||
+ | describe | ||
+ | score | ||
+ | </ | ||
+ | |||
+ | Fare attenzione alla stringa dopo il segno **'' | ||
+ | |||
+ | Un altro esempio per penalizzare certi top level domain particolarmente utilizzati dagli spammer: | ||
+ | |||
+ | < | ||
+ | header | ||
+ | describe | ||
+ | score | ||
+ | </ | ||
+ | |||
+ | Vedere anche il paragrafo **[[spamassassin_private_dnsbl# | ||
===== AutoWhitelist ===== | ===== AutoWhitelist ===== | ||
Line 87: | Line 132: | ||
< | < | ||
- | Jan 21 03: | + | spamd[8175]: |
- | Jan 21 03: | + | spamd[874]: bayes: cannot open bayes databases / |
- | Jan 21 03: | + | spamd[8175]: |
</ | </ | ||
Line 123: | Line 168: | ||
A seconda dei casi si può aumentare il numero dei processi figli oppure renderli più veloci. Ad esempio l' | A seconda dei casi si può aumentare il numero dei processi figli oppure renderli più veloci. Ad esempio l' | ||
+ | |||
+ | ===== Punteggio SPAM ===== | ||
+ | |||
+ | In una installazione Debian (es. 9 Stretch) i file che definiscono il punteggio SPAM sono in **%%/ | ||
+ | |||
+ | Una regola che assegna punteggio SPAM può includere 4 punteggio distinti, esempio: | ||
+ | |||
+ | < | ||
+ | score SUBJ_ALL_CAPS 0.518 1.625 1.197 1.506 | ||
+ | </ | ||
+ | |||
+ | I 4 valori sono rispettivamente per queste condizioni: | ||
+ | |||
+ | - Test Bayes e network disabilitati | ||
+ | - Test Bayes disabilitati, | ||
+ | - Test Bayes abilitati, test network disabilitati | ||
+ | - Test Bayes e network abilitati | ||
+ | |||
+ | In generale viene applicato il punteggio del **quarto caso**: tutti i test abilitati. | ||
+ | |||
+ | Per attivare i test Bayes bisogna includere nel file di configurazione **use_bayes 1**. | ||
+ | |||
+ | I test network sono disabilitati se il demone **spamd** viene avviato con l' | ||
+ | |||
+ | ===== Verifica punteggio ===== | ||
+ | |||
+ | Con il seguente script dovrebbe essere possibile verificare il punteggio associato per ciascun test: | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | TESTS=" | ||
+ | if [ -z " | ||
+ | echo " | ||
+ | exit 1 | ||
+ | fi | ||
+ | cat << EOF | ||
+ | |||
+ | === Punteggio SpamAssassin === | ||
+ | |||
+ | * Test Bayes e network disabilitati | ||
+ | * Test Bayes disabilitati, | ||
+ | * Test Bayes abilitati, test network disabilitati | ||
+ | * >>> | ||
+ | |||
+ | EOF | ||
+ | TESTS=" | ||
+ | for TEST in $TESTS; do | ||
+ | find / | ||
+ | SCORE=" | ||
+ | if [ -n " | ||
+ | #echo " | ||
+ | RULE=" | ||
+ | SCORE1=" | ||
+ | SCORE2=" | ||
+ | SCORE3=" | ||
+ | SCORE4=" | ||
+ | printf '%-25s %7.2f %7.2f %7.2f %7.2f\n' | ||
+ | fi | ||
+ | done | ||
+ | done | ||
+ | </ | ||
+ | |||
+ | Ecco un esempio di utilizzo: | ||
+ | |||
+ | < | ||
+ | ./ | ||
+ | |||
+ | === Punteggio SpamAssassin === | ||
+ | |||
+ | * Test Bayes e network disabilitati | ||
+ | * Test Bayes disabilitati, | ||
+ | * Test Bayes abilitati, test network disabilitati | ||
+ | * >>> | ||
+ | |||
+ | HELO_NO_DOMAIN | ||
+ | HTML_MESSAGE | ||
+ | NICE_REPLY_A | ||
+ | RDNS_NONE | ||
+ | SPF_FAIL | ||
+ | </ | ||
+ | ==== Client spamc e IPv6 ==== | ||
+ | |||
+ | Per impostazione predefinita il client **spamc** tenta di connettersi al demone Spamassassin usando il nome **localhost**, | ||
+ | |||
+ | < | ||
+ | spamc[16810]: | ||
+ | </ | ||
+ | |||
+ | Per forzare (system-wide) l' | ||
+ | |||
+ | < | ||
+ | -d 127.0.0.1 | ||
+ | </ |
doc/appunti/linux/sa/spamassassin.txt · Last modified: 2021/07/08 10:19 by niccolo