Bescherming van e-mail in KMail

Auteur: Jasper van der Marel
Herziening 1.1
Copyright © 2004 Jasper van der Marel

In dit artikel wordt uitgelegd hoe KMail zo kan worden ingesteld dat de e-mail wordt beschermd tegen spam en virussen.


Spam is e-mail die ongewenst wordt gestuurd. Spam kan worden geïdentificeerd door het programma SpamAssassin (www.spamassassin.org). E-mail kan ook worden geïnfecteerd door virussen. Op virussen wordt gecontroleerd met behulp van het programma Clamassassin. Clamassassin maakt gebruik van het programma Clam Antivirus om de virussen te ontdekken in de e-mail. Omdat KMail en Kontact elkaars instellingen gebruiken is dit document van toepassing op beide e-mailprogramma's. Het eindresultaat is een configuratie die e-mail controleert op spam en virussen en deze verplaatst naar daarvoor aangemaakte mappen. Deze mappen kunnen daarna zo worden ingesteld dat de e-mail in deze mappen na verloop van tijd automatisch wordt verwijderd.

In dit document wordt ervan uitgegaan dat u beschikt over een Nederlandse versie van de KDE-desktop. Voor meer informatie over het verkrijgen van de KDE-desktop en achtergrondinformatie over deze desktopomgeving kunt u de website www.kde.nl bezoeken.

Dit document is gericht op de desktop-gebruiker die geen e-mail-server tot zijn beschikking heeft. Bij een e-mail-server zoals Sendmail of Postfix is het verstandiger om de e-mail al bij de mailserver te controleren door middel van een programma als Amavis.

In onderstaande hoofdstukken wordt achtereenvolgens de installatie en configuratie van Clam Antivirus en SpamAssasin beschreven. Hierna laten we zien hoe KMail kan worden ingesteld zodat deze gebruik maakt van deze programma's.

1. Clam Antivirus

1.1. Korte inleiding

Clam Antivirus is een virusscanner die gebruik maakt van de OpenAntivirus database (www.openantivirus.org) en eigen bijdragen wat betreft virusdefinities. In tests komt Clam Antivirus als een van de beste virus scanners voor *NIX uit de bus 1 wat betreft reactietijd op het verschijnen van nieuwe virussen. Clam Antivirus kan echter geen virussen desinfecteren. Het programma kan de virussen alleen verwijderen. De filosofie hierachter is dat gedesinfecteerde bestanden niet volledig betrouwbaar zijn in de ogen van de makers. Wel is er toegezegd dat OLE2 bestanden in een volgende versie wel kunnen worden gedesinfecteerd.

De nieuwe versie 0.70 van Clam Antivirus beschikt over de volgende eigenschappen:

  1. Scanner die start vanaf de opdrachtregel
  2. On-access scannen van bestanden (alleen onder Linux) (clamuko)
  3. Daemon voor verwerking op de achtergrond van opdrachten (clamd)
  4. Detectie van meer dan 2000 virussen, wormen en Trojaanse paarden
  5. Virusdatabase die kan worden opgewaardeerd. (freshclam)
  6. Ondersteuning voor bestanden ingepakt met RAR (versie 2.0), Zip, Gzip en BZip2
  7. Ingebouwde ondersteuning voor mailbestanden (mbox en maildir)

1.2. Installatie en configuratie van Clam Antivirus

1.2.1. Installatie van Clam Antivirus

Clam Antivirus is te verkrijgen via de ClamAV internetpagina op http://www.clamav.net. Omdat dit een algemeen artikel is zal hierin worden beschreven hoe ClamAV vanaf een bronbestand kan worden gemaakt en geïnstalleerd. Veel Linux-distributies hebben echter een eigen manier om pakketten te installeren (zoals apt en RPM) en wellicht is voor de gebruikte versie al een installatie-bestand aanwezig.

Eerst moet op het systeem de gebruiker clamav worden aangemaakt. Deze is nodig om het programma freshclam, dat later wordt besproken, op de achtergrond te laten draaien. Deze gebruiker kan onder KDE worden aangemaakt met het programma Gebruikersbeheer (KUser) en is te vinden in het menu onder de ingang Systeem. In KUser (zie afbeelding 1) moet de gebruiker clamav worden aangemaakt zonder dat deze de beschikking krijgt over een shell en persoonlijke mappen. Dit is om te voorkomen dat iemand middels de gebruiker clamav toegang krijgt tot het systeem.

small-kuser2.jpg
afbeelding 1: Gebruikersbeheer (KUser)

De gebruiker clamav kan worden aangemaakt door in KUser het menu Gebruiker te openen. Kies in dit menu Toevoegen. Er verschijnt een venster waarin de gebruikersnaam, in dit geval clamav, moet worden ingevoerd. In het daarop volgende venster moeten de velden Login Shell en Persoonlijke map leeg worden gemaakt en bij de opties voor een nieuw account alle opties worden gedeselecteerd. Dit zijn de opties Persoonlijke map aanmaken en Skelet kopiëren. Ook moet er natuurlijk een wachtwoord worden aangemaakt. Dit kan met de knop wachtwoord instellen naast de gebruikersnaam.

Om ClamAV te installeren moet eerst het bronbestand van de internetpagina worden gehaald. Het bron bestand staat onder de kop Download als de optie Stable. Kies vervolgens het bronbestand met de hoogste versienummer (bij het schrijven van dit artikel is dit clamav-0.70-rc.tar.gz.). Haal dit bestand op en plaats deze in een daarvoor bestemde map. In deze beschrijving wordt uitgegaan van de map /tmp maar een andere map kan natuurlijk ook. Ga eerst naar de map waarin het bestand is opgeslagen, Voer hiervoor in een console de volgende opdracht uit:

cd /tmp

Pak het bestand uit door de volgende opdracht in een console in te voeren:

tar -zxvf clamav-0.70-rc.tar.gz

en ga dan naar deze nieuw aangemaakte map door middel van de opdracht:

cd clamav-0.70-rc*

Clam Antivirus is nu klaar om te worden gebouwd. Om Clam Antivirus te bouwen en te installeren zijn de juiste rechten nodig. Door de volgende opdracht wordt Clam Antivirus gebouwd en geïnstalleerd als de gebruiker root (er zal om het wachtwoord van de gebruiker root worden gevraagd):

./configure && make && su -c "make install"

Opmerking: In het bovenstaande voorbeeld is Clam Antivirus geïnstalleerd in de map /usr/bin en de virusdefinities in de map /usr/share/clamav. Het kan voorkomen dat de installatiebestanden (RPM, apt) voor de gebruikte Linux-distributie de bestanden neerzet in /usr/local/bin en de virusdefinities in /usr/local/share/clamav. Pas in de onderstaande installatieinstructie de paden naar de bestanden aan zodat deze overeenkomen met bovenstaande locaties.

1.2.2. Configuratie van Freshclam

Wanneer Clam Antivirus is geïnstalleerd zal de scanner clamscan zijn geplaatst in de map /usr/bin. Omdat de virusdefinities bij het installeren al verouderd zijn is het noodzakelijk deze gelijk te verversen.

Dit kan door middel van het programma freshclam. Er zijn twee manieren om freshclam uit te voeren. Dit kan zijn handmatig of via een daemon. Hieronder worden beide manieren beschreven.

Freshclam als programma
Freshclam kan als programma worden uitgevoerd om de virusdefinities bij te werken zodat de virusscanner de laatste virussen herkent. Omdat de installatie als de gebruiker root is uitgevoerd heeft alleen de gebruiker root toegang tot de map /usr/share/clamav waarin de definities worden bewaard. Om de virusdefinities bij te werken kan het volgende commando worden ingevoerd (er zal om het wachtwoord van de gebruiker root worden gevraagd):

su -c "freshclam"

Hiermee worden de virusdefinities opgehaald van de server en bijgewerkt.

Freshclam als daemon
Freshclam kan ook op de achtergrond draaien als daemon. Het handigste is om freshclam toe te voegen aan de lijst van opdrachten die wordt uitgevoerd bij het opstarten van het systeem. Bij Slackware kan hiervoor de volgende opdracht worden toegevoegd aan /etc/rc.d/rc.local:

freshclam -d -c 2

Hiermee kijkt freshclam per dag twee maal of er nieuwe virusdefinities aanwezig zijn en haalt deze dan op van de server.

1.3. Installatie van ClamAssassin

Om Clam Antivirus te laten werken met de e-mailprogramma's is echter nog een (wrapper)script nodig: Clamassassin. Zoals de naam al doet vermoeden werkt deze volgens hetzelfde principe als SpamAssassin. ClamAssassin controleert elke mail op virussen en voegt een extra berichtenkop aan de e-mail toe met als ingang: X-Virus-Status. Deze kan zijn YES (bevat virus) or NO (virusvrij).

ClamAssassin is te verkrijgen op http://drivel.com/clamassassin/. Pak dit bestand net zoals beschreven onder Clam Antivirus uit in de daarvoor bestemde map. Deze bestanden hoeven echter niet te worden geïnstalleerd maar wel worden bewerkt. In het belangrijkste bestand clamassassin staan namelijk de paden naar de drie programma's die worden gebruikt : clamscan, formail en mktemp. De laatste twee bestanden zijn vrijwel altijd aanwezig in een Linux distributie. Gebruik een tekst-editor om de volgende onderlijnde regels aan te passen in het bestand clamassassin:

# CONFIGURATION: 
# Configure your full path to where you want temporary files 
TMPPATH=/tmp 

# Configure your full path to formail 
FORMAIL=/usr/bin/formail                           

# Configure your full path to clamscan 
CLAMSCAN=/usr/bin/clamscan 

# Configure your full path to mktemp 
MKTEMP=/usr/bin/mktemp 

# END CONFIGURATION

In bovenstaand voorbeeld zijn de paden aangepast naar formail en mktemp om deze overeen te laten komen met de paden in de gebruikte distributie. Het kan zijn dat de configuratie al klopt. In dat geval hoeft er niets te worden aangepast. Gebruik eventueel het commando 'which' om het pad van een programma te achterhalen:

which programmanaam

Wordt nu root door middel van de opdracht su en kopieer het bestand clamassassin naar de map /usr/local/bin. Hiermee is de configuratie van clamassassin voltooid.

2. Spamassassin

2.1 Korte Inleiding

Spamassassin is een Perl-script waarmee ongewenste e-mail (spam) kan worden gefilterd. Spamassassin gebruikt technieken om ongewenste mail te ontdekken. Ook kunnen adressen worden toegevoegd en verwijderd aan de lijsten van afzenders van ongewenste e-mail. Dit artikel zal alleen ingaan op de basisinstallatie van Spamassassin en de configuratie hiervan. Geavanceerde spam filtertechnieken worden niet behandeld maar de opties kunnen worden bekeken met de opdracht spamassassin -?.

2.1. Installatie en configuratie van Spamassassin

Zoals eerder genoemd is Spamassassin een Perl-toepassing. Dit vereist dat Perl geïnstalleerd moet zijn. Ook de module HTML:Parser moet worden geïnstalleerd voor Spamassassin versie 2.6.

HTML:Parser kan worden verkregen van CPAN op de volgende locatie: http://search.cpan.org/~gaas/HTML-Parser-3.35. Het bestand is te verkrijgen door op de knop Download te klikken. Sla dit bestand op in een daarvoor bestemde map. In dit voorbeeld is gekozen voor de map /tmp. Voer hiervoor in de console de volgende opdracht uit:

cd /tmp

Pak vervolgens het bestand uit door middel van de opdracht

tar -zxvf HTML-Parser-3.35.tar.gz

Ga naar de aangemaakte map en installeer de Parser met onderstaande opdracht. Bij het doorlopen van de installatie kan met de voorgestelde standaardwaarde worden volstaan.

perl Makefile.PL && make && su -c 'make install'

Nu kan Spamassassin worden geïnstalleerd. Haal de laatste stabiele versie op van de internetpagina http://www.spamassassin.org. Bij het schrijven van dit artikel is dit versie 2.63. Pak Spamassassin uit naar de daarvoor bestemde map door de opdracht

tar -zxvf Mail-Spamassassin-2.63.tar.gz

Ga naar de aangemaakte map en installeer Spamassassin door het geven van de onderstaande opdracht. Bij het doorlopen van de installatie kan wederom worden volstaan met de voorgestelde standaardwaarde.

perl Makefile.PL && make && su -c 'make install'

Na het doorlopen van deze procedure is Spamassassin geïnstalleerd op uw systeem.

3. KMail

3.1. Korte inleiding

KMail is het standaard e-mailprogramma van de KDE-desktop. KMail kan overweg met filters die worden toegepast wanneer e-mail wordt opgehaald. Deze filters moeten worden ingesteld om de programma's Spamassassin en clamassassin (voor Clam Antivirus) aan te kunnen spreken.

3.2. Aanmaken van mappen in KMail

In KMail moeten eerst twee mappen worden aangemaakt. Deze mappen worden gebruikt op de spam en besmette mail naar toe te verplaatsen door middel van regels die worden gedefinieerd door de aan te maken filters. Het aanmaken van nieuwe mappen gaat door middel van de opdracht Nieuwe map in het menu Map in KMail. Bij het aanmaken van de mappen hoeft alleen de naam van de map te worden ingevuld en daarna op OK te worden geklikt. Doe dit twee maal: een keer voor het aanmaken van een map Spam voor de spam en een tweede keer voor de map Infected voor de berichten die virussen bevatten. In de mappenlijst van KMail zullen nu twee nieuwe mappen te zien zijn.

3.3. Instellen van de filters

Ga in KMail naar het menu Instellingen en daarna naar Filters instellen. In dit menu (zie afbeelding 1) kunnen filters worden ingesteld. Er moeten drie filters worden aangemaakt. De eerste om de e-mailberichten te controleren en markeren als er spam of virussen aanwezig is. De tweede om alle mail met virussen te verplaatsen naar een bepaalde map. De derde om alle mail gemarkeerd als ongewenste mail te verplaatsen naar een bepaalde map.

small-kontact.png
afbeelding 2: Aanmaken van filterregel 1 : Markeer virussen en spam

Het eerste filter wordt aangemaakt door de knop voor een nieuw filter te klikken (de knop het meest linksonder boven de helpknop). Noem dit filter Markeer virussen en spam. Zorg dat bij de filtercriteria staat Komt overeen met al het volgende <enig kopschrift> bevat . (een punt). Bij de filterhandelingen moeten 2 handelingen komen te staan: als eerste doorsluizen via /usr/local/bin/clamassassin. De tweede handeling kan worden toegevoegd door op de knop Meer te klikken. Hier moet komen te staan doorsluizen via /usr/bin/spamassassin -e. Bij de uitgebreide opties moet de optie Als dit filter overeenkomt, verwerking hier stoppen worden uitgezet. Nu worden alle berichten gecontroleerd en gemarkeerd als er spam of virussen zijn ontdekt.

small-kontact1.png
Afbeelding 3: Aanmaken van filterregel 2 : Virussen verplaatsen naar Infected

Het tweede filter verplaatst alle e-mail dat virussen bevat naar een daarvoor aangemaakte map. Maak een filterregel aan genaamd Virussen verplaatsen naar Infected. Zorg dat er bij de filtercriteria staat Komt overeen met al het volgende <X-Virus-Status> bevat YES. Bij de filterhandelingen moet komen te staan naar map verplaatsen Infected. Nu wordt alle e-mail dat virussen bevat verplaatst naar de map Infected. Bij de uitgebreide opties moet de optie Als dit filter overeenkomt, verwerking hier stoppen worden uitgezet.

Opmerking
De regel X-Virus-Status moet handmatig worden ingevoerd. De regels X-Spam-Flag staat al voorgedefinieerd in het menu dat wordt getoond als er wordt geklikt op de pictogram met de pijl naar beneden in het invoervenster.

small-kontact2.png
Afbeelding 4: Aanmaken van filterregel 3 : Spam verplaatsen naar Spam

Het derde filter verplaatst alle e-mail dat als ongewenst wordt beschouwd naar een daarvoor aangemaakte map. Zorg dat bij de filtercriteria staat Komt overeen met al het volgende <X-Spam Flag> bevat YES. Bij de filterhandelingen moet komen te staan naar map verplaatsen Spam. Nu wordt alle e-mail dat spam bevat verplaatst naar de map Spam. Bij de uitgebreide opties moet de optie Als dit filter overeenkomt, verwerking hier stoppen worden uitgezet.

3.4. Automatisch verwijderen van berichten

Nu alle mail en ongewenste e-mail is verplaatst kunnen de mappen worden ingesteld. Als Spamassasin veel ongewenste e-mail heeft leren herkennen kan de map Spam zo worden ingesteld dat alle mail die in deze map komt na 1 dag automatisch wordt verwijderd. Klik hiervoor met de rechtermuisknop op de map Spam en kies uit het menu dat dan verschijnt de optie Eigenschappen.

small-kontact3.png
Afbeelding 5: De optie Eigenschappen van een map in het e-mailvenster

Bij de eigenschappen kan het verloop van de e-mailberichten worden ingesteld waardoor de berichten na verloop van tijd automatisch worden verwijderd.

small-kontact4.png
Afbeelding 6: De eigenschappen van de map Spam

In het venster eigenschappen kan de optie Oude berichten-verloop worden ingesteld. Deze optie zorgt ervoor dat alle mail na een bepaalde bewaartijd wordt verwijderd. Stel deze in naar eigen behoefte. In het voorbeeld wordt alle e-mail na 1 dag verwijderd of deze nu wel of niet is gelezen.

4. Tot slot

In dit artikel is beschreven hoe KMail kan worden ingesteld om besmette en ongewenste e-mail te identificeren, te verplaatsen en te verwijderen. Dit artikel richtte zich voornamelijk op het e-mailprogramma KMail. Dit wil niet zeggen dat deze benadering niet op andere e-mailprogramma's kan worden toegepast. Evolution kent net als KMail filters en deze kunnen ook op eenzelfde manier worden ingesteld.

1. http://www.pcwelt.de/news/viren_bugs/37827/2.html

Het is toegestaan dit document te kopiëren, te verdelen en/of te wijzigen onder de voorwaarden van de GNU vrije-documentatielicentie, versie 1.1 of een latere versie gepubliceerd door de Free Software Foundation; zonder invariante paragrafen, zonder vooromslagteksten, en zonder achteromslagteksten.

Over deze site | Laatst gewijzigd: $Date: 2005/04/24 18:27:07 $ door: $Author: tijmen $