DKIM voorkomt vervalsing van e-mails. Als iemand knoeit met de inhoud van een e-mail, detecteert DKIM dat.
Als iemand knoeit met de inhoud van een e-mail
en de DKIM header verwijdert of wijzigt, detecteert DKIM helemaal niks.
Zonder DMARC is dit inderdaad zo, maar dat maakt DKIM nog niet waardeloos. Je moet dit een beetje 'omdenken': Met DKIM kan je als verzender verantwoordelijkheid nemen voor je e-mail. Je kunt stellen: de verzendende organisatie koppelt zijn reputatie aan de e-mails die worden uitgestuurd. Dankzij DKIM wordt het lastiger voor spammers en phishers om die reputatie te beschadigen. Anders gezegd; als je als verzender zorgt voor een goede reputatie (geen spam, geen phish vanuit jouw domein), dan kun je met behulp van DKIM profiteren van die goede reputatie. Want mails met DKIM zijn gegarandeerd in ongewijzigde vorm zo van jou afkomstig. Deze krijgen een plusje in de slimme e-mail systemen van Google, Microsoft of Yahoo. Zonder DKIM kun je niet profiteren van een goede reputatie, want iedereen kan dergelijke emails gemaakt en/of onderweg veranderd hebben.
Het kan echter vervalste e-mails niet voorkomen in de volgende gevallen:
1) De mail client van de ontvanger laat uitsluitend de "friendly name" zien van de afzender, zoals "International Card Services" (en niet <afzender@example.com>), of de ontvanger let daar niet op;
Dat zegt natuurlijk meer over de gebruikte mail-client (mijne heeft dit gedrag niet bijvoorbeeld) en de oplettendheid van de ontvanger, dan over deze standaarden.
2) De mail client laat netjes de kennelijke afzender zien, bijvoorbeeld: International Card Services <no-reply@ics.nl>
maar de ontvanger weet niet dat ics.nl helemaal niets te maken heeft met icscards.nl [2];
Prima, dan kunnen we dus heel snel ics.nl als spam-domein kwalificeren!
(zeker als de spammer in kwestie ook SPF/DKIM/DMARC heeft aangezet)
In dit concrete voorbeeld is het nog beter; ics.nl is van de Stichting ICS en die heeft keurig SPF aangezet op zijn domein. Als ze nu ook nog DMARC (en liefst ook DKIM) aanzetten, kan de phisher deze domeinnaam niet eens misbruiken.
3) Een e-mail account of PC van een medewerker is gehacked;
4) Een spammer verkrijgt op een andere manier de mogelijkheid om e-mail te verzenden vanuit de organisatie (zie bijv. [3]);
5) De organisatie staat een derde partij toe om e-mails namens hen te verzenden, en daar gaat iets mis met de beveiliging;
6) De ontvangende mailserver doet er niks mee.
Ook voor al deze argumenten geldt: ze diskwalificeren SPF/DMARC/DKIM niet. Ze tonen alleen maar aan dat SPF/DKIM/DMARC bouwstenen zijn die helpen tegen het probleem. Natuurlijk zijn ze niet de zaligmakende totaaloplossing voor al je problemen (want nee, ze beschermen niet tegen het hacken van een PC...)
STARTTLS zorgt voor een beveiligde verbinding tussen verzendende en ontvangende mailserver. DANE dwingt STARTTLS af en geeft zekerheid over de ontvangende identiteit van de ontvangende mailserver. DNSSEC waarborgt in deze keten de echtheid van DANE
DNSSEC en DANE zijn in de praktijk non-existent en onveilig (zie [4]).
Dit is niet waar. Bijna de helft van alle .nl domeinnamen heeft DNSSEC-bescherming. Ook aan de validatiekant gebeurt het e.e.a. Zo valideren de resolvers van XS4ALL bijvoorbeeld. Ook Google Public DNS doet dat (8.8.8.8). Het artikel van sockpuppet.org is op een aantal punten onjuist, zeer vooringenomen en betwistbaar en toont nergens overtuigend aan dat DNSSEC onveilig is.
DANE in combinatie met STARTTLS tussen mailserver's (MTA) neemt ook gestaag toe.
In de praktijk is het nadeel van al deze protocollen dat, indien niet juist geconfigureerd...
Geldt dat niet voor alles in het leven?
Wat ik verder mis is hoe het dan wel zou moeten volgens jou? Ik lees veel kritiek, maar geen alternatieven. Alles zo laten als het was lijkt me nauwelijks een optie. Het is ook niet zo vreemd dat grote mailers massaal aan de DMARC/SPF en DKIM zijn gegaan. Dat doen ze niet zonder reden.