Hvordan trene spamassassin ved hjelp av et bayesian filter.

SpamAssassin er et veldig nyttig spamfilter som er inkludert i alle webhotell fra Host1. Jeg vil i denne guiden forklare hvordan du kan «trene SpamAssassin. Dette er nyttig da filteret ofte ikke tar all spam, og man vil også oppleve at mail som egentlig ikke er spam blir filtrert ut som spam. Ved å trene SA vil du kunne lære filteret hva som er spam og hva som er ham. Vi bruker et såkalt Bayesian filter for å gjøre dette.

Guiden er basert på denne guiden. Scriptet som brukes hentes fra: http://iandouglas.com/spamassassin-trainer/. Merk at Host1.no ikke har laget dette scriptet og kan derfor dessverre ikke ta ansvar for at det fungerer.

Kommer til å anta at du kan det følgende:

  • Logge inn i cPanel.
  • Opprette en ny mailboks i cPanel.
  • Lagre en kopi av scriptet fra http://iandouglas.com/spamassassin-trainer/ på din maskin, gjøre evt nødvendige endringer i scriptet og lagre disse.
  • At du vet hvordan du bruker en FTP-klient til å laste opp filer til ditt webhotell.
  • At du klarer å sette opp en IMAP-konto i din mailklient.
  • At du klarer å endre permissions på en fil ved hjelp av FTP eller CHMOD

Ordforklaringer:

SPAM: Uønsket reklame, svindelforsøk, generelt all uønsket epost.
HAM: Ikke-spam, legitime mailer fra familie, kollegaer osv.
SA: Forkortelse for SpamAssassin
False-Positive: En legitim epost (HAM) som SA har flagget som SPAM og dermed har havnet i spam-boksen din.
False-Negative: En uøsnket epost (SPAM) som SA har flagget som HAM og dermed har havnet i innboksen din.
IMAP: En mail-protokoll som brukes til å sende og motta epost fra din mailserver. Generelt så vil IMAP la en kopi av mailene bli liggende på serveren istedetfor å laste de ned til din maskin og slette kopien på serveren.
spam/ham-mapper: Dette er et sett med mailmapper som vil bli brukt til å lagre kopier av mail for å kunne trene spamassassin til å ta så mye spam som mulig uten å putte ham i spam-boksen.
Hoveddomene: Det første (eller eneste) domenet konfigurert med ditt webhotell i cPanel.

Merk at i alle eksempler i denne guiden vil jeg bruke minkonto som brukernavn og mittdomene.no som hoveddomene.

Skru på SpamAssassin i cPanel.

Logg inn i cPanel, trykk på «Mail»-ikonet, trykk så på linken «SpamAssassin».
Trykk på «Enable SpamAssassin»-knappen, trykk så på «go back».
Trykk på «Enable Spam Box», trykk så på «go back».

Endre /home/minkonto/.spamassassin/user_prefs

Bruk File Manager i cPanel eller bruk ftp til å oppdatere denne filen ved å legge til følgende innhold etter det som allerede står i den:

use_bayes   1
required_hits   3.5
rewrite_subject   1
subject_tag   {SPAM _SCORE(0)_}
bayes_path   /home/minkonto/.spamassassin/bayes
bayes_file_mode   0600
bayes_ignore_header X-MailScanner
bayes_ignore_header X-MailScanner-SpamCheck
bayes_ignore_header X-MailScanner-SpamScore
bayes_ignore_header X-MailScanner-Information

sa-trainer.cgi

Dette scriptet kan du hente fra http://iandouglas.com/spamassassin-trainer/ ved bruk av «Build Your Own SpamAssassin Trainer». I denne artikkelen vil jeg beskrive et oppsett hvor hver enkelt bruker selv har egne mapper i sin mailkonto som vil bli brukt til å trene spamassassin.

Skriv først inn ditt cPanel-brukernavn og ditt domene, trykk så på «next». Du vil da få fire valg, vi skal her bruke valg nummer 4: «Multiple Email users, high involvement». Velg dette punktet, trykk så på «next» igjen. Du vil da få en link til en zip-fil som heter «sa-trainer.zip», denne laster du ned og pakker ut. Ignorer filen som heter «user_prefs» da vi alt har gjort dette tidligere i denne guiden.

Last så opp filen «sa-trainer.cgi» til mappen /home/minkonto/public_html/cgi-bin og sett permissions til 755.

Du kan nå enten kjøre dette scriptet manuelt ved å besøke http://www.mittdomene.no/cgi-bin/sa-trainer.cgi eller du kan sette opp en cronjobb som gjør dette for deg en gang om dagen.

Crontab:

Crontab alternativ 1: (Denne crontabben vil sjekke sa-trainer.cgi hver dag klokken 00:00.:

0 0 * * * /usr/bin/wget -O - -q -t 1 http://www.mittdomene.no/cgi-bin/sa-trainer.cgi

Crontab alternativ 2: (Takk til hhttp://www.danielbond.org for shell-script)

Opprett filen /home/minkonto/update-sa-trainer.sh med følgende innhold:

#!/bin/sh

: ${lockfile:=/var/tmp/update-sa-trainer.lock}

if [ -z "$LOCKED" ]
then
  export LOCKED=yes
  exec flock -xn -w 0 "$lockfile" "$0" "$@"
  exit 1 # this should never happen
fi

wget -O - -q -t 1 http://www.mittdomene.no/cgi-bin/sa-trainer.cgi

Gi så denne tillatelse til å kjøre: CHMOD 755.

Sett så opp følgende cronjobb, du har nå et script som kjører oppdateringene for deg ved midnatt.

0 0 * * * /home/minkonto/update-sa-trainer.sh

Oppsett av mailmapper:

Alle brukere som skal hjelpe til med å trene spamassassin må gjøre følgende:

  • Bruke IMAP når de kobler seg på sin mail (dette gjør at all mail vil bli liggende på serveren, hvis man bruker POP3 vil mange mailklienter slette mailen fra serveren når den henter den ned, dette vil føre til at sa-trainer ikke vil få tilgang til mailen og dermed ikke kunne trene SA.
  • Opprette en mappe som heter «scan-spam» i innboksen sin.
  • Opprette en mappe som heter «scan-ham» i innboksen sin.

Instruksjoner for sortering av SPAM/HAM:

Da er vi nesten i mål, sa-trainer er nå ferdig satt opp og vi skal gå igang med å trene.

Vi har da opprettet mappene «scan-spam» og «scan-ham» i innboksen, det vi nå gjør er å putte all spam vi kan finne i innboksen i mappen «scan-spam», samtidig som vi starter med å kopiere noe legitim mail (HAM) til «scan-ham»-boksen så filteret har noe å starte med. Hvis du har satt opp en crontab som beskrevet over vil du ikke måtte gjøre noe annet enn å vente til midnatt for at scriptet skal trene. Det lønner seg dog å ta en titt på http://www.mittdomene.no/cgi-bin/sa-trainer.cgi for å se om den får filtrert mailen din, du vil få en enkel og grei oversikt over hvor mange SPAM og HAM-mailer den behandler og hvor mange den har behandlet totalt.

Hvis du ser at scriptet trener mail når du åpner det i din browser er installasjonen ferdig. Du kan nå gå igang med å trene SA til å filtrere ut så mye som mulig av all spam du mottar.

scan-spam:

All spam du mottar som ikke blir filtrert inn i «spam»-mappen flytter du til denne mappen da SA ikke har klart å flagge mailen som spam, hvis du gjør dette med ALL spam du mottar som ikke blir filtrert vil du snart legge merke til at mer og mer av søppelposten du mottar vil havne i «spam»-mappen.

scan-ham:

Det lønner seg å sjekke «spam»-mappen ofte da SA kan flagge legitim epost som spam, hvis dette skjer må du kopiere den legitime eposten som havnet i spam-mappen til «scan-ham». Det lønner seg som oftest også å kopiere over en del legitim mail til denne mappen første gang du kjører scriptet så SA får en viss oversikt over typen mail du mottar.

Ferdig:

Du skal nå kunne sette opp et Bayesian Filter på din cPanel-konto. Hvis du støter på problemer med denne prosessen send en mail til support@host1.no eller spør her i bloggen eller på forumet vårt. Håper mange får nytte av denne enkle guiden.

Tags: , , , , , , , ,

2 Responses to “Hvordan trene spamassassin ved hjelp av et bayesian filter.”

  1. likerdet.no sier:

    Hvordan trene spamassassin ved hjelp av et bayesian filter. « Host1-bloggen…

    Fin guide for de som vil filtrere spam bedre ved hjelp av SpamAssassin på sitt cPanel webhotell….

  2. Doc sier:

    My cousin is married to a Grammy Award winning recording artist who is also an actor. They have both had cancer, and it was SAG insurance/medical plan that saved their financial lives. My cousin told me &#21&0;AFTRA2#8287;s benefits are s**t”. So just based on that one bit of AFTRA’s benefits to their members, I am not surprised that they have once again taken the easiest way out. Thank God my son, an actor, belongs to SAG. Long may it prosper!

Leave a Reply