SpamAssassin

Fra GNUskole
Hopp til: navigasjon, søk

Innledning

Spamassassin er et program som filtrerer søppelpost (spam) fra innkommende e-post. Det følgende viser hvordan Spamassassin kan brukes sammen med Exim (e-posttjeneren vi har satt opp).

Installasjon

Spamassassin finnes i yum-depotene:

[root@e-posttjener]# yum -y install spamassassin

Dette skal på Fedora/RedHat/CentOS gi det man trenger for å benytte programmet. Merk at vi ønsker å kjøre Spamassassin i såkalt "daemon mode"; det vil si at det kjører som en systemtjeneste. For å få dette til gir vi kommandoene

[root@e-posttjener]# chkconfig spamassassin on
[root@e-posttjener]# service spamassassin start

Den første sørger for at programmet starter hver gang maskinen startes, og den siste starter programmet for oss nå.

Konfigurasjon av Exim

Vi må i Exim sin konfigurasjonsfil fortelle at vi ønsker å bruke spamassassin til å filtrere e-post. Vi redigerer derfor /etc/exim/exim.conf slik at følgende linjer er med:

acl_smtp_data = acl_check_content

Dette forteller Exim at den skal bruke en ACL (Access Control List) for å sjekke innholdet i e-posten. Lenger nede i konfigurasjonsfilen må vi gi detaljene for ACLen vi nettopp har slått på, så det gjelder å finne seksjonen som begynner med acl_check_content: og sørge for at følgende står der:

acl_check_content:
  warn  message = X-Spam-Score: $spam_score ($spam_bar)
        spam = nobody:true
  warn  message = X-Spam-Report: $spam_report
        spam = nobody:true
  warn  message = X-Spam-Flag: YES
        spam = nobody
  deny  message = This message scored $spam_score points. Congratulations!
        spam = nobody:true
        condition = ${if >{$spam_score_int}{100}{1}{0}}
  accept

Om du har installert pakker fra Fedora/RedHat/CentOS-depotene vil du sannsynligvis også ha linjer med

  deny  message = This message contains malware ($malware_name)
        malware = *

Disse er for virusskanning av e-post, og kan foreløpig kommenteres ut ved å sette hash-tegn foran dem:

  # deny  message = This message contains malware ($malware_name)
  #       malware = *

Testing

Tjenestene kan nå restartes:

service spamassassin restart
service exim restart

Hvis dette går uten problemer vil inkommende e-post nå innehlder en del nye meldingshoder ("headere"), der den mest interessante kanskje er "X-Spam-Score" og "X-Spam-Report".

TO WRITE

  • Litt om skåringssystemet
  • Hvordan stille inn terskelverdien systemvidt og indivduelt
  • Hvordan omskrive subject-feltet sånn at klienter kan se spam
  • Hvordan sende all spam til en systemkonto
  • Lenke til AV-skanning (Siden det konfigureres samme sted i Exim)