Kuinka DNSCrypt ratkaisi vanhentuneiden sertifikaattien ongelman ottamalla käyttöön 24 tunnin voimassaoloajan

Kuinka DNSCrypt ratkaisi vanhentuneiden sertifikaattien ongelman ottamalla käyttöön 24 tunnin voimassaoloajan

Aiemmin varmenteet vanhenivat usein, koska ne piti uusia manuaalisesti. Ihmiset yksinkertaisesti unohtivat tehdä sen. Let's Encryptin ja automaattisen päivityksen myötä näyttää siltä, ​​että ongelman pitäisi ratkaista. Mutta viimeaikainen Firefoxin tarina osoittaa, että se on itse asiassa edelleen ajankohtainen. Valitettavasti todistukset vanhenevat edelleen.

Jos tarina jäi paitsi, melkein kaikki Firefox-laajennukset lakkasivat yhtäkkiä toimimasta keskiyöllä 4. toukokuuta 2019.

Kuten kävi ilmi, massiivinen epäonnistuminen johtui siitä, että Mozilla sertifikaatti on vanhentunut, jota käytettiin laajennusten allekirjoittamiseen. Siksi ne merkittiin "virheellisiksi" eikä niitä vahvistettu (tekniset yksityiskohdat). Foorumeilla kiertotapana suositeltiin poistaa laajennuksen allekirjoituksen vahvistus käytöstä about: config tai vaihtaa järjestelmän kelloa.

Mozilla julkaisi nopeasti Firefox 66.0.4 -korjauksen, joka ratkaisee virheellisen varmenteen aiheuttaman ongelman ja kaikki laajennukset palautuvat normaaliksi. Kehittäjät suosittelevat sen asentamista ja Älä käytä ei ole kiertotapoja ohittaa allekirjoituksen vahvistus, koska ne voivat olla ristiriidassa korjaustiedoston kanssa.

Tämä tarina osoittaa kuitenkin jälleen kerran, että varmenteen vanheneminen on edelleen kiireellinen ongelma tänään.

Tässä suhteessa on mielenkiintoista tarkastella melko omaperäistä tapaa, kuinka protokollakehittäjät käsittelivät tätä tehtävää DNSCrypt. Niiden ratkaisu voidaan jakaa kahteen osaan. Ensinnäkin nämä ovat lyhytaikaisia ​​​​sertifikaatteja. Toiseksi, varoittaa käyttäjiä pitkäaikaisten vanhentumisesta.

DNSCrypt

Kuinka DNSCrypt ratkaisi vanhentuneiden sertifikaattien ongelman ottamalla käyttöön 24 tunnin voimassaoloajanDNSCrypt on DNS-liikenteen salausprotokolla. Se suojaa DNS-viestintää sieppauksilta ja MiTM:ltä ja mahdollistaa myös eston ohituksen DNS-kyselytasolla.

Protokolla kääri DNS-liikenteen asiakkaan ja palvelimen välillä salausrakenteeseen, joka toimii UDP- ja TCP-kuljetusprotokollien yli. Käyttääkseen sitä, sekä asiakkaan että DNS-ratkaisun on tuettava DNSCryptiä. Esimerkiksi maaliskuusta 2016 lähtien se on ollut käytössä sen DNS-palvelimissa ja Yandex-selaimessa. Useat muut palveluntarjoajat ovat myös ilmoittaneet tuesta, mukaan lukien Google ja Cloudflare. Valitettavasti niitä ei ole paljon (virallisilla verkkosivuilla on listattu 152 julkista DNS-palvelinta). Mutta ohjelma dnscrypt-välityspalvelin voidaan asentaa manuaalisesti Linux-, Windows- ja MacOS-asiakkaille. Siellä on myös palvelintoteutuksia.

Kuinka DNSCrypt ratkaisi vanhentuneiden sertifikaattien ongelman ottamalla käyttöön 24 tunnin voimassaoloajan

Miten DNSCrypt toimii? Lyhyesti sanottuna asiakas ottaa valitun palveluntarjoajan julkisen avaimen ja käyttää sitä varmenteidensa tarkistamiseen. Istunnon lyhytaikaiset julkiset avaimet ja salauspaketin tunniste ovat jo olemassa. Asiakkaita rohkaistaan ​​luomaan uusi avain jokaiselle pyynnölle, ja palvelimia rohkaistaan ​​vaihtamaan avaimia 24 tunnin välein. Avaimia vaihdettaessa käytetään X25519-algoritmia, allekirjoittamiseen - EdDSA, lohkosalaukseen - XSalsa20-Poly1305 tai XChaCha20-Poly1305.

Yksi protokollakehittäjistä Frank Denis kirjoittaaettä automaattinen vaihto 24 tunnin välein ratkaisi vanhentuneiden sertifikaattien ongelman. Periaatteessa dnscrypt-proxy-viiteasiakas hyväksyy varmenteita millä tahansa voimassaoloajalla, mutta antaa varoituksen "Tämän palvelimen dnscrypt-proxy-avainjakso on liian pitkä", jos se on voimassa yli 24 tuntia. Samalla julkaistiin Docker-kuva, jossa toteutettiin nopea avainten (ja varmenteiden) vaihto.

Ensinnäkin se on erittäin hyödyllinen turvallisuuden kannalta: jos palvelin vaarantuu tai avain vuotaa, eilisen liikenteen salausta ei voida purkaa. Avain on jo vaihtunut. Tämä aiheuttaa todennäköisesti ongelman Yarovaya-lain täytäntöönpanossa, joka pakottaa palveluntarjoajat tallentamaan kaiken liikenteen, mukaan lukien salatun liikenteen. Seurauksena on, että sen salaus voidaan myöhemmin purkaa tarvittaessa pyytämällä avainta sivustolta. Mutta tässä tapauksessa sivusto ei yksinkertaisesti voi tarjota sitä, koska se käyttää lyhytaikaisia ​​avaimia poistaen vanhat.

Mutta mikä tärkeintä, Denis kirjoittaa, lyhytaikaiset avaimet pakottavat palvelimet ottamaan automaation käyttöön ensimmäisestä päivästä lähtien. Jos palvelin muodostaa yhteyden verkkoon ja avaimenmuutosskriptejä ei ole määritetty tai ne eivät toimi, tämä havaitaan välittömästi.

Kun automaatio vaihtaa avaimia muutaman vuoden välein, siihen ei voi luottaa ja ihmiset voivat unohtaa varmenteen vanhenemisen. Jos vaihdat avaimet päivittäin, tämä havaitaan välittömästi.

Samaan aikaan, jos automaatio on konfiguroitu normaalisti, ei ole väliä kuinka usein avaimet vaihdetaan: joka vuosi, neljännesvuosittain tai kolme kertaa päivässä. Jos kaikki toimii yli 24 tuntia, se toimii ikuisesti, kirjoittaa Frank Denis. Hänen mukaansa protokollan toisessa versiossa suositeltu päivittäistä avainten kiertoa yhdessä sen toteuttavan valmiin Docker-kuvan kanssa vähensi tehokkaasti vanhentuneiden sertifikaattien omaavien palvelimien määrää ja samalla paransi turvallisuutta.

Jotkut palveluntarjoajat päättivät kuitenkin teknisistä syistä asettaa varmenteen voimassaoloajaksi yli 24 tuntia. Tämä ongelma ratkesi suurelta osin muutamalla koodirivillä dnscrypt-proxyssa: käyttäjät saavat informatiivisen varoituksen 30 päivää ennen varmenteen vanhenemista, toisen viestin, jonka vakavuusaste on korkeampi 7 päivää ennen vanhenemista, ja kriittisen viestin, jos varmenteessa on jäljellä. voimassaoloaika alle 24 tuntia. Tämä koskee vain varmenteita, joilla on alun perin pitkä voimassaoloaika.

Nämä viestit antavat käyttäjille mahdollisuuden ilmoittaa DNS-operaattoreille lähestyvästä varmenteen vanhenemisesta ennen kuin on liian myöhäistä.

Ehkä jos kaikki Firefoxin käyttäjät saisivat tällaisen viestin, joku luultavasti ilmoittaisi siitä kehittäjille ja he eivät antaisi varmenteen vanhentua. "En muista ainuttakaan DNSCrypt-palvelinta julkisten DNS-palvelimien luettelosta, jonka varmenne olisi vanhentunut viimeisen kahden tai kolmen vuoden aikana", kirjoittaa Frank Denis. Joka tapauksessa on luultavasti parempi varoittaa käyttäjiä ensin kuin poistaa laajennukset käytöstä ilman varoitusta.

Kuinka DNSCrypt ratkaisi vanhentuneiden sertifikaattien ongelman ottamalla käyttöön 24 tunnin voimassaoloajan


Lähde: will.com

Lisää kommentti