
KokkuvĂ”ttes on MTA-STS viis kaitsta kirju hĂ€kkerite keskel toimuvate rĂŒnnakute (ehk MitM) eest, kui need edastatakse postiserverite vahel. See lahendab osaliselt e-posti protokollide ajaloolisi arhitektuurilisi probleeme ja on kirjeldatud suhteliselt vĂ€rskes standardis RFC 8461. Mail.ru on esimene suur e-posti teenus Runitis, mis on rakendanud seda standardit. Ăksikasjalikumalt rÀÀgitakse juba allpool.
Millise probleemi lahendab MTA-STS?
Ajalooliselt edastasid e-posti protokollid (SMTP, POP3, IMAP) teavet avatud kujul, mis vÔimaldas selle pealtkuulamist, nÀiteks juurdepÀÀsul sidekanalile.
Kuidas nĂ€eb vĂ€lja kirja saatmise mehhanism ĂŒhelt kasutajalt teisele:

Ajalooliselt oli MitM rĂŒnnak vĂ”imalik igas kohas, kus post liigub.
Standard RFC 8314 nĂ”uab TLS-i kohustuslikku kasutamist kasutaja postirakenduse (MUA) ja postiserveri vahel. Kui teie server ja kasutatavad postirakendused vastavad RFC 8314-le, siis olete (suurel mÀÀral) kĂ”rvaldanud Man-in-the-Middle rĂŒnnakud kasutaja ja postiserverite vahel.
Kasutatavate tavade jĂ€rgimine (standardiseeritud RFC 8314) kĂ”rvaldab rĂŒnnaku kasutaja lĂ€heduses:

Mail.ru postiserverid vastasid RFC 8314 nĂ”uetele juba enne standardi vastuvĂ”tmist, tegelikult fikseerib see lihtsalt juba kehtestatud praktikad ja me ei pidanud midagi lisaks seadistama. Kuid kui teie postiserver lubab endiselt kasutajatel kasutada ebaturvalisi protokolle, rakendage kindlasti selle standardi soovitusi, kuna tĂ”enĂ€oliselt töötavad vĂ€hemalt osa teie kasutajatest postiga ilma krĂŒpteerimiseta, isegi kui te seda toetate.
Postikliendi töötab alati ĂŒhe ja sama posti serveriga, mis kuulub sama organisatsiooni. Samuti on vĂ”imalik sundida kĂ”iki kasutajaid ĂŒhenduma turvaliselt, muutes samas ebaturvalise ĂŒhenduse tehniliselt vĂ”imatuks (just seda nĂ”uab RFC 8314). See on mĂ”nikord keeruline, kuid teostatav. Postiserverite vahel on liiklus veel keerulisem. Serverid kuuluvad erinevatele organisatsioonidele ja neid kasutatakse sageli reĆŸiimis âpaned ja unustadâ, mis muudab turvalisse protokolli ĂŒlemineku korraga vĂ”imatuks, ilma et ĂŒhendus katkeks. SMTP-s on juba pikka aega olemas laiendus STARTTLS, mis vĂ”imaldab krĂŒpteerimist toetavatel serveritel TLS-ile ĂŒle minna. Kuid rĂŒndajal, kellel on vĂ”imalus liiklust muuta, vĂ”ib olla vĂ”imalik âĂ€ra lĂ”igataâ teave selle kĂ€su toetamise kohta ja sundida servereid suhtlema tavalises tekstiprotokollis (nn downgrade attack â protokolli versiooni alandamise rĂŒnnak). Sama pĂ”hjusel ei kontrollita STARTTLS-i puhul tavaliselt sertifikaadi vastavust (usaldusvÀÀrne sertifikaat vĂ”ib kaitsta passiivsete rĂŒnnakute eest ja see pole halvem kui kirja saatmine avatud tekstina). SeetĂ”ttu kaitseb STARTTLS ainult passiivse kuulamise eest.
MTA-STS lahendab osaliselt probleemi postide ĂŒlevĂ”tmisega postiserverite vahel, kui rĂŒndajal on vĂ”imalus aktiivselt liiklust mĂ”jutada. Kui saaja domeen avaldab MTA-STS poliitika ja saatja server toetab MTA-STS, saadetakse kiri ainult TLS-ĂŒhenduse kaudu, ainult poliitikas mÀÀratletud serveritele ja ainult serveri sertifikaadi kontrollimisega.
Miks osaliselt? MTA-STS töötab ainult juhul, kui mĂ”lemad osalised on hoolitsenud selle standardi rakendamise eest, ning MTA-STS ei kaitse stsenaariumite eest, kus rĂŒndajal on vĂ”imalus saada kehtiv domeeni sertifikaat mĂ”nest avalikust CA-st.
Kuidas MTA-STS töötab
Saaja
- Seab POSTI serveris ĂŒles STARTTLS toe kehtiva sertifikaadiga.Â
- Avaldab poliitikat MTA-STS kaudu HTTPS-i, kasutades avaldamiseks spetsiaalset domeeni mta-sts ja erilist well-known teed, nÀiteks
https://mta-sts.mail.ru/.well-known/mta-sts.txt. Poliitika sisaldab loetelu posti serveritest (mx), kellel on Ôigus saada postitusi selle domeeni jaoks. - Avaldab erilise TXT-kirje _mta-sts DNS-is poliitika versiooniga. Poliitika muutumisel tuleb seda kirjet uuendada (see annab saatjale mÀrku poliitika uuesti taotlemisest). NÀiteks
_mta-sts.mail.ru. TXT "v=STSv1; id=20200303T120000;"
Saatja
Saatja kĂŒsib DNS-kirjet _mta-sts, kui see on olemas, teeb ta poliitika taotluse HTTPS-i kaudu (kontrollides sertifikaati). Saadud poliitika vahetatakse mĂ€llu (juhuks, kui rĂŒndaja blokeerib sellele juurdepÀÀsu vĂ”i asendab DNS-kirje).
Kliendi postitamisel kontrollitakse, et:
- postikserver, kuhu kiri toimetatakse, on poliitikas;
- server aktsepteerib postitust TLS-i (STARTTLS) kasutades ja omab kehtivat sertifikaati.
MTA-STS eelised
MTA-STS kasutab tehnoloogiaid, mis on juba enamikes organisatsioonides rakendatud (SMTP+STARTTLS, HTTPS, DNS). VastuvÔtja poolel ei ole selle standardi rakendamiseks vaja spetsiaalset tarkvara.
MTA-STS puudused
Tuleb jÀlgida veebiserveri ja postiserveri sertifikaadi kehtivust, nime vastavust ning Ôigeaegset uuendamist. Sertifikaadiprobleemid vÔivad takistada posti kohaletoimetamist.
Saatja poolel on vaja MTA-d, mis toetab MTA-STS poliitikaid, hetkel MTA-STS ei toeta "karbist vÀlja" MTA-d.
MTA-STS kasutab usaldusvÀÀrsete juure CA-de loendit.
MTA-STS ei kaitse rĂŒnnakute eest, kus rĂŒndaja kasutab kehtivat sertifikaati. Enamikul juhtudel tĂ€hendab MitM rĂŒndamine serveri lĂ€hedal sertifikaadi vĂ€ljaandmise vĂ”imalust. Sellist rĂŒnnakut saab tuvastada Certificate Transparency abil. SeetĂ”ttu leevendab MTA-STS, kuid ei kĂ”rvalda tĂ€ielikult liikluse pealtkuulamise vĂ”imalust.
Kaks viimast punkti teevad MTA-STS vÀhem kaitstud kui konkurentsivÔimeline standard DANE SMTP jaoks (RFC 7672), kuid tehniliselt usaldusvÀÀrsemaks, st MTA-STS puhul on madal tÔenÀosus, et kiri ei toimetata kohale standardi rakendamise tÔttu tekkinud tehniliste probleemide tÔttu.
KonkurentsivĂ”imeline standard â DANE
DANE kasutab DNSSEC-i sertifikaatide teabe avalikustamiseks ning ei nĂ”ua usaldust vĂ€listelt sertifitseerimiskeskustelt, mis on palju turvalisem. Kuid DNSSEC-i kasutamine toob sageli kaasa tehnilisi tĂ”rkeid, kui tugineda mitme aasta statistikale (kuigi DNSSEC-i usaldusvÀÀrsuses ja tehnilises toetuses on ĂŒldiselt positiivne suundumus). DANE rakendamiseks SMTP-s peab saaja poole DNS-i tsooni jaoks olema DNSSEC, ning DANE jaoks on oluline NSEC/NSEC3 Ă”ige tugi, millega on DNSSEC-is sĂŒsteemseid probleeme.
Kui DNSSEC on valesti konfigureeritud, vÔib see pÔhjustada e-kirjade kohaletoimetamise tÔrkeid, kui saatja toetab DANE-i, isegi kui vastuvÔtva poolel pole sellest teadlikkust. SeetÔttu, kuigi DANE on vanem ja turvalisem standard ning seda toetab juba mÔni saatja serveri tarkvara, on selle levik seni olnud minimaalne, sest paljusid organisatsioone takistab selle rakendamine DNSSEC-i vajadus, mis on DANE-i kasutuselevÔttu kÔigil neil aastatel mÀrgatavalt pidurdanud.
DANE ja MTA-STS ei ole omavahel vastuolus ning neid saab kasutada koos.
Kuidas on lood MTA-STS toetusega Mail.ru-s
Mail.ru on piisavalt ammu avaldanud MTA-STS poliitika kĂ”igi peamiste domeenide jaoks. Praegu tegeleme standardi kliendi osa rakendamisega. Artikli kirjutamise ajal rakendatakse poliitikaid mitteblokeerivas reĆŸiimis (kui kohaletoimetamine on poliitika tĂ”ttu blokeeritud, siis saadetakse kiri «varu» serverisse, poliitikaid rakendamata), hiljem rakendame vĂ€ikese osa vĂ€ljaminevast SMTP liiklusest jaoks sundblokkeerivat reĆŸiimi ning jĂ€rk-jĂ€rgult toetatakse poliitika rakendamist 100% liiklusele.
Kes veel toetab standardit
Praegu avaldab poliitikaid MTA-STS umbes 0,05% aktiivsetest domeenidest, kuid nad kaitsevad siiski suurt osa e-posti liiklusest, kuna standardit toetavad suured mĂ€ngijad â Google, Comcast ning osaliselt Verizon (AOL, Yahoo). Paljud teised e-posti teenused on teatanud, et standardi toetamist kavandatakse lĂ€hiajal.
Kuidas see mind mÔjutab?
Ei midagi, kui teie domeen ei avalda MTA-STS poliitikat. Kui te avaldate poliitika, siis on teie meiliserveri kasutajate jaoks saadetud kirjad paremini kaitstud isikukaitse eest.
Kuidas rakendada MTA-STS?
MTA-STS tugi vastuvÔtja poolel
Piisab poliitika avaldamisest HTTPS-i kaudu ja DNS-i kirjade konfigureerimisest, kehtiv sertifikaat peab olema ĂŒhelt usaldusvÀÀrselt CA-lt (vĂ”ib kasutada Let's Encrypti) STARTTLS jaoks MTA-s (STARTTLS-d toetavad kĂ”ik kaasaegsed MTA-d), eritoe pool MTA-lt ei ole vajalik.
Samm-sammult nÀeb see vÀlja jÀrgmiselt:
- Konfigureerige STARTTLS kasutatavas MTA-s (postfix, exim, sendmail, Microsoft Exchange jne).
- Veenduge, et kasutate kehtivat sertifikaati (vÀlja antud usaldusvÀÀrse CA poolt, mitte aegunud, sertifikaadi subjekt vastab MX-kirjale, mille kaudu teie domeeni jaoks postkasti saadetakse).
- Konfigureerige TLS-RPT kirje, mille kaudu saadetakse poliitika tÀitmise aruanded (teenuste kaudu, mis toetavad raportite saatmist TLS). NÀidis kirje (domeeni example.com jaoks):
smtp._tls.example.com. 300 IN TXT "v=TLSRPTv1; rua=mailto:tlsrpt@example.com"See kirje juhendab meilisaatjaid saatma statistikaaruandeid TLS-i kasutamise kohta SMTP-s aadressile
tlsrpt@exmple.com.JÀlgige aruandeid paar pÀeva, veenduge, et vigu pole.
- Avaldage MTA-STS poliitika HTTPS-i kaudu. Poliitika avaldatakse tekstifailina rida lÔppude CRLF kaudu.
https://mta-sts.example.com/.well-known/mta-sts.txtNĂ€idis poliitika:
version: STSv1 mode: enforce mx: mxs.mail.ru mx: emx.mail.ru mx: mx2.corp.mail.ru max_age: 86400VersioonipÔld sisaldab poliitika versiooni (praegu see on
STSv1), Mode mÀÀrab poliitika rakendamise reĆŸiimi, testing - testimisreĆŸiim (poliitikat ei rakendata), enforce - "toimiv" reĆŸiim. Esmalt avaldage poliitika reĆŸiimiga: testing, kui poliitikaga ei esine probleeme testimisreĆŸiimis, siis pĂ€rast mĂ”nda aega vĂ”ib lĂŒlituda reĆŸiimile: enforce.Mx-s mÀÀratakse kĂ”igi meiliserverite nimekiri, mis vĂ”ivad teie domeeni postkasti vastu vĂ”tta (iga server peab olema konfigureeritud sertifikaadiga, mis vastab mx-s mÀÀratud nimele). Max_age mÀÀrab poliitika vahemĂ€lu aja (korralikult mĂ€letatud poliitikat rakendatakse isegi siis, kui rĂŒndaja blokeerib selle edastamise vĂ”i rikub DNS-kirjad vahemĂ€lu aja jooksul; poliitika uuesti nĂ”udmise signaalimiseks saab muuta mta-sts DNS kirjet).
- Avaldage DNS-is TXT-kirje:Â
_mta-sts.example.com. TXT "v=STS1; id=someid;"Id veldi vĂ”ib kasutada suvalist identifikaatorit (nt ajatemplit), poliitika muutmisel peab see muutuma, see vĂ”imaldab saatjatel mĂ”ista, et tuleb uuesti kĂŒsida vahemĂ€lus hoitud poliitika (kui identifikaator erineb vahemĂ€lust).
MTA-STS toimetaja poolne tugi
Praegu on see nÔrk, kuna standard on uus.
- Eximil ei ole sisseehitatud tuge, on olemas kolmanda osapoole skript Â
- Postfixil ei ole sisseehitatud tuge, on olemas kolmanda osapoole skript, millest on ĂŒksikasjalikult kirjutatud Habr's
NÔuanne 'kohustusliku TLS'i' kohta
Viimasel ajal pööravad regulaatorid tĂ€helepanu posti turvalisusele (ja see on hea). NĂ€iteks on DMARC kohustuslik kĂ”igile riigiasutustele USA-s ja seda nĂ”utakse ĂŒha sagedamini ka finantssektoris; reguleeritud valdkondades ulatub standardi levik 90% -ni. Praegu nĂ”uavad mĂ”ned regulaatorid "kohustusliku TLS'i" rakendamist eraldi domeenide kaudu, kuid samas ei mÀÀratleta mehhanismi selle rakendamiseks ja praktikas rakendatakse see seade sageli viisil, mis ei kaitse isegi minimaalselt tegelike rĂŒnnakute eest, mida on juba ette nĂ€htud sellistes mehhanismides nagu DANE vĂ”i MTA-STS.
Kui regulaator nÔuab "kohustusliku TLS'i" rakendamist eraldi domeenide kaudu, soovitame kaaluda MTA-STS vÔi selle osalist analooge nagu kÔige sobivamat mehhanismi, see eemaldab vajaduse teha turvalisi seadeid iga domeeni jaoks eraldi. Kui teil on raskusi MTA-STS kliendi osa rakendamisega (kuna protokoll ei ole veel laialdaselt toetatud, on need tÔenÀoliselt), vÔib soovitada sellist lÀhenemist:
- Avaldage MTA-STS poliitika ja/vÔi DANE kirjed (DANE on mÔttekas lisada ainult siis, kui teie domeeni jaoks on juba lubatud DNSSEC, ja MTA-STS iga juhul), see kaitseb teie suunal liiklust ja vabastab vajadusest paluda teistel postiteenustel seadistada teie domeeni jaoks kohustuslikku TLS-i, kui postiteenus juba toetab MTA-STS ja/vÔi DANE.
- Suuremate postiteenuste jaoks rakendage iga domeeni jaoks eraldi transporti seadete kaudu MTA-STS «analoog», mis fikseerib MX, mida kasutatakse posti relayimiseks, ja nĂ”uab selle TLS-sertifikaadi kohustuslikku kontrolli. Kui domeenid juba avaldavad MTA-STS poliitikat, saab seda tĂ”enĂ€oliselt teha valutult. Pelgalt TLSi kohustuslikku sisselĂŒlitamist domeeni jaoks ilma relay fikseerimise ja sertifikaadi kontrollita peetakse turvalisuse seisukohalt ebaefektiivseks ning see ei lisa midagi olemasolevatele STARTTLS mehhanismidele.
Allikas: habr.com
