Vincent Lammens

Terug

Spamassassin regels maken

2022/04/08
spamassassin
spamassassin, anti-spam

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 describeregel 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.

Extra informatie