Pošta k vám chodí bez MTA-STS
Čo to je
MTA-STS (RFC 8461) je pravidlo, ktoré hovorí cudzím poštovým serverom: „poštu pre túto doménu doručuj len šifrovane a len na tieto servery“. Skladá sa z dvoch častí: TXT záznamu _mta-sts v DNS a malého textového súboru na vašom webe.
Pozerali sme sa len na verejné DNS a na ten verejný súbor s pravidlom. Nevidíme, ktoré servery vám poštu skutočne posielajú ani ako ju doručujú.
Prečo je to problém
E-mail medzi servermi sa šifruje „ak sa dá“. Útočník na ceste môže šifrovanie potlačiť a poštu prečítať alebo sfalšovať. Bez MTA-STS to odosielateľ nespozná.
- Pre malú firmu ide o faktúry, zmluvy a obnovu hesiel, ktoré chodia e-mailom.
- Nič sa neprezradilo a pošta funguje. Ide o chýbajúcu ochranu, nie o aktívny únik. Preto to patrí medzi odporúčania.
- MTA-STS chráni poštu, ktorá chodí k vám. Odchádzajúcu poštu nerieši.
Ako to opraviť
1. Zistite svoje MX servery
dig +short MX example.sk2. Vytvorte súbor s pravidlom
Súbor musí byť dostupný na adrese https://mta-sts.example.sk/.well-known/mta-sts.txt, s platným certifikátom, odpoveďou 200 bez presmerovania a typom text/plain. Začnite v režime testing:
version: STSv1
mode: testing
mx: mail.example.sk
max_age: 604800Riadkov mx: môže byť viac, po jednom na každý MX server. Hviezdička je povolená len na začiatku mena (*.example.sk). max_age je čas v sekundách, počas ktorého si odosielateľ pravidlo pamätá. 604800 je týždeň.
3. Publikujte TXT záznam
_mta-sts.example.sk. TXT "v=STSv1; id=20261109T000000"Hodnota id je ľubovoľný reťazec. Pri každej zmene súboru ju zmeňte, inak odosielatelia starú verziu nenačítajú znova.
4. Prejdite na enforce
Po pár týždňoch bez problémov (ideálne s reportmi z TLS-RPT) zmeňte mode: testing na mode: enforce a zmeňte id.
Ďalšie varianty tohto nálezu
Režim testing
Pravidlo je nasadené, ale pri chybe odosielateľ poštu doručí aj tak. Zatiaľ nechráni. Keď sú reporty čisté, prepnite na enforce.
Príliš krátke max_age
Pravidlo funguje, len rýchlo vyprší a odosielatelia ho musia často sťahovať znova. Nastavte aspoň týždeň (max_age: 604800). Hlásime hodnotu pod jedným dňom (86400).
MX server nie je v pravidle
Niektorý z vašich MX serverov nesedí na žiadny riadok mx:. Pošta naň zostáva bez ochrany a v režime enforce ju odosielatelia odmietnu doručiť. Riadky mx: musia pokryť každý server z výpisu dig MX.
TXT záznam bez pravidla
V DNS je záznam _mta-sts, ale súbor na mta-sts.example.sk sa nepodarilo stiahnuť alebo prečítať (chýba subdoména alebo certifikát, zlý typ obsahu, chybný formát). Odosielatelia potom dostanú nefunkčné pravidlo. Opravte súbor, alebo záznam zmažte.
Keď hostiteľ pravidla náš dopyt odmietne (chyba 401, 403, 429, 5xx alebo ochranná kontrola CDN či firewallu), nález nehlásime. Nevieme určiť, že pravidlo chýba, a riadok v stráži zostane neoverený. Súbor musí byť verejne čitateľný bez prihlásenia a bez kontrol robotov, inak ho nestiahnu ani odosielatelia pošty.