[ Transportsäkerhet ]

MTA-STS policysyntax: version, läge, MX och max_age

Validera policykroppen separat från Discovery TXT posten och bevara innebörden av varje obligatoriskt fält.

Av EmailAuth forskningsteam

[Nyckelpunkter]

  • DNS upptäckt och HTTPS-policyn använder olika format.
  • Parsning av protokollförsta värde skiljer sig från strängare dubblettfältspublikationslint.
  • En giltig policyfil bevisar inte giltig SMTP leverans.
På den här sidan

En MTA-STS distributionen har två distinkta format. DNS annonserar v=STSv1; id=20261107A, medan HTTPS har en linjeorienterad policy. Att placera DNS strängen i policyfilen, eller policykroppen i DNS , skapar inte en fungerande distribution.

Bygg minimalpolitiken medvetet

Referenser: RFC 8461 §3.2.

Ett testexempel för den reserverade domänen example.com är:

version: STSv1-läge: testning mx: mx1.example.net max_age: 86400

Varje fält är på sin egen linje. Visa dessa som vanlig text på https://mta-sts.example.com/.well-known/mta-sts.txt. Detta är en illustrativ konfiguration, inte ett påstående om att dessa värdar kör e-posttjänster.

Version, läge och max_age krävs. Minst en mx-linje krävs förutom läge ingen. Tillåtna lägen är testning, verkställighet och inga. max_age är ett icke-negativt heltal av sekunder, skrivet med en till tio siffror, med ett maximalt värde på 31557600. En dag i det här exemplet är ett observationsfasval, inte en allmänt rekommenderad produktionslivslängd; längre livslängder förbättrar motståndet mot avbruten policyuppdatering men förlänger exponeringen för inaktuell policy.

Se till att parserbeteendet skiljer sig från redaktionellt lint

Referenser: RFC 8461 §3.2.

RFC 8461 avsnitt 3.2 tillåter LF- eller CRLF-linjeavslutningar. Obligatoriska fältnamn och angivna värden är skiftlägeskänsliga. Flera MX mönster hör hemma på separata mx-linjer, inte en kommaseparerad lista. Internationaliserade namn använder sin ASCII A-etikettform.

En överensstämmande parser ignorerar okända fält och ignorerar efterföljande kopior av ett icke-upprepat fält efter dess första förekomst. Därför läge: testning följt av läge: verkställa inte tillförlitligt upprätthåller någonting: det första läget styrs enligt specifikationen. En distributionslinter bör avvisa denna tvetydighet för publicering även om protokollet definierar hur det ska analyseras. Dokumentera denna strängare redaktionella regel istället för att hävda att alla dubbletter av fält gör protokollpolicyn ogiltig.

Återge de kritiska distinktionerna

Skapa en UTF-8-fil som innehåller exemplet med fyra rader. Kontrollera att uppdelningen i rader ger fyra nyckel-/värdepar och ett MX värde. Lägg till en andra mx-rad och förvänta dig två tillåtna värdar. Lägg till en andra lägesrad och jämför förstavärdesanalys med den striktare publiceringslint. Byt ut max_age med -1, 31557601 och ett ord, och förvänta dig att var och en misslyckas med intervall- eller numerisk kontroll.

Det här granskningspaketet innehåller en körbar avgränsad fixtur för fall med första värde, numerisk gräns och jokertecken. Det är inte en komplett ABNF-parser eller en produktion MTA. Den nyligen inspelade offlinekörningen klarar de begränsade kontrollerna. Att godkänna det bevisar de angivna lokala jämförelserna, inte DNS upptäckt, HTTPS-certifikatvalidering eller SMTP leverans.

Publicera först efter att hela rutten är överens

Referenser: RFC 8461 §3.3, RFC 8461 §4.

Behåll de exakta filbytena och deras hash, upptäckts TXT värdet, MX svaren och den avsedda cacheminnets livslängd. Hämta den fasta webbadressen utan att följa omdirigeringar och inspektera dess kropp. Verifiera sedan alla annonserade MX :s STARTTLS och certifikatidentitet innan du väljer att tillämpa. En syntaktisk giltig fil kan inte kompensera för ett saknat MX mönster eller ett ogiltigt mottagningscertifikat.

Bevarade historiska bevis och kvarvarande omfattning

Följande är den bevarade labbposten den 7 november 2026, inspekterad men inte körd som ett nätverksexperiment för denna granskning. Exekvering av ny offline-fixtur spelas in separat.

Det utökade isolerade labbet analyserade faktisk policytext. En upprätthållande policy med fyra rader producerade ett verkställande beslutsobjekt med den tillåtna gamla MX och max_age 86400. Organ utan MX , max_age 31557601 eller STSv2 avvisades. Ett duplicerat andra läge behöll det första testvärdet. Efter en riktig loopback STARTTLS handskakning misslyckades värdnamnsverifieringen, producerade den begränsade beslutsmotorn allow_despite_sts_failure för testning och do_not_deliver_to_candidate för enforce. Dessa är fångade fixturbeslut, inte observationer av en produktions-MTA-kö. Parsern stöder avsiktligt endast ASCII-fallen som listas här och är inte en komplett ABNF-implementering.

[ Takeaway ]

En giltig policyfil bevisar inte giltig SMTP leverans.

[Efter roll]

Vad detta betyder för dig

Välj din roll för praktiska nästa steg.

IT / Mail Admin

Kontrollera grammatik och leverans separat

En ren analys bevisar inte att mottagningsrutten fungerar.

Nästa steg

  1. Lint obligatoriska fält och intervall.
  2. Hämta den exakta webbadressen.
  3. Testa varje annonserad MX .

CISO / SecOps

Avvisa tvetydighet i publiceringen

Dubblettfält kan dölja ett annat effektivt läge än det avsedda.

Nästa steg

  1. Avvisa tvetydiga dubbletter av fält i publicering.
  2. Granska jokerteckens omfattning.
  3. Separera syntaxbevis från transportbevis.

Grundare / Icke-teknisk

Godkänn en medveten policy

Läget och livslängden är operativa beslut, inte bara textfält.

Nästa steg

  1. Godkänn det avsedda läget.
  2. Namnge försäkringsägaren.
  3. Behåll en återställningskopia.

[ Vanliga frågor ]

Vanliga frågor

Är STSv1 samma stavning på båda ställena?

Ja, men DNS använder v=STSv1 medan filen använder version: STSv1.

RFC 8461 §3.1 RFC 8461 §3.2

Kan läget vara versaler?

Använd de angivna värdena för testning av gemener, framtvinga eller inga.

RFC 8461 §3.2

Är LF-linjeändelser tillåtna?

Ja. Policygrammatiken accepterar LF eller CRLF.

RFC 8461 §3.2

Kan jag lista flera MX namn på en rad?

Använd en separat mx-linje för varje tillåtet mönster.

RFC 8461 §3.2

Vad mäter max_age?

Maximal livstid för policycache i sekunder från avsändarens hämtning.

RFC 8461 §3.2

Åsidosätter ett senare läge det första?

Nej. Protokollet ignorerar efterföljande kopior av icke-upprepade fält.

RFC 8461 §3.2

Är okända fält alltid fel?

Nej. Syntaktiskt giltiga okända fält ignoreras av protokolltolkare.

RFC 8461 §3.2

Bevisar giltig syntax att leveransen fungerar?

Nej. Discovery, HTTPS och varje SMTP rutt behöver fortfarande kontrolleras.

RFC 8461 §3.3 RFC 8461 §4

[ Källor ]

Källor

  1. RFC 5890

    Avsnitt §2.3.2.1

  2. RFC 8461

    Avsnitt §3.1 · §3.2 · §3.3 · §4

[ Ordlista ]

Ordlista

Policyorgan
Den HTTPS-värdade linjeorienterade MTA-STS konfigurationen.

RFC 8461 §3.2

max_age
Maximal livstid för policycache i sekunder.

RFC 8461 §3.2

A-etikett
En validerad ASCII-kompatibel IDNA-etikett, snarare än någon godtycklig Punycode-utseende sträng.

RFC 5890 §2.3.2.1

Företagets härkomst

Varför toppfinansiella institutioner och regeringar avvecklat sina instrumentpaneler för e-postsäkerhet.

Traditionella plattformar för e-postautentisering säljer dig en instrumentpanel och ber dina ingenjörer att göra jobbet. I miljöer med hög insats innebär manuell övervakning försenad tillämpning, konfigurationsdrift och oövervakade skuggdomäner.

EmailAuth är den agentiska e-postplattformen. Våra agenter verkställer p=reject, håll avsändare från tredje part i linje och flytta dina domäner till fulla RFC 9989 överensstämmelse, den nya DMARC standarden, med auditerbarhet för människor i slingan.

regeringar Stora företag Tier-1 finansiella institutioner

SaaS · Dedikerad hyresavtal · Air-gapped on-prem · BYOK-kryptering

Kunskapsbas