Spamfiltering uitgelegd

E-mail is een protocol dat stamt uit 1982. Sinds die tijd is de hoeveelheid in spam- en virusmails exponentieel toegenomen tot ruim 90% van het wereldwijde e-mail verkeer. In de laatste jaren zijn de anti-spam maatregelen gelukkig ook verbeterd. Hierdoor merken de meeste e-mail gebruikers niet dat hun mailprovider (waaronder Oni) voor iedere legitieme mail er gemiddeld 9 spamberichten uit heeft gefilterd. Een aantal van die technieken bespreken we hier.

Ruwweg bestaat spamfiltering uit de volgende elementen:

  • Spamscore
  • Blacklists
  • SPF-record
  • DKIM-record
  • DMARC-record

NB. ontvang je veel “Mailer-daemon” berichten ofwel mail-bounces, klik dan hier voor meer informatie. En als je zelf bulkmail verstuurt, lees dan ook ons anti-spam beleid.

HAM

Voordat we dieper ingaan op de diverse anti-spam technieken, is het ook belangrijk om het tegenovergestelde van spam uit te leggen: "ham" ofwel legitieme mail. De naamgeving is ontstaan doordat "spam" ook een soort nep-ham in blik is:

Blik Spam

Oni is continu bezig met het optimaliseren van onze spamfilters om zo goed mogelijk spam tegen te gaan. Daarbij is het natuurlijk van groot belang dat legitieme mails nog wel doorkomen. Hierbij geldt dat hoe strenger filters ingesteld zijn op het filteren van spam, des te groter de kans op er per ongeluk wegfilteren van de gewenste 'ham'. We streven ernaar om hier een goede balans in te vinden. Omdat we geen gewenste mail willen blokkeren kan het dus gebeuren dat er spam doorheen glipt. Een perfecte afstelling bestaat helaas niet of werkt niet langdurig. Het blijft een wedloop tussen de spammers en mailbeheerders.

Vaak kun je in je eigen mailprogramma ook spam bestrijden met zelflerende spamfilters. Daarmee kun je het laatste restje spam wat nog binnenkomt tegengaan. Kijk ook af en toe in je spam-folder of er geen gewenste post tussen is gekomen en leer je programma die dan niet meer als spam te zien.

Spamscore

Iedere mail die binnenkomt wordt zowel technisch als inhoudelijk geïndexeerd. Aan de hand van kenmerkende karakteristieken voor spam wordt er een spamscore berekend. Als deze spamscore hoger ligt dan een bepaalde waarde wordt de mail gezien als spam en niet verder afgeleverd. Onderdeel van de check is ook een geavanceerde virusscanner.

Blacklists

In tegenstelling tot wat veel mensen denken kijken spamfilters niet naar het e-mailadres van de afzender van een e-mail om te bepalen of deze al dan niet moet worden doorgelaten. Dit zou ook niet werken, want geen enkele spammer verstuurd spam vanaf zijn eigen e-mailadres (dat zou ongeveer hetzelfde zijn als een inbreker die zijn kaartje achterlaat).

In plaats daarvan kijken spamfilters naar reputatie van het ip-adres van de mailserver van de afzender. Als een mailserver te veel spam verstuurt komt deze op één of meerdere blacklists terecht, waardoor andere mailservers e-mail van die mailserver kunnen gaan weigeren. Veel van deze blacklists zijn van onafhankelijke partijen, die op basis van eigen methodes de lijsten bijhouden.

Het kan helaas toch nog voorkomen dat een bonafide mailserver onterecht op een blacklist terechtkomt. Mocht dat het geval zijn bij een van onze mailservers dan doen wij er alles aan om de reputatie zo snel mogelijk te herstellen, opdat de uitgaande e-mail van al onze klanten weer als betrouwbaar wordt gezien.

Zo zijn we altijd actief bezig om onze eigen mailservers van deze blacklists af te houden. Dit is niet altijd even makkelijk, het komt namelijk wel eens voor dat een website van een klant gehackt wordt en spam gaat versturen (zie ook “Help mijn website is gehackt”). We monitoren dan ook de hoeveelheid uitgaande mail.

SPF-record

Vanaf hier wordt het wat technischer, maar wel de moeite waard om kennis van te nemen. Een SPF-record is een DNS-record voor een domein waarin aangegeven wordt welke uitgaande mailservers gebruikt mogen worden voor dat domein. Zo kunnen andere mailservers zien dat als spam met jouw afzender-adres van een mailserver afkomt die niet in de SPF-records als betrouwbaar staat aangegeven, deze waarschijnlijk niet legitiem is. Hiermee wordt het voor spammers dus moeilijker om identiteitsfraude te plegen. Helaas is de theorie hierbij iets rooskleuriger dan de praktijk, nog niet alle mailservers kijken naar deze records en ook niet iedereen stelt deze goed in.

Standaard stellen we de SPF-records voor nieuwe domeinen als volgt in:

v=spf1 +include:mail.oni.nl ?all

Dat wil zeggen dat onze mailservers (+include:mail.oni.nl) standaard als een legitieme bron geldt voor e-mail met jouw domeinnaam als afzender. Het “?all” gedeelte zegt dat andere mailservers misschien ook goed zijn, maar misschien niet - in feite weten wij dat niet. Wij weten namelijk niet of onze klanten naast onze mailservers ook gebruik maken van bijvoorbeeld de mailserver van hun internet provider. Als je zeker weet dat je alleen de SMTP diensten van Oni gebruikt, dan kan je deze SPF-record verscherpen tot:

v=spf1 +include:mail.oni.nl -all

Hiermee sluit je andere mailservers uit als legitieme bron voor e-mail vanaf jouw domein. Dit kan in het DNS gedeelte van een betreffend domein. Zie deze link voor meer informatie over de SPF-record syntax.

DKIM-record

Bij Oni hebben we voor al onze klanten ook DKIM-records ingesteld. DKIM is vergelijkbaar met SPF maar gaat niet over de afkomst van een mail maar over de inhoud van een mail. Dit werkt door middel van het cryptologisch signeren van de mail. In de DNS van een domein staat een publiekelijke sleutel die door iedere mailserver is op te vragen, op onze mailservers staat een geheime sleutel waarmee een e-mail automatisch wordt gesigneerd. Deze signature wordt met de mail meegestuurd en kan door andere providers worden gecontroleerd, als deze klopt dan kan de ontvangende mailserver met redelijke zekerheid zeggen dat de identiteit van de afzender inderdaad klopt. De uitzondering hierop is dat als je e-mailadres gehackt wordt, eventueel spam die via jouw e-mailadres wordt verstuurd ook van een kloppende signature wordt voorzien. Zorg dus voor een goed wachtwoord op je mailbox (dat nergens anders voor gebruikt wordt!) en een virus-vrije computer.

DMARC-record

Tot slot heeft een domein (optioneel) een DMARC DNS-record ingesteld. Hiermee kan je aan ontvangende mailservers meegegeven wat er met een binnenkomende mail vanaf jouw domein moet gebeuren als deze de SPF en/of DKIM testen faalt. Zonder zo'n record zal de mailserver zelf een beslissing moeten maken of de mail al dan niet afgeleverd moet worden. Ook kan er via de record gekozen worden voor het ontvangen van rapportages om te zien hoe regelmatig e-mails vanaf jouw domein de DMARC check aldanniet haalt.

Door bijvoorbeeld de volgende DNS record aan te maken voor je domein:

_dmarc.domein.nl  TXT  "v=DMARC1; p=reject; rua=mailto:reports@domein.nl"

geef je aan dat een mail bij een falende DKIM + SPF test afgewezen dient te worden. Dit voorkomt zowel spam als phishing mails namens jouw domeinnaam. Daarbij verzoek je om rapportages te ontvangen op postmaster@domein.nl (pas dit aan naar een kloppend mailadres).

Als onderdeel van onze spambestrijding kijken de Oni mailservers bij iedere binnenkomende mail ook naar de betreffende DMARC records.

Testen

Eventuele mailconfiguratie problemen kunnen eenvoudig getest worden met behulp van de handige online tool mail-tester.com. Mochten hier problemen in zichtbaar worden, stuur ons dan een screenshot van de spamtest resultaten.