- Door
- Sebastian Broekhoven (Networking4all)
- geplaatst op
- 13 juli 2016 10:00 uur
E-mail is nog steeds één van de belangrijkste communicatiemiddelen ter wereld. Maar omdat het een communicatiemiddel is dat niet zonder het internet kan, is veiligheid van groot belang: onbeveiligd e-mail verkeer kan betekenen dat het afgeluisterd of misbruikt kan worden. In deze serie gaan we dieper in op problemen die kunnen voorkomen bij het niet, of verkeerd, beveiligen van e-mail verkeer.
Deel 4: SPF, DKIM en DMARC
In dit laatste hoofdstuk van onze serie over e-mail beveiliging willen we e-mail beveiliging in de praktijk gaan toepassen. Hiervoor kijken we naar de drie toepassingen die we al eerder besproken in het artikel over spoofing: SPF, DKIM en DMARC.
SPF: in de nameserver
Het aanmaken van een SPF record gebeurt in de nameserverconfiguratie van het domein, door een TXT-record aan te maken direct onder de domeinnaam met de inhoud:
domeinnaam.nl TXT “v=spf1 a:mail.domeinnaam.nl -all
Dit record geeft aan dat de host mail.domeinnaam.nl e-mail mag versturen namens @domeinnaam.nl. Het heeft echter geen invloed op de host mail.domeinnaam.nl, waardoor het kan gebeuren dat [email protected] gewoon e-mail mag versturen vanaf een willekeurige host. Om dit te blokkeren moet de volgende regel toegevoegd worden aan het TXT-record:
mail.domeinnaam.nl TXT “v=spf a -all
De volgende stap is het beveiligen van de webserver waarop www.domeinnaam.nl gehost wordt, bijvoorbeeld hosting001.domeinnaam.nl. Webservers zijn vaak het doelwit van script-kiddies of hackers; ze proberen informatie los te peuteren, zich een weg naar binnen te banen of spam te versturen. Om te blokkeren dat iemand namens www.domeinnaam.nl spam verstuurt, is het aan te raden om de volgende regel toe te voegen:
www.domeinnaam.com TXT “v=spf1 -all
Gevolgd door deze regel, om er voor te zorgen dat webformulieren wel gewoon blijven werken:
hosting001.domeinnaam.nl TXT “v=spf1 a -all
SPF records kunnen op nog honderden andere manieren worden opgezet en uitgebreid. Een veelgebruikt record is de volgende regel:
domeinnaam.nl TXT “v=spf1 a mx ~all
Deze geeft aan dat alles met een A-record met domeinnaam.nl mag versturen, en dat alle genoemde MX-records ook mogen versturen als domeinnaam.nl. Het grote verschil met de bovenstaande voorbeelden is de toevoeging van ‘~all’, in plaats van ‘-all’, wat inhoudt dat al het andere geblokkeerd moet worden. Het gebruik van ‘~all’ geeft aan dat er vraagtekens geplaatst mogen worden bij alle andere mail die verstuurd wordt vanuit domeinnaam.nl waarvan de host niet in het SPF record staat. Op dat moment mag het spamfilter van de ontvanger bepalen of het de mail wel of niet doorlaat.
Het gevaar van PTR records
Vanwege de veiligheidslekken die het kan creëren is het verstandig om nooit de optie ‘ptr’ te gebruiken in een SPF record, zoals in dit voorbeeld:
domeinnaam.nl TXT “v=spf1 a mx ptr -all
PTR records vallen vaak onder het beheer van de eigenaar van het IP adres en niet onder het beheer van de eigenaar van de domeinnaam. Bij de meeste leveranciers van VPS’en is er de mogelijkheid om een PTR record op te geven voor de VPS. Een kwaadwillende kan zo op een willekeurige VPS een record aanmaken op mail.domeinnaam.nl, waarna de VPS leverancier hiervoor een PTR record aanmaakt, zonder dat de daadwerkelijke eigenaar van mail.domeinnaam.nl hier weet van heeft. Vervolgens kan de hacker mail versturen vanaf mail.domeinnaam.nl, die volgens de SPF-techniek ‘legitiem’ is.
SPF heeft zo zijn nut, maar door de bugs en ontwerpfouten die het bevat is het helaas niet waterdicht. Wilt u meer leren over de toepassing van SPF, kijk dan op http://www.openspf.org. Om uw SPF record te testen kunt u terecht op http://mxtoolbox.com/spf.aspx.
DKIM: voeg een handtekening toe aan je e-mail
DKIM is een techniek die een wisselwerking heeft tussen de mailservers en de DNS. DKIM is zelf geen anti-spam techniek, maar een techniek die de echtheid van een e-mail kan bewaken.
Om te beginnen is er een aanpassing nodig op de mailserver of de e-mail gateway om DKIM te kunnen toepassen, en moet de mailserver of de gateway de techniek ondersteunen. E-mail gateways of spamfilters met uitgaande e-mail optie (zoals SpamExperts) ondersteunen dit vaak al.
Na het instellen van de DKIM techniek moeten er keys gegenereerd worden. Er wordt een private key geplaatst op de mailserver, en er wordt een public key opgenomen in de DNS met de juiste opties. Dit worden vaak lange keys. DKIM werkt met een zogenaamde ‘selector’, die met het verzenden meegenomen wordt in de header van de e-mail. Deze selector moet hetzelfde zijn als is aangegeven in de DNS. Het volgende voorbeeld geeft aan hoe dit opgenomen wordt in de DNS:
selector._domainkey.domeinnaam.nl TXT “v=DKIM1; p=uw-gegenereerde-public-key
De informatie zoals deze meegegeven wordt in de header ziet er bijvoorbeeld zo uit:
Authentication-Results: mail.domeinnaam.nl;
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=domeinnaam.nl; s=selector;
h=MIME-Version:Content-Type:Message-ID:Date:Subject:To:From;
bh= hier-een-hash-voor-body;
b=hier-de-hash-data;
Wilt u meer leren over DKIM, kijkt u dan op http://dkim.org. Om uw DKIM instellingen te testen kunt u terecht op http://mxtoolbox.com/DKIM.aspx.
DMARC: SPF en DKIM komen samen
DMARC staat voor Domain-based Message Authentication, Reporting & Conformance en is een combinatie van een goed geconfigureerde SPF record en een goed ingestelde DKIM configuratie. DMARC controleert of het ‘header from’-veld in de e-mail overeen komt met het veld ‘envelope from’ zoals dat door SPF gecontroleerd wordt, en kijkt of het ‘header from’- veld overeen komt met het deel ‘d=domeinnaam.nl’ uit de DKIM-handtekening. De e-mail wordt afgeleverd bij de ontvanger als hij door deze controles heen komt.
Maar het doet nog een stukje extra: bij een goede implementatie van DMARC bij de provider kan aangegeven worden of er rapportage gedaan moet worden. Dit wordt in het TXT record in de DNS opgeslagen. Er zijn twee soorten rapporten:
- Aggregated Data Reporting (RUA)
- Forensic Data Reporting (RUF)
Om deze te ontvangen moet het volgende DNS record aangemaakt worden:
_dmarc.domeinnaam.nl TXT “v=DMARC1; p=quarantine; [email protected]; [email protected]; sp=quarantine
In dit voorbeeld staat onder andere de optie p=quarantine; die aangeeft welke policy gebruikt moet worden voor de afhandeling van e-mails gestuurd naar domeinnaam.nl die niet door de controle komen: none, quarantine, of reject. De optie sp=quarantine; doet ditzelfde voor de subdomeinen van domeinnaam.nl, zoals mail.domeinnaam.nl. Hiermee geven we in dit geval aan dat de e-mails die niet door de check komen, in quarantaine gezet moeten worden.
Wilt u meer leren over DMARC, kijkt u dan op https://dmarc.org. Om uw DMARC instellingen te testen kunt u terecht op http://mxtoolbox.com/dmarc.aspx.
Conclusie
SPF, DKIM en DMARC zijn slimme en handige toepassingen die het beveiligen van uw e-mail verkeer eenvoudiger en overzichtelijk maken. Maar zoals altijd geldt dat er aandacht besteed moet worden bij de instellingen, om fouten te voorkomen. Met de juiste instellingen kunnen ze u echter een hoop kopzorgen schelen en uw mail, mailserver en computer een stuk veiliger maken tegen hackers, spoofers, meeluisteraars en inbrekers.
Lees ook de eerdere artikelen in de serie Hoe werkt e-mailbeveiliging:
- Hoe werkt e-mailbeveiliging deel 1: afluisteren
- Hoe werkt e-mailbeveiliging deel 2: spoofing
- Hoe werkt e-mailbeveiliging deel 3: IDN
Geschreven door Sebastian Broekhoven (Networking4all)
Dit ingezonden artikel is geschreven door Sebastian Broekhoven, Product Specialist Hosting Services bij Networking4all.
Lees ook de onderstaande artikelen van Networking4all
Stuur ook uw blog, achtergrond artikel of andere bijdrage in!
Indien u zelf een interessante bijdrage, zoals een blog, how-to of achtergrond heeft, dan plaatsen wij die graag en dat kost u niks. Neem contact op met de ISPam.nl redactie via [email protected] of kijk op deze pagina voor meer informatie over het leveren van een bijdrage aan ISPam.nl.