tech2022

Dit zijn de voordelen van MTA-STS

Jan 24, 2022

Dit zijn de voordelen van MTA-STS

Wat is MTA-STS?

MTA-STS (kort voor SMTP Mail Transfer Agent - Strict Transport Security) is een relatief nieuwe e-mailstandaard (2018) die bescherming biedt tegen twee specifieke zwaktes in het e-mailprotocol. Wanneer u een e-mail stuurt zal uw e-mailserver contact zoeken met de e-mailserver van de ontvanger en hopelijk een versleutelde verbinding opzetten. Dit proces bevat twee zwakke punten die MTA-STS oplost: (1) het opzoeken van de e-mailserver van de ontvanger (de zogenaamde MX-record via DNS) en (2) het initiëren van een versleutelde verbinding met die e-mailserver (het zogenaamde STARTTLS-commando via SMTP). Wanneer de verbinding niet versleuteld is kan iedereen op internet die toevallig tussen uw computer en de ontvanger zit de verzonden e-mails lezen of zelfs bewerken voordat ze aankomen.


1. Bescherming tegen DNS spoofing aanvallen

Wanneer u een e-mail verstuurt zal uw computer eerst moeten weten met welke e-mailserver deze moet verbinden. Dit gebeurt via DNS. Aangezien DNS zonder versleuteling verstuurd wordt is het gemakkelijk voor aanvallers om een nepreactie te sturen om uw computer te laten denken dat de e-mail eigenlijk naar een server verstuurd moet worden in het beheer van de aanvaller. Dit heet DNS spoofing. Wanneer u MTA-STS heeft geïmplementeerd zal de verzender de ontvangen DNS gegevens vergelijken met een eerder opgezocht MTA-STS beleid en de verzending annuleren als deze niet overeenkomen. Aangezien dit MTA-STS beleid opgehaald wordt via een beveiligde HTTPS verbiding en lange tijd wordt opgeslagen is de kans op DNS spoofing aanzienlijk kleiner.


2. Bescherming tegen SMTP-downgrade aanvallen

Wanneer uw e-mailprogramma een verbinding start met de ontvangende e-mailserver, zal deze e-mailserver een zogenaamd STARTTLS-commando versturen om een versleutelde verbinding te starten. Aangezien dit commando als leesbare tekst verstuurd wordt kan een aanvaller die zich tussen de verzendende persoon en uw e-mailserver bevindt dit commando ongemerkt weghalen waardoor de beveiligde verbinding nooit gestart wordt en de e-mail dus volledig leesbaar over het internet gestuurd wordt. Dit wordt een SMTP-downgrade aanval genoemd. Met MTA-STS geeft u als het ware vooraf aan dat versleuteling verplicht is om een e-mail te versturen en dat het niet ontvangen van een STARTTLS-commando als verdacht moet worden beschouwd.


Wat is het voordeel tegenover DANE-SMTP?

DANE-SMTP is een concurrerende techniek die eigenlijk vergelijkbare problemen probeert op te lossen, maar via DNSSEC in plaats van HTTP/TLS certificaten. DANE-SMTP biedt wel enkele voordelen ten opzichte van MTA-STS, maar aangezien DNSSEC nog lang niet overal beschikbaar is is MTA-STS voorlopig een goed alternatief om uw organisatie toch te beschermen tegen bovenstaande aanvallen. Bovendien is MTA-STS een goede optie wanneer u de e-mailserver voor uw domein zelf niet beheert en deze DANE-SMTP niet geïmplementeerd heeft.


Aangezien beide technieken elkaar niet in de weg zitten kunt u ze het beste beide gebruiken.


Wat lost MTA-STS niet op?

Alhoewel MTA-STS een aanzienlijke verbetering is ten opzichte van reguliere SMTP beschermt deze techniek niet tegen alle mogelijke aanvallen op uw e-mails. Ook al zorgt MTA-STS ervoor dat uw e-mails versleuteld verstuurd worden, worden deze e-mails nog steeds onversleuteld opgeslagen. Houdt er dus rekening mee dat iedereen die toegang heeft tot de e-mailserver deze e-mails gewoon kan inzien. Let er ook op dat MTA-STS slechts de kans op DNS spoofing verkleint en niet volledig wegneemt, maar hiervoor heeft de aanvaller langdurige controle nodig over een punt op internet tussen de verzender en ontvanger.


Hoe kan ik MTA-STS implementeren?

Zorg ervoor dat uw servers ten minste TLS versie 1.2 gebruiken en dat de TLS certificaten op de e-mailserver nog geldig zijn.


Benodigde DNS records

Maak een TXT-type DNS-record aan genaamd "_mta-sts.domein.nl" (let op de underscore). De waarde moet er ongeveer als volgt uitzien: "v=STSv1; id=2021120100". Hierbij kan het id veranderd worden om aan tegeven dat het MTA-STS beleid vernieuwd is. Dit DNS-record geeft aan dat het domein MTA-STS ondersteund. Maak ook een A-type DNS-record aan genaamd "mta-sts.domein.nl" (dit keer zonder underscore) die verwijst naar de webserver waarop het beleid gepubliceerd zal worden.


Beleid publiceren

Het beleid moet gepubliceerd worden op "https://mta-sts.domein.nl/.well-known/mta-sts.txt". Zorg ervoor dat deze URL beschikbaar is en een geldig TLS-certificaat gebruikt. Gebruik eventueel LetsEncrypt om een gratis TLS-certificaat aan te maken. In dit tekstbestand plaatst u uw MTA-STS beleid, waarbij elke regel een aparte instructie kan bevatten.

  • version: op dit moment gelijk aan "STSv1"
  • mode: hier zijn drie verschillende mogelijkheden (testing: u ontvangt alleen foutrapporten maar e-mails worden niet geweigerd, enforce: e-mails worden niet verzonden wanneer authenticatie faalt, none: MTA-STS is uitgeschakeld)
  • mx: een mailserver die toegestaan wordt voor het domein
  • max_age: de max. levensduur van het huidige beleid in seconden (kies minstens enkele weken maar niet meer dan een jaar)


Een voorbeeld van een MTA-STS beleid:

version: STSv1

mode: enforce

mx: mx1.domein.nl

mx: mx2.domein.nl

max_age: 2592000


Op internet zijn verschillende testers beschikbaar om de correcte instelling van MTA-STS te controleren.