E-mailtransport · MTA-STS

MTA-STS blijft hangen in testmodus: zo stapt u veilig over naar enforce

Het korte antwoord

In mode: testing controleren verzendende servers de TLS van uw mailservers, maar leveren ze toch af als de controle mislukt; ze melden het alleen (RFC 8461 §5). Om naar enforce te gaan: lees de TLS-RPT-rapporten tot ze schoon zijn, zorg dat elke MX in het beleid staat en een geldig certificaat voor zijn eigen naam serveert, wijzig de modus, en wijzig de id in uw _mta-sts-record.

Wat een verzender doet, per modus

Het beleidsbestand bepaalt wat een verzendende server doet wanneer hij geen beveiligde verbinding kan opzetten met een van uw MX-hosts:

ModusGeldig certificaat, MX in het beleidControle mislukt
noneLevert af alsof er geen beleid isLevert af
testingLevert af via TLSLevert toch af en meldt de fout
enforceLevert af via TLSLevert niet af bij die host; probeert een andere vermelde MX, of zet het bericht in de wachtrij en probeert opnieuw

Verzenders bewaren uw beleid gedurende max_age seconden en halen het pas opnieuw op wanneer de id in uw _mta-sts-TXT-record verandert. Wijzigt u het bestand zonder de id te wijzigen, dan blijven verzenders die het in de cache hebben de oude modus toepassen tot max_age is verstreken.

Wat testing openlaat, en wat enforce kan breken

  • Testing beschermt niets. Iemand die STARTTLS weghaalt of met een vals certificaat antwoordt, ontvangt de mail nog steeds: in de testmodus levert de verzender toch af. RFC 8461 §5
  • Een MX die in het beleid ontbreekt, ontvangt onder enforce geen mail meer. Verzenders leveren alleen af bij hosts die overeenkomen met een mx:-regel. RFC 8461 §4.1
  • Een certificaat dat de MX-host niet noemt, faalt. Enforce vraagt een geldig, niet-verlopen certificaat van een publieke CA dat overeenkomt met de hostnaam van de MX zelf. RFC 8461 §4.1
  • Het beleidsbestand moet precies zo worden geserveerd. Via HTTPS op mta-sts.<uw domein>, op /.well-known/mta-sts.txt, met een geldig certificaat, als text/plain en zonder redirect. Een verzender die het niet kan ophalen, houdt zijn kopie in de cache tot die verloopt. RFC 8461 §3.3

Controleer uw MTA-STS-beleid

De gratis domeincontrole leest uw _mta-sts-record en beleidsbestand, en vertelt u de modus, de max_age, of het bestand kon worden opgehaald en welke MX-hosts het beleid weglaat.

Gratis, zonder account. Wij lezen alleen publieke DNS en wat uw servers laten zien aan iedereen die verbinding maakt.

Zo lost u het op, stap voor stap

  1. Publiceer eerst TLS-RPT

    Voeg een TXT-record toe op _smtp._tls.example.com met v=TLSRPTv1; rua=mailto:tls-reports@example.com. Verzenders sturen u dan dagelijks een rapport van geslaagde en mislukte TLS-verbindingen (RFC 8460).

  2. Lees de rapporten tot ze schoon zijn

    Zoek naar fouten per MX-host. Een reeks schone rapporten over een normale periode met mailverkeer, vaak een paar weken, is het teken dat enforce veilig is.

  3. Laat elke MX overeenkomen met het beleid

    Elke MX-host moet overeenkomen met een mx:-regel in het beleidsbestand. Een patroon zoals *.mail.example.com dekt maar één label.

  4. Controleer het certificaat van elke MX

    Elke MX moet een geldig, niet-verlopen certificaat van een publieke CA tonen, met zijn eigen hostnaam erin. Een intern of zelfondertekend certificaat faalt onder enforce.

  5. Schakel over naar enforce en verhoog max_age

    Wijzig het bestand naar mode: enforce en zet max_age op minstens een week (604800 seconden).

  6. Wijzig de id

    Wijzig de waarde van id in het _mta-sts-TXT-record, bijvoorbeeld in de datum en tijd van vandaag. Dat is wat verzenders vertelt het nieuwe beleid op te halen.

  7. Voegt u later een MX toe, werk dan eerst het beleid bij

    Voeg de mx:-regel van de nieuwe host toe, wijzig de id, wacht max_age af, en laat pas dan mail naar de nieuwe host gaan.

Veelgemaakte fouten

Het bestand wijzigen maar de id niet

Verzenders die het testbeleid in de cache hebben, blijven het toepassen tot max_age is verstreken, en dat kan weken duren.

In het resultaat van SkyQon: wij halen het beleidsbestand zelf op, dus ons resultaat kan enforce tonen voordat verzenders dat doen. De id is wat hen het laat ophalen.

Een nieuwe MX toevoegen voordat het beleid is bijgewerkt

Onder enforce weigeren verzenders af te leveren bij een host die met geen enkele mx:-regel overeenkomt.

In het resultaat van SkyQon: een bevinding noemt elke MX-host die met geen enkele mx:-regel overeenkomt. In enforce-modus staat erbij dat verzenders die hosts weigeren of overslaan; in testing-modus dat er nog niets wordt geweigerd.

Het beleid achter een redirect serveren

Veel webservers sturen standaard door. RFC 8461 verbiedt een redirect te volgen voor het beleidsbestand, dus verzenders behandelen MTA-STS als ontbrekend.

In het resultaat van SkyQon: een bevinding dat het beleid niet kon worden opgehaald, met de reden, zoals een redirect of een ander contenttype dan text/plain.

Een max_age van enkele minuten

Verzenders halen het beleid dan voortdurend op, en op een slechte dag vallen ze sneller terug op geen beleid.

In het resultaat van SkyQon: een bevinding wanneer max_age korter is dan één dag.

Wat SkyQon wel en niet doet

Wat het vindt

Uw _mta-sts-record en beleidsbestand: de modus, max_age, of elke MX-host overeenkomt met een mx:-regel, of het bestand kan worden opgehaald, en of er een TLS-RPT-adres is gepubliceerd.

Wat u krijgt

In de gratis controle een bevinding voor de testmodus en voor MX-hosts die het beleid weglaat. Op een bewaakt domein een waarschuwing zolang het beleid in testing blijft of een MX-host weglaat. Vanaf Pro de TLS-RPT-rapporten die verzenders u sturen, gelezen en samengevat.

Wat het niet is

Wij beoordelen het certificaat van elke MX nog niet voor MTA-STS, en wij wijzigen uw beleidsbestand niet. Controleer de MX-certificaten voordat u enforce instelt.

MTA-STS: veelgestelde vragen

Hoe lang moet ik in de testmodus blijven?
Tot uw TLS-RPT-rapporten schoon zijn over een normale periode met mailverkeer, vaak een paar weken. RFC 8461 legt geen vaste periode vast.
Heb ik TLS-RPT nodig om MTA-STS te laten werken?
Nee, maar zonder TLS-RPT ziet u geen fouten zolang u in testing zit, dus u kunt op geen enkele manier weten wanneer enforce veilig is.
Wat gebeurt er met mail als het certificaat van een MX onder enforce verloopt?
Verzenders leveren niet af bij die host. Ze proberen een andere MX die de controle doorstaat, of houden het bericht in de wachtrij en proberen opnieuw. De meeste mailservers proberen het enkele dagen opnieuw voordat ze een bericht terugsturen.
Beschermt MTA-STS de mail die ik verstuur?
Nee. Het vertelt andere servers hoe ze mail bij u moeten afleveren. Mail die u verstuurt, wordt beschermd door het eigen beleid van het ontvangende domein.
Is MTA-STS hetzelfde als DANE?
Nee. DANE publiceert certificaatgegevens in DNS en heeft DNSSEC nodig; MTA-STS gebruikt een beleid via HTTPS en certificaten van publieke CA's. Een domein kan beide publiceren, en MTA-STS gaat nooit boven een mislukte DANE-controle. SkyQon controleert ook DANE op uw inkomende mail.
Welke max_age moet ik gebruiken?
RFC 8461 staat tot 31557600 seconden toe, ongeveer een jaar. Een week (604800) of langer is gebruikelijk onder enforce; korter tijdens testing, zodat een wijziging verzenders sneller bereikt.
Wat doet mode: none?
Het trekt het beleid in. Gebruik het wanneer u met MTA-STS stopt: publiceer mode: none, wijzig de id, en verwijder de records pas nadat max_age is verstreken.
Waarom is de id zo belangrijk?
Verzenders bewaren het beleid in de cache en kijken naar de id in het TXT-record om te beslissen of ze het opnieuw ophalen. De id is het enige signaal dat ze hebben dat er iets is veranderd.

Weet wanneer enforce veilig is.

De gratis controle toont uw MTA-STS-modus van vandaag. Vanaf Pro leest SkyQon uw TLS-RPT-rapporten, zodat u de fouten ziet voordat u overschakelt.