Hoe voorkom je dat mail van mailinglijsten in spamboxen belandt?
- 21 juli 2016
Om op de juiste manier volgers en geïnteresseerden te bereiken maken we gebruik van een aantal mailinglijsten. Een paar daarvan vind je op mailing.bof.nl, onze publieke Mailman-installatie. Mailman zorgt ervoor dat één e-mail aan bijvoorbeeld privacycafe@mailing.bof.nl aan alle leden gestuurd wordt. Heel interessant voor spammers, dus zochten we naar een oplossing om spam tegen te gaan, terwijl onze eigen mail wél aankomt. Hier onze tips voor iedereen met een mailinglijst.
Onze systeembeheerder weet hoe computers en het internet in elkaar zitten. In deze serie geeft hij praktische tips die jij kunt gebruiken om het leven beter te maken. Niet elke blogpost zal voor iedereen begrijpelijk of handig zijn, kijk daarom in het categorie-overzicht om te zien of er iets voor jou tussen staat. We hopen dat je er iets aan hebt!
Het probleem
In april 2014 publiceerde Yahoo een instructie voor andere mailservers waardoor mail van Yahoo-adressen werd geweigerd als de berichten niet geverifieerd konden worden met de authenticatietechnieken SPF en DKIM. Dit zorgde voor een piek in geweigerde mail van mailinglijsten en systeembeheerders moesten snel handelen om mail van Yahoo-gebruikers weer aan te laten komen. Hoe dat kwam? Nou, maillijstsoftware zoals Mailman stuurt een bericht van één adres naar een heleboel ontvangers, die meestal gebruikmaken van meerdere mailservers, waarop steeds vaker het DMARC-record wordt gecontroleerd. Dit record is te vinden in het DNS. Als dit record bestaat en het aangeeft dat ongeverifieerde berichten geweigerd moeten worden, zal de mailserver proberen met SPF en DKIM te achterhalen of de maillijstserver wel bevoegd is om mail van Yahoo-adressen te versturen. Dat is het natuurlijk niet, omdat Yahoo alleen haar eigen servers mail van Yahoo-adressen laat verzenden. Dit maakt DMARC in combinatie met SPF en DKIM een prachtige maatregel tegen phishing, maar een probleem voor mailinglijsten, omdat die vaak mail namens anderen versturen.
Sender Policy Framework
Acht jaar eerder, in april 2006, publiceerde de Internet Society RFC 4408, over het Sender Policy Framework (SPF). Dit systeem maakt het mogelijk om in het TXT-record van een domeinnaam de IP-adressen van mailservers op te geven die bevoegd zijn mail van dat domein te verzenden. Dat werkt prima tegen spam, maar biedt geen bescherming tegen Man-in-the-Middle aanvallen waarbij het IP-adres wordt vervalst of de inhoud van legitieme berichten wordt aangepast.
DomainKeys Identified Mail
Daarom publiceerde de IETF Trust in mei 2007 een memo over DomainKeys Identified Mail (DKIM), in RFC 4870. DKIM biedt integriteitscontrole van de e-mail en authenticatie van de verzendende mailserver. Dit wordt gedaan met een elektronische handtekening waarvan de publieke sleutel is gepubliceerd in, je raad het al, het DNS. Om de integriteit van de DNS records te waarborgen kan dan ook nog gebruik worden gemaakt van DNSSEC.
De oplossing
Omdat leden van de Privacy Café mailinglijst ook last hadden van dit probleem, ontstond er al snel een discussie over hoe dit het beste aangepakt kon worden. De oplossing was eigenlijk vrij simpel: stel Mailman zo in dat de From: header het e-mailadres van de lijst bevat (in plaats van het gespoofde adres van de afzender), en zet het e-mailadres van de afzender in de Reply-To: header. Deze laatste header geeft aan wie de begunstigde van een reply moet zijn. In de From: header zal iets staan als Imre Jonk via Privacycafe <privacycafe@mailing.bof.nl>. In Mailman doe je dit door deze regel toe te voegen aan /etc/mailman/mm_cfg.py:
ALLOW_FROM_IS_LIST = Yes
Je moet nu alleen nog in de webinterface de optie from_is_list wijzigen naar Mung From. Pas dan zal Mailman de From: headers aan gaan passen.
Extra maatregelen
Het is natuurlijk wel zo netjes om maatregelen tegen misbruik van je maillijstserver te nemen. Dit kan bijvoorbeeld door een spamfilter als SpamAssassin te installeren die inkomende berichten en berichten van leden filtert op spam. Ook zou je zelf een SPF-record kunnen publiceren en uitgaande berichten kunnen ondertekenen met DKIM. Deze maatregelen hebben we voor onze publieke maillijstserver al genomen. We zijn nu bezig een eigen DMARC-beleid op te stellen. Dit zorgt ervoor dat het moeilijker is ongeautoriseerd mail te versturen namens bof.nl, maar kan dus problemen opleveren met mailinglijsten die bovenstaande oplossing nog niet hebben geïmplementeerd. Beheer jij een mailinglijst? Dan doe je er goed aan hier rekening mee te houden.