E-mail tussen servers wordt idealiter versleuteld met TLS, maar die versleuteling is van oudsher optioneel. Een aanvaller die het verkeer onderschept kan de versleuteling onderdrukken en de mail in platte tekst meelezen. MTA-STS sluit dat gat door af te dwingen dat mail naar jouw domein altijd versleuteld binnenkomt. Voor organisaties die gevoelige gegevens verwerken is het een waardevolle extra laag.
Het probleem dat MTA-STS oplost
Wanneer een server mail naar jou wil sturen, vraagt hij of jij TLS ondersteunt. Standaard is dit opportunistisch: lukt TLS niet, dan valt de verbinding terug op onversleuteld. Een aanvaller kan die terugval forceren met een downgrade-aanval en zo de mail meelezen of zelfs aanpassen.
MTA-STS maakt versleuteling verplicht. Je publiceert een beleid dat zegt: mail naar mij moet over TLS met een geldig certificaat, anders niet afleveren. Verzendende servers die MTA-STS ondersteunen, waaronder Gmail, respecteren dat beleid. Servers die MTA-STS niet ondersteunen, blijven gewoon op de oude manier afleveren, dus je verliest geen mail van oudere verzenders.
Het beschermt inkomende mail
MTA-STS beschermt je inkomende mail, dus mail die anderen naar jou sturen. Het zegt niets over je uitgaande mail. Voor de versleuteling van uitgaande mail vertrouw je op het MTA-STS-beleid van de ontvanger. Het is dus een wederzijds systeem dat pas volledig werkt als beide kanten het hebben ingericht.
De onderdelen van MTA-STS
MTA-STS bestaat uit twee delen die samenwerken:
- Een klein DNS-record dat het bestaan van een beleid aankondigt. Je publiceert het als TXT-record op
_mta-sts.jouwdomein.nlmet de inhoudv=STSv1; id=.... Hetidis een uniek versienummer dat je wijzigt zodra je het beleid aanpast, zodat verzenders weten dat ze een nieuwe versie moeten ophalen. - Een policy-bestand dat je via HTTPS host en dat de daadwerkelijke regels bevat. Het moet exact
mta-sts.txtheten en bereikbaar zijn ophttps://mta-sts.jouwdomein.nl/.well-known/mta-sts.txt.
Een policy-bestand ziet er bijvoorbeeld zo uit:
version: STSv1
mode: testing
mx: aspmx.l.google.com
mx: *.aspmx.l.google.com
max_age: 604800
De mx-regels moeten overeenkomen met de MX-records in je DNS. De max_age staat in seconden en bepaalt hoe lang verzenders je beleid mogen cachen. Een week (604800) is gangbaar: lang genoeg om efficiënt te zijn, kort genoeg om wijzigingen redelijk snel te laten doorwerken.
Sneller via de Admin console
Gebruik je Google Workspace, dan hoef je het policy-bestand niet zelf te hosten. In de Admin console onder Apps, Gmail, Compliance kun je MTA-STS direct aanzetten en kiest Google de juiste MX-hosts en hosting voor je. Je hoeft alleen nog het _mta-sts-DNS-record te publiceren. Dat scheelt veel handwerk en certificaatonderhoud.
Het stappenplan
Zo zet je MTA-STS op
- Bepaal je beleidsmodus en begin met testing, niet met enforce.
- Stel je policy-bestand samen met je
mx-hosts, demodeen eenmax_age. - Host dat bestand op
https://mta-sts.jouwdomein.nl/.well-known/mta-sts.txt, of zet het in Google Workspace aan via de Admin console. - Zorg dat het
mta-sts-subdomein een geldig TLS-certificaat heeft. - Publiceer het TXT-record op
_mta-sts.jouwdomein.nlmet eenid-versienummer. - Zet TLS-rapportage aan met een TXT-record op
_smtp._tls.jouwdomein.nl. - Controleer met een validatietool of het beleid correct wordt opgehaald.
Beginnen in testmodus
De modus van je beleid bepaalt wat er gebeurt als versleuteling faalt. In testing-modus levert mail nog gewoon af, maar krijg je rapporten over wat er zou zijn geblokkeerd. In enforce-modus wordt mail die niet versleuteld kan worden daadwerkelijk geweigerd.
Ga nooit direct naar enforce
Als je certificaat of je policy-bestand een fout bevat, weigeren verzendende servers in enforce-modus al je inkomende mail. Je merkt dat vaak pas als klanten klagen dat hun bericht bounced. Draai eerst minstens twee weken in testmodus, controleer de TLS-rapporten op problemen en stap pas over op enforce als alles schoon is.
TLS-rapportage erbij
MTA-STS werkt het beste samen met TLS-rapportage (TLS-RPT). Die rapporten vertellen je of er pogingen waren om versleuteld af te leveren die mislukten. Je zet ze aan met een TXT-record op _smtp._tls.jouwdomein.nl, bijvoorbeeld v=TLSRPTv1; rua=mailto:tls-reports@jouwdomein.nl. In testmodus zijn die rapporten je veiligheidsnet: ze tonen wat enforce zou hebben geblokkeerd, zodat je problemen oplost voordat ze klanten raken.
Een gezond uitrolpad ziet er zo uit:
- Je publiceert het beleid in testmodus en zet TLS-rapportage aan. Mail levert gewoon af en de rapporten stromen binnen.
- Je laat dit enkele weken draaien en controleert of de rapporten schoon zijn, dus zonder mislukte versleutelde pogingen.
- Je verifieert dat je certificaat geldig is en je
mx-hosts kloppen met je DNS. - Pas dan zet je
modeopenforce, waarmee versleuteling verplicht wordt. - Je blijft de rapporten monitoren, zodat nieuwe problemen tijdig opvallen.
Onderhoud en certificaten
Een verlopen certificaat op je mta-sts-subdomein breekt het hele systeem in enforce-modus. Zorg voor automatische certificaatvernieuwing en bewaak de geldigheid. Wijzig je je MX-records, werk dan ook je policy-bestand bij en verhoog het id in het DNS-record, anders klopt het beleid niet meer met de werkelijkheid.
Stel monitoring in en vergeet het niet
Stel een herinnering of automatische monitoring in voor zowel je certificaatverloop als de inhoud van je policy-bestand. MTA-STS is iets dat je instelt en daarna vergeet, tot een verlopen certificaat of een gewijzigde MX-host stilletjes je inkomende mail blokkeert. Proactieve monitoring voorkomt die nachtmerrie.
Beschermt MTA-STS mijn uitgaande mail?
Nee, MTA-STS beschermt de mail die anderen naar jou sturen. Voor je eigen uitgaande mail ben je afhankelijk van het MTA-STS-beleid van de ontvanger.
Ondersteunt Gmail MTA-STS?
Ja. Gmail respecteert het MTA-STS-beleid van ontvangende domeinen, en in Google Workspace kun je het zelf in de Admin console aanzetten voor je eigen domein.
Kan ik direct naar enforce?
Technisch wel, maar dat is riskant. Een fout in je certificaat of policy laat verzenders al je inkomende mail weigeren. Begin altijd in testmodus en stap pas over als de rapporten schoon zijn.
Wat gebeurt er bij een verlopen certificaat?
In enforce-modus weigeren verzenders dan je mail, omdat het beleid niet meer geverifieerd kan worden. Daarom is automatische certificaatvernieuwing en monitoring essentieel.
Wat is het verschil met TLS-RPT?
MTA-STS dwingt het beleid af, TLS-RPT geeft je de rapporten over hoe het uitpakt. Ze vullen elkaar aan: zet ze samen aan zodat je ziet wat enforce zou blokkeren.
Verlies ik mail van verzenders zonder MTA-STS?
Nee. Servers die MTA-STS niet ondersteunen leveren gewoon op de oude manier af. MTA-STS verscherpt alleen de afhandeling voor verzenders die het wel ondersteunen.
MTA-STS sluit een oud gat in e-mailbeveiliging door versleuteling van inkomende mail af te dwingen. Het is geen instelling om lichtvaardig op enforce te zetten: begin in testmodus, combineer het met TLS-rapportage, verifieer alles en bewaak je certificaten. Doe je dat zorgvuldig, dan beschermt het je communicatie tegen afluisteren zonder je bezorging te breken.