Digitale NEE-NEE stickers
In deze blog ga ik in op een aantal technieken tegen spam en hoe je die in een specifieke situatie kunt toepassen. In dit geval bij websites die geen mail gebruiken.
Veel organisaties gebruiken naast hun standaard domein één of meer varianten op de naam om te voorkomen dat de naam van de organisatie misbruikt wordt, of gewoon omdat het soms gemakkelijker is om een kortere naam te gebruiken.
Dit soort domeinen hebben meestal een statische-, doorsturende- of helemaal geen website en gebruiken geen mail. Om te voorkomen dat er vanaf dit soort domeinen spam- of phishing mail verstuurd wordt is het van belang dat een drietal DNS onderdelen ingesteld worden:
MX records
Een MX record voor een domein is zeg maar de postbus van dat domein. Op een domein waar je geen post wilt ontvangen of versturen heb je hem helemaal niet nodig. Toch zie je vaak MX records staan, omdat het standaard in het afleverpakket zit van de hosting provider.
Het is dus van belang om te kijken of het domein MX records heeft en als dat zo is, deze te laten verwijderen.
Nu komt het ook nog wel eens voor dat fanatieke mailservers, mail die ze niet in de brievenbus kunnen afleveren gewoon op je stoep laten liggen (afleveren bij het A record). Om dat te voorkomen kun je een zogenaamde Null-MX record laten aanmaken. Hierbij geef je met een MX record expliciet aan dat geen ontvangende server is. Meer informatie hierover in RFC7505.
SPF
Een ander gebruikt meganisme is het SPF record. Met een SPF record wordt aangegeven wie er namens dat domein mailberichten mag versturen. Aan de ontvangende kant wordt deze "lijst" gecheckt en als de afzender niet op de lijst staat, wordt het mailbericht niet afgeleverd of als **spam** aangemerkt.
In onze situatie willen we helemaal geen mail. Ontvangen is al geregeld met de Null-MX record. Met een leeg SPF record geven we aan dat alles wat "namens dit domein" verzonden wordt spam is. Zo'n SPF record ziet er als volgt uit:
v=spf1 -all
Meer informatie over SPF records in de bijbehorende RFC: RFC7208
DMARC
Nou, klaar toch? We hebben ontvangende kant uitgezet en de verzendende kant. Prima zo! Op zich wel, maar toen kwam DMARC ook nog even langs. DMARC helpt bij het afhandelen van SPF en DKIM beleid en geeft aan hoe er over afwijkingen gerapporteerd moet worden. DMARC is daarom sterk gekoppeld aan SPF en DKIM.
(DKIM is een techniek waarbij een organisatie verantwoordelijkheid kan nemen voor een bericht dat per e-mail wordt verzonden en wordt gebruikt om authenticiteit te garanderen. Maar aangezien we helemaal geen mail willen is DKIM in deze situatie buiten beeld)
Voor ons huidige doel is het simpel: Alle mail die gezien wordt mag in quarantaine, of weg. We hoeven hierover ook geen rapportages.
v=DMARC1; p=quarantine; pct=100;
En ook DMARC heeft een mooie RFC: RFC7489
En nou in één keer
De bovenstaande instellingen gelden eigenlijk vrij generiek voor alle domeinen waarop je geen mail wilt ontvangen of verzenden. Dit maakt het mogelijk om er een standaard tooltje voor te maken. Ik heb hiervoor een klein PowerShell scriptje in elkaar geknutseld dat tekst genereert die je dan in één keer in een mailbericht naar je DNS provider kunt sturen.
(Of om lekker zelf bij de hand te houden als je de instellingen voor je domein zelf moet doen).
Het heeft twee invoervelden. org: voor de organisatie (voor in het te genereren mailbericht) en domein: voor het aan te passen domein. Als beide velden ingevuld zijn, kun je met genereren de tekst genereren. Het ziet er dan zo uit:
Voor de liefhebbers is het script beschikbaar via github.
Harm ter Veer