Spamassassin regels maken
Waar voeg je spamassassin regels toe
Je kan spamassassin op verschillende plaatsen toevoegen, je kan het toevoegen aan de globale configuratie (/etc/mail/spamassassin/local.cf
) of aan de user-configuratie, indien ingeschakeld. (~/.spamassassin/user_prefs
).
Standaard staat het toevoegen van regels in de user-configuratie standaard uit als spamassassin draait als spamd. Dit is uit veiligheids en performance overwegingen. Spamassassin moet in dat geval namelijk de regels telkens compileren bij elke mail, wat niet het geval is bij de globale configuratie.
De keuze waar je je regels toevoegd licht uiteraard bij jou.
Regels schrijven
Regel naamsugesties
Om te voorkomen dat regels overlappen met bestaande regels, word aangeraden om ze een prefix te geven. bijvoorbeeld LOCAL_
of je initialen VL_
.
Body regels
Om in de tekst van een mail op een bepaald woord te filteren kan je een regel zoals hieronder aanmaken. Deze regel filters op “test”, maar ook op “testpersoon”.
Spamassassin maakt gebruikt van reguliere expressies, met name die van perl.
BODY_BEVAT_TEST
is hier de naam van de test.
body BODY_BEVAT_TEST /test/
score BODY_BEVAT_TEST 0.1
describe BODY_BEVAT_TEST dit is een test regel
De score
regel, bepaald welke score word toegevoegd als een mail met deze regel matched. Dit kan altijd in user_prefs per-user worden aangepast.
de describe
regel bevat wat extra info over de regel.
Wil je enkel op “test” filteren maar niet op “testpersoon”, dan kan je een het woord omringen met \b
body BODY_BEVAT_TEST /\btest\b/
score BODY_BEVAT_TEST 0.1
describe BODY_BEVAT_TEST dit is een test regel
we kunnen dit ook nog case-insensitive maken door i
achter de reguliere expressie te hangen. (body BODY_BEVAT_TEST /\btest\b/i
)
Header regels
Om te filteren op het onderwerp, de verzender of andere headers kunnen header regels gebruikt worden. Deze werken net zoals body regels met reguliere expressies. Om bijvoorbeeld een test te maken die het onderwerp controleerd op “test” kunnen we een regel als volgt aanmaken
header SUBJECT_BEVAT_TEST Subject =~ /\btest\b/i
score SUBJECT_BEVAT_TEST 0.1
describe SUBJECT_BEVAT_TEST deze mail bevat test in het onderwerp
De gespecifieerde header (in dit voorbeeld Subject
) is altijd case-insentitive.
Meta regels
Meta regels zijn heel handig om complexere regels te maken. Deze laten toe om meerdere tests te combineren en de score aan te passen aan bijvoorbeeld het aantal keer dat de regel matched tegen een mail.
body __BEVAT_TEST1 /\btest1\b/i
body __BEVAT_TEST2 /\btest2\b/i
body __BEVAT_TEST3 /\btest3\b/i
meta BEVAT_TEST1_TEST2_TEST3 ((__BEVAT_TEST1 + __BEVAT_TEST2 + __BEVAT_TEST3)>1)
score BEVAT_TEST1_TEST2_TEST3 0.3
Dit voorbeeld voegt 0.3 score toe als de mail zowel de strings “test1”, “test2” en “test3” tegelijk bevat.
Lint je regels
Na het schrijven van regels laat je spamassassin beter de configuratie eens linten. dit kan je doen met spamassassin --lint
.