security.txt, MTA-STS a TLS-RPT: tři jednoduché kroky k vyšší bezpečnosti webu a e-mailu
Bezpečnost webových stránek a e-mailových služeb dnes nekončí u SSL certifikátu, antiviru nebo správně nastaveného SPF, DKIM a DMARC. Existují i méně známé standardy, které mohou výrazně zlepšit způsob hlášení bezpečnostních problémů a zabezpečení e-mailové komunikace.
Mezi ně patří především security.txt, MTA-STS a TLS-RPT.
Každý z těchto mechanismů řeší jinou část bezpečnosti:
- security.txt usnadňuje bezpečnostním výzkumníkům nahlášení zranitelnosti,
- MTA-STS pomáhá vynutit zabezpečený přenos e-mailů pomocí TLS,
- TLS-RPT poskytuje reporty o problémech při šifrovaném doručování elektronické pošty.
Jejich implementace přitom není příliš komplikovaná.
Co je security.txt?
Soubor security.txt představuje standardizovaný způsob, jak zveřejnit kontakt a pravidla pro hlášení bezpečnostních zranitelností.
Standard je definován v RFC 9116.
Pokud například bezpečnostní výzkumník objeví zranitelnost vašeho webu, nemusí hledat kontaktní formulář, technickou podporu nebo e-mail správce serveru. Informace potřebné pro nahlášení problému může najít na standardní adrese:
https://example.com/.well-known/security.txt
Soubor je určen primárně pro komunikaci mezi provozovateli internetových služeb a lidmi, kteří objeví bezpečnostní problém.
Jak může security.txt vypadat
Contact: mailto:Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.
Expires: 2027-08-31T23:59:59Z
Preferred-Languages: cs, en
Canonical: https://example.com/.well-known/security.txt
Nejdůležitější položkou je:
Contact
Ta určuje způsob, kterým lze bezpečnostní problém nahlásit.
RFC 9116 vyžaduje také položku Expires, která určuje dobu platnosti zveřejněných informací.
Použít lze rovněž další položky, například odkaz na bezpečnostní politiku společnosti nebo pravidla programu vulnerability disclosure.
Kam security.txt umístit
Preferované umístění je:
/.well-known/security.txt
tedy například:
https://www.example.com/.well-known/security.txt
Soubor by měl být dostupný přes HTTPS a vracen jako obyčejný text.
Důležité je také vědět, že security.txt platí pro konkrétní doménu nebo IP adresu, ze které je načítán. Automaticky tedy nemusí platit pro všechny subdomény.
Proč security.txt používat
Nejde o mechanismus, který sám o sobě zabrání napadení serveru. Výrazně ale zlepšuje proces responsible disclosure, tedy odpovědného hlášení bezpečnostních problémů.
Pro firmy, hostingové společnosti, internetové obchody nebo provozovatele větších webových služeb může mít velký význam.
Bezpečnostní výzkumník například objeví chybu umožňující obejít autentizaci. Pokud nenajde vhodný kontakt, může problém zůstat dlouhou dobu nenahlášený.
Security.txt mu jednoznačně říká:
„Bezpečnostní problém nám oznamte zde.“
Implementace je přitom otázkou několika minut.
Co je MTA-STS?
MTA-STS znamená:
Mail Transfer Agent Strict Transport Security
Jde o standard definovaný v RFC 8461, jehož cílem je zvýšit bezpečnost komunikace mezi e-mailovými servery.
SMTP bylo původně vytvořeno v době, kdy šifrovaná komunikace nebyla samozřejmostí. Později vzniklo rozšíření STARTTLS, které umožňuje SMTP spojení zabezpečit pomocí TLS.
Problémem je, že běžný STARTTLS může za určitých okolností umožnit návrat k nešifrovanému spojení.
Právě tento problém pomáhá řešit MTA-STS.
Jak MTA-STS funguje
Doména pomocí DNS oznámí ostatním e-mailovým serverům:
„Pro naši doménu existuje bezpečnostní politika MTA-STS.“
Odesílající server si následně tuto politiku stáhne přes HTTPS.
MTA-STS politika může určit například:
- které MX servery jsou oprávněné přijímat e-mail,
- že musí podporovat TLS,
- že jejich TLS certifikát musí být platný,
- jak dlouho si má odesílající server pravidla uchovávat.
Tím se výrazně snižuje riziko některých útoků proti SMTP komunikaci.
DNS záznam MTA-STS
Pro doménu example.com může být vytvořen TXT záznam:
_mta-sts.example.com
s hodnotou například:
v=STSv1; id=20260831
Parametr id slouží mimo jiné jako identifikátor aktuální verze politiky.
Pokud konfiguraci změníte, je vhodné změnit také jeho hodnotu.
MTA-STS policy
Samotná politika musí být dostupná přes HTTPS na adrese:
https://mta-sts.example.com/.well-known/mta-sts.txt
Může vypadat například takto:
version: STSv1
mode: enforce
mx: mail.example.com
max_age: 604800
Tím říkáme, že přijímání pošty zajišťuje server:
mail.example.com
a politika se má vynucovat.
Režimy MTA-STS
MTA-STS obsahuje tři základní režimy:
none
Politika se fakticky nevynucuje.
testing
Politika se testuje, ale problémy nemají způsobit odmítnutí zprávy.
enforce
Politika je aktivně vynucována.
Pokud odesílající server podporující MTA-STS nedokáže vytvořit spojení odpovídající stanoveným bezpečnostním pravidlům, neměl by zprávu doručit nezabezpečeným způsobem.
Pro první nasazení je proto rozumné začít režimem:
mode: testing
Po ověření správné konfigurace lze přejít na:
mode: enforce
Co je TLS-RPT?
TLS-RPT neboli SMTP TLS Reporting je definováno v RFC 8460.
Jedná se o reportovací mechanismus, který umožňuje provozovateli domény získávat informace o problémech při zabezpečeném SMTP spojení.
Princip lze přirovnat k reportům známým z DMARC.
Pokud například jiný e-mailový server nedokáže bezpečně komunikovat s vaším MX serverem, může vám prostřednictvím TLS-RPT poslat informace o vzniklém problému.
Jak nastavit TLS-RPT
Pro doménu example.com se používá DNS TXT záznam:
_smtp._tls.example.com
Například:
v=TLSRPTv1; rua=mailto:Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.
Na adresu:
Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.
pak mohou přicházet agregované TLS reporty.
RFC umožňuje použít pro příjem reportů také HTTPS endpoint.
Co lze z TLS-RPT zjistit
Reporty mohou upozornit například na:
- nefunkční STARTTLS,
- problémy s TLS certifikátem,
- nesoulad s MTA-STS politikou,
- problémy s MX servery,
- chyby DNS,
- selhání TLS spojení.
Díky tomu může správce zjistit problém, který by jinak zůstal skrytý.
Typickým příkladem může být špatně obnovený certifikát na jednom z několika MX serverů.
Běžný monitoring webových stránek takovou chybu nemusí zaznamenat, ale TLS-RPT může ukázat, že některé externí e-mailové servery mají s doručováním problémy.
MTA-STS a TLS-RPT je vhodné používat společně
Největší význam má kombinace obou technologií.
MTA-STS stanovuje pravidla.
TLS-RPT informuje o tom, zda se při jejich dodržování objevují problémy.
Velmi zjednodušeně:
MTA-STS = ochrana
TLS-RPT = monitoring
Před zapnutím režimu enforce u MTA-STS je proto vhodné mít TLS-RPT již aktivní.
Nejdříve lze několik dní sledovat výsledky s:
mode: testing
a teprve poté přejít na:
mode: enforce
security.txt versus MTA-STS versus TLS-RPT
Přestože se všechny tři technologie týkají bezpečnosti internetových služeb, jejich účel je rozdílný.
| Technologie |
Účel |
| security.txt |
Kontakt a pravidla pro hlášení bezpečnostních zranitelností |
| MTA-STS |
Vynucení bezpečnější TLS komunikace mezi poštovními servery |
| TLS-RPT |
Reportování problémů s TLS při doručování e-mailů |
Security.txt se týká především bezpečnostní komunikace mezi lidmi a organizací.
MTA-STS a TLS-RPT se týkají především komunikace mezi e-mailovými servery.
Jak souvisí MTA-STS s SPF, DKIM a DMARC
Tyto technologie se vzájemně nenahrazují.
SPF, DKIM a DMARC řeší primárně ověřování identity odesílatele a ochranu domény před jejím zneužitím.
MTA-STS řeší jiný problém:
bezpečnost transportní vrstvy při předávání zprávy mezi SMTP servery.
Zjednodušeně:
SPF → kdo může odesílat
DKIM → kryptografický podpis zprávy
DMARC → pravidla a reporting autentizace
MTA-STS → bezpečný přenos mezi mail servery
TLS-RPT → reporting problémů s TLS
Pro kvalitně zabezpečenou firemní doménu proto dává smysl používat několik těchto technologií současně.
A co DANE?
MTA-STS není jediným způsobem ochrany SMTP transportu.
Alternativou je DANE for SMTP, které používá DNSSEC a TLSA záznamy.
DANE může nabídnout velmi silné kryptografické zabezpečení, ale vyžaduje správně fungující DNSSEC infrastrukturu.
MTA-STS naproti tomu využívá kombinaci DNS a HTTPS, což může být pro mnoho provozovatelů jednodušší na nasazení.
TLS-RPT může být využíváno také v souvislosti s DANE.
Nezapomínejte na správné TLS certifikáty mailserverů
Zapnutí MTA-STS samo o sobě neopraví špatně nakonfigurovaný mailserver.
Je potřeba mít správně nastavené:
- MX záznamy,
- DNS,
- SMTP server,
- STARTTLS,
- platné TLS certifikáty,
- správná jména serverů v certifikátech,
- automatickou obnovu certifikátů.
Teprve potom má smysl MTA-STS přepnout do režimu enforce.
Chyba v konfiguraci může v opačném případě způsobit problémy s doručováním pošty.
Pro koho mají security.txt, MTA-STS a TLS-RPT smysl
Implementaci doporučujeme především pro:
- firmy provozující vlastní domény,
- e-shopy,
- hostingové společnosti,
- poskytovatele cloudových služeb,
- organizace provozující vlastní mailservery,
- zdravotnická zařízení,
- finanční společnosti,
- státní a veřejné organizace,
- provozovatele rozsáhlejších internetových služeb.
Security.txt lze ale doporučit prakticky každému provozovateli významnějšího webu.
Moderní zabezpečení domény není pouze SSL certifikát
Bezpečnost internetové infrastruktury tvoří mnoho relativně malých opatření.
Samostatně nemusí znamenat zásadní změnu, ale společně vytvářejí podstatně odolnější prostředí.
Vedle klasických technologií jako HTTPS, SPF, DKIM a DMARC proto stojí za pozornost také:
security.txt
MTA-STS
TLS-RPT
Jejich nasazení není složité, nevyžaduje zásadní změny infrastruktury a u správně provozovaných služeb může výrazně zlepšit jak zabezpečení, tak diagnostiku případných problémů.
Pro provozovatele vlastních mailserverů je zvláště zajímavá kombinace MTA-STS + TLS-RPT, zatímco security.txt představuje jednoduchý standard, který by měl být samozřejmostí zejména u firemních a veřejně dostupných internetových služeb.