
Varem aegusid sertifikaadid sageli, kuna neid tuli kĂ€sitsi uuendada. Inimesed lihtsalt unustasid selle teha. Letâs Encrypt'i ja automaatsete uuendamisprotseduuride saabumisega paistab probleem olevat lahendatud. Kuid hiljutine nĂ€itab, et tegelikult on see ikka veel aktuaalne. Kahjuks aeguvad sertifikaadid jĂ€tkuvalt.
Kui keegi on selle loo vahele jĂ€tnud, siis 4. mai 2019. aasta sĂŒdaöösel lakkasid töötamast peaaegu kĂ”ik Firefoxi laiendused.
Kuidas selgus, oli massiline rike pĂ”hjustatud sellest, et Mozillal , mida kasutati laienduste allkirjastamiseks. SeetĂ”ttu mĂ€rgiti need "kehtetuks" ja ei lĂ€binud kontrolli (). Foorumites soovitati lahenduseks keelata laienduste allkirjade kontrollimine about:config vĂ”i muuta sĂŒsteemi kellaaega.
Mozilla avaldas kiiresti plaastri Firefox 66.0.4, mis lahendab kehtetu sertifikaadi probleemi ning kĂ”ik laiendused naasevad normaalsesse olekusse. Arendajad soovitavad selle paigaldada ja ei ole olemas ĂŒhtegi lahendust, mis vĂ”imaldaks allkirjade kontrollimise vĂ€ltimist, kuna need vĂ”ivad konfliktida plaastriga.
Kuid see lugu nÀitab jÀlle, et sertifikaatide aegumine on endiselt aktuaalne probleem ka tÀnapÀeval.
Seega on huvitav, kuidas protokolli arendajad selle ĂŒlesandega ĂŒsna originaalsel viisil hakkama said. . Nende lahendus on jagatud kaheks osaks. Esiteks, lĂŒhiajalised sertifikaadid. Teiseks, kasutajate teavitamine pikaajaliste sertifikaatide aegumisest.
DNSCrypt
DNSCrypt on DNS-i liikluse krĂŒpteerimise protokoll. See kaitseb DNS-i kommunikatsiooni pealtkuulamise ja MiTM-i eest ning vĂ”imaldab ĂŒletada DNS-pĂ€ringute taseme blokeeringuid.
Protokoll ĂŒmbritseb DNS-i liiklust kliendi ja serveri vahel krĂŒptograafilise konstruktsiooniga, töötades transportsĂŒsteemide UDP ja TCP kaudu. Selle kasutamiseks peavad nii klient kui DNS-i lahendaja toetama DNSCrypt'i. NĂ€iteks on sellest alates mĂ€rtsist 2016 seda oma DNS-serverites ja brauseris 'Yandex' kasutanud. Toetuse on kuulutanud vĂ€lja ka mĂ”ned muud teenusepakkujad, sealhulgas Google ja Cloudflare. Kahjuks ei ole neid palju (ametlikul veebisaidil on loetletud 152 avalikku DNS-serverit). Kuid programmi on vĂ”imalik kĂ€sitsi installida klientidesse Linuxi, Windowsi ja MacOS-i jaoks. Samuti on olemas .

Kuidas DNSCrypt töötab? LĂŒhidalt, klient vĂ”tab valitud teenusepakkuja avaliku vĂ”tme ja kontrollib selle abil sertifikaate. Seal leiduvad lĂŒhiajalised avalikud vĂ”tmed sessiooni jaoks ja krĂŒptovĂ”tme komplekti identifikaator. Klientidele soovitatakse genereerida iga pĂ€ringu jaoks uus vĂ”ti, serveritele aga - vahetada vĂ”tmeid iga 24 tunni jĂ€rel. VĂ”tmete vahetamisel kasutatakse algoritmi X25519, allkirjastamiseks - EdDSA, plokkĆĄifreerimiseks - XSalsa20-Poly1305 vĂ”i XChaCha20-Poly1305.
Protokolli ĂŒks arendajatest on Frank Denis , et automaatne vahetus iga 24 tunni jĂ€rel lahendab aegunud sertifikaatide probleemi. Ăldiselt aktsepteerib dnscrypt-proxy viidatud klient sertifikaate, millel on mis tahes aegumistĂ€htaeg, kuid annab hoiatuse "dnscrypt-proxy vĂ”tmete periood selle serveri jaoks on liiga pikk", kui see on kehtiv ĂŒle 24 tunni. Samal ajal vĂ€ljastati Docker'i pilt, kus rakendatakse vĂ”tmete (ja sertifikaatide) kiiret vahetust.
Esiteks on see ÀÀrmiselt kasulik turvalisuse seisukohalt: kui server on kompromiteeritud vĂ”i vĂ”ti on lekitatud, ei saa eilset liiklust dekodeerida. VĂ”ti on juba muutunud. See vĂ”ib tĂ”enĂ€oliselt tekitada probleeme "Jarovaya seaduse" tĂ€itmisega, mis sunnib teenusepakkujaid sĂ€ilitama kogu liikluse, sealhulgas krĂŒpteeritud. Eeldatakse, et hiljem saab seda vajadusel dekodeerida, kĂŒsides vĂ”tme saidilt. Kuid antud juhul ei saa sait lihtsalt seda esitada, kuna kasutatakse lĂŒhikese kehtivusega vĂ”tmeid, kustutades vanad.
Kuid peamine, kirjutab Denis, on see, et lĂŒhiajalised vĂ”tmed panevad serverid automaatika seadistama kohe esimesest pĂ€evast. Kui server ĂŒhendub vĂ”rku ja vĂ”tmevahetuse skriptid ei ole seadistatud vĂ”i ei tööta, avastatakse see kohe.
Kui automaatika vahetab vÔtit iga paari aasta tagant, ei saa sellele loota ja inimesed vÔivad unustada sertifikaadi kehtivuse lÔppemise. IgapÀevase vÔtmevahetuse korral avastatakse see kohe.
Samas, kui automaatika on korralikult seadistatud, ei oma vahetuse sagedus tĂ€htsust: olgu see siis kord aastas, kord kvartalis vĂ”i kolm korda pĂ€evas. Kui see töötab ĂŒle 24 tunni, töötab see igavesti, kirjutab Frank Denis. Tema sĂ”nul vĂ€hendas soovitus vahetada vĂ”tmeid igapĂ€evaselt, koos valmis Docker-pildiga, mis seda realiseerib, efektiivselt serverite arvu, mille sertifikaadid olid aegunud, samas parandades turvalisust.
Kuid mÔned teenusepakkujad on siiski otsustanud tehnilistel pÔhjustel seada vÀljalaske sertifikaadi kehtivusaeg pikemaks kui 24 tundi. Selle probleemi on peamiselt lahendatud dnscrypt-proxy-s mÔne koodireaga: kasutajad saavad teavitusteate 30 pÀeva enne sertifikaadi aegumist, tÔsisema sÔnumi 7 pÀeva enne aegumist ja kriitilise teate, kui sertifikaadist on jÀÀnud vÀhem kui 24 tundi. See kehtib ainult sertifikaatide kohta, mille algne kehtivusaeg on pikk.
Sellised teated annavad kasutajatele vÔimaluse teavitada DNS-i operaatorit sertifikaadi peatsest aegumisest, enne kui on liiga hilja.
VĂ”ib-olla, kui kĂ”ik Firefoxi kasutajad sellist teadet saaksid, oleks keegi kindlasti arendajatele teada andnud ja nemad ei oleks lubanud sertifikaadi kehtivuse lĂ”ppemise juhtuda. "Ma ei mĂ€leta ĂŒhtegi DNSCrypt-serverit avalike DNS-serverite loendist, mille sertifikaadid oleksid viimase kahe vĂ”i kolme aasta jooksul aegunud," kirjutab Frank Denis. Igatahes on ilmselt parem kĂ”igepealt kasutajaid hoiatada, kui sulgeda laiendusi ilma ette teatamata.
Allikas: habr.com
