Pošta k vám chodí bez MTA-STS
Co to je
MTA-STS (RFC 8461) je pravidlo, které říká cizím poštovním serverům: „poštu pro tuto doménu doručuj jen šifrovaně a jen na tyto servery“. Skládá se ze dvou částí: TXT záznamu _mta-sts v DNS a malého textového souboru na vašem webu.
Dívali jsme se jen na veřejné DNS a na ten veřejný soubor s pravidlem. Nevidíme, které servery vám poštu skutečně posílají ani jak ji doručují.
Proč je to problém
E-mail mezi servery se šifruje „pokud to jde“. Útočník na cestě může šifrování potlačit a poštu přečíst nebo podvrhnout. Bez MTA-STS to odesílatel nepozná.
- Pro malou firmu jde o faktury, smlouvy a resetování hesel, které chodí e-mailem.
- Nic se nevyzradilo a pošta funguje. Jde o chybějící ochranu, ne o aktivní únik. Proto to patří mezi doporučení.
- MTA-STS chrání poštu, která chodí k vám. Odchozí poštu neřeší.
Jak to opravit
1. Zjistěte své MX servery
dig +short MX example.cz2. Vytvořte soubor s pravidlem
Soubor musí být dostupný na adrese https://mta-sts.example.cz/.well-known/mta-sts.txt, s platným certifikátem, odpovědí 200 bez přesměrování a typem text/plain. Začněte v režimu testing:
version: STSv1
mode: testing
mx: mail.example.cz
max_age: 604800Řádků mx: může být víc, po jednom na každý MX server. Hvězdička je povolená jen na začátku jména (*.example.cz). max_age je doba v sekundách, po kterou si odesílatel pravidlo pamatuje. 604800 je týden.
3. Publikujte TXT záznam
_mta-sts.example.cz. TXT "v=STSv1; id=20261109T000000"Hodnota id je libovolný řetězec. Při každé změně souboru ji změňte, jinak odesílatelé starou verzi nenačtou znovu.
4. Přejděte na enforce
Po pár týdnech bez problémů (ideálně s reporty z TLS-RPT) změňte mode: testing na mode: enforce a změňte id.
Další varianty tohoto nálezu
Režim testing
Pravidlo je nasazené, ale při chybě odesílatel poštu doručí stejně. Zatím nechrání. Když jsou reporty čisté, přepněte na enforce.
Příliš krátké max_age
Pravidlo funguje, jen rychle vyprší a odesílatelé ho musí často stahovat znovu. Nastavte alespoň týden (max_age: 604800). Hlásíme hodnotu pod jedním dnem (86400).
MX server není v pravidle
Některý z vašich MX serverů nesedí na žádný řádek mx:. Pošta na něj zůstává bez ochrany a v režimu enforce ji odesílatelé odmítnou doručit. Řádky mx: musí pokrýt každý server z výpisu dig MX.
TXT záznam bez pravidla
V DNS je záznam _mta-sts, ale soubor na mta-sts.example.cz se nepodařilo stáhnout nebo přečíst (chybí subdoména nebo certifikát, špatný typ obsahu, chybný formát). Odesílatelé pak dostanou nefunkční pravidlo. Opravte soubor, nebo záznam smažte.
Když hostitel pravidla náš dotaz odmítne (chyba 401, 403, 429, 5xx nebo ochranná kontrola CDN či firewallu), nález nehlásíme. Neumíme poznat, že pravidlo chybí, a řádek v hlídání zůstane jako neověřený. Pustit k souboru veřejné čtení bez přihlášení a bez kontrol robotů je podmínka, aby ho mohli stáhnout i odesílatelé pošty.