V preteklosti so potrdila pogosto potekla, ker jih je bilo treba ročno obnavljati. Ljudje so preprosto pozabili to storiti. S prihodom Let's Encrypt in postopkom samodejnega posodabljanja se zdi, da bi morala biti težava rešena. Ampak nedavno
Če ste zamudili zgodbo, opolnoči 4. maja 2019 so skoraj vse razširitve za Firefox nenadoma prenehale delovati.
Kot se je izkazalo, je do množične okvare prišlo zaradi dejstva, da je Mozilla
Mozilla je hitro izdala popravek za Firefox 66.0.4, ki reši težavo z neveljavnim certifikatom, vse razširitve pa se vrnejo v normalno stanje. Razvijalci priporočajo, da ga namestite in
Vendar pa ta zgodba še enkrat kaže, da potek veljavnosti certifikatov še danes ostaja pereč problem.
V zvezi s tem je zanimivo pogledati precej izviren način, kako so se razvijalci protokola lotili te naloge
DNSCrypt
DNSCrypt je protokol za šifriranje prometa DNS. Ščiti komunikacijo DNS pred prestrezanjem in MiTM ter vam omogoča tudi, da obidete blokiranje na ravni poizvedbe DNS.
Protokol ovije promet DNS med odjemalcem in strežnikom v kriptografski konstrukt, ki deluje prek transportnih protokolov UDP in TCP. Za uporabo morata tako odjemalec kot razreševalec DNS podpirati DNSCrypt. Na primer, od marca 2016 je omogočen na svojih strežnikih DNS in v brskalniku Yandex. Več drugih ponudnikov je prav tako napovedalo podporo, vključno z Google in Cloudflare. Na žalost jih ni veliko (na uradni spletni strani je navedenih 152 javnih DNS strežnikov). Toda program
Kako deluje DNSCrypt? Skratka, naročnik prevzame javni ključ izbranega ponudnika in z njim preveri njegove certifikate. Kratkoročni javni ključi za sejo in identifikator šifrirne zbirke so že tam. Odjemalci se spodbujajo, da ustvarijo nov ključ za vsako zahtevo, strežniki pa se spodbujajo, da spremenijo ključe vsakih 24 ur. Pri izmenjavi ključev se uporablja algoritem X25519, za podpisovanje - EdDSA, za blokovno šifriranje - XSalsa20-Poly1305 ali XChaCha20-Poly1305.
Eden od razvijalcev protokola Frank Denis
Prvič, izjemno je koristen za varnost: če je strežnik ogrožen ali je ključ ušel, včerajšnjega prometa ni mogoče dešifrirati. Ključ je že spremenjen. To bo verjetno predstavljalo težavo pri izvajanju zakona Yarovaya, ki od ponudnikov zahteva shranjevanje celotnega prometa, vključno s šifriranim prometom. Posledica tega je, da ga je mogoče kasneje dešifrirati, če je potrebno, tako da zahtevate ključ s spletnega mesta. Toda v tem primeru ga spletno mesto preprosto ne more zagotoviti, ker uporablja kratkoročne ključe in izbriše stare.
Najpomembneje pa je, piše Denis, da kratkoročni ključi prisilijo strežnike, da vzpostavijo avtomatizacijo od prvega dne. Če se strežnik poveže z omrežjem in skripti za spremembo ključa niso konfigurirani ali ne delujejo, bo to takoj zaznano.
Ko avtomatizacija menja ključe vsakih nekaj let, se nanjo ni mogoče zanesti in ljudje lahko pozabijo na potek potrdila. Če ključe menjate dnevno, bo to takoj zaznano.
Hkrati, če je avtomatizacija normalno konfigurirana, potem ni pomembno, kako pogosto se ključi spreminjajo: vsako leto, vsako četrtletje ali trikrat na dan. Če vse deluje več kot 24 ur, bo delovalo večno, piše Frank Denis. Po njegovih besedah je priporočilo dnevne rotacije ključev v drugi različici protokola skupaj z že pripravljeno sliko Dockerja, ki to implementira, učinkovito zmanjšalo število strežnikov s potečenimi certifikati, hkrati pa izboljšalo varnost.
Nekateri ponudniki pa so se kljub temu iz tehničnih razlogov odločili, da bodo veljavnost potrdila nastavili na več kot 24 ur. Ta problem je bil v veliki meri rešen z nekaj vrsticami kode v dnscrypt-proxy: uporabniki prejmejo informativno opozorilo 30 dni pred potekom potrdila, drugo sporočilo z višjo stopnjo resnosti 7 dni pred potekom in kritično sporočilo, če ima potrdilo še kaj preostalega veljavnost manj kot 24 ur. To velja samo za potrdila, ki imajo na začetku dolgo obdobje veljavnosti.
Ta sporočila dajejo uporabnikom možnost, da obvestijo operaterje DNS o bližajočem se izteku potrdila, preden bo prepozno.
Morda, če bi vsi uporabniki Firefoxa prejeli takšno sporočilo, bi verjetno nekdo obvestil razvijalce in ti ne bi dovolili, da certifikat poteče. »Ne spomnim se niti enega strežnika DNSCrypt na seznamu javnih strežnikov DNS, ki bi mu potrdilo poteklo v zadnjih dveh ali treh letih,« piše Frank Denis. V vsakem primeru je verjetno bolje uporabnike najprej opozoriti, kot pa onemogočiti razširitve brez opozorila.
Vir: www.habr.com