V minulosti certifikáty často končily, protože se musely obnovovat ručně. Lidé to prostě zapomněli udělat. S příchodem Let's Encrypt a postupu automatické aktualizace se zdá, že by měl být problém vyřešen. Ale nedávno
Pokud jste příběh zmeškali, o půlnoci 4. května 2019 náhle přestala fungovat téměř všechna rozšíření Firefoxu.
Jak se ukázalo, k masivnímu selhání došlo kvůli tomu, že Mozilla
Mozilla rychle vydala opravu Firefoxu 66.0.4, která řeší problém s neplatným certifikátem a všechna rozšíření se vracejí do normálu. Vývojáři jej doporučují nainstalovat a
Tento příběh však znovu ukazuje, že vypršení platnosti certifikátu zůstává dnes naléhavým problémem.
V tomto ohledu je zajímavé podívat se na poměrně originální způsob, jak se vývojáři protokolu s tímto úkolem vypořádali
DNSCrypt
DNSCrypt je protokol pro šifrování provozu DNS. Chrání komunikaci DNS před odposlechy a MiTM a také umožňuje obejít blokování na úrovni dotazu DNS.
Protokol zabaluje provoz DNS mezi klientem a serverem do kryptografické konstrukce, která funguje přes transportní protokoly UDP a TCP. Chcete-li jej použít, musí klient i DNS resolver podporovat DNSCrypt. Například od března 2016 je povolena na jejích serverech DNS a v prohlížeči Yandex. Několik dalších poskytovatelů také oznámilo podporu, včetně Google a Cloudflare. Bohužel jich není mnoho (na oficiálních stránkách je uvedeno 152 veřejných DNS serverů). Ale program
Jak DNSCrypt funguje? Zkrátka klient vezme veřejný klíč vybraného poskytovatele a použije jej k ověření jeho certifikátů. Krátkodobé veřejné klíče pro relaci a identifikátor šifrovací sady již existují. Klientům se doporučuje, aby pro každý požadavek vygenerovali nový klíč, a serverům se doporučuje, aby klíče změnily každé 24 hodiny. Při výměně klíčů se používá algoritmus X25519, pro podepisování - EdDSA, pro blokové šifrování - XSalsa20-Poly1305 nebo XChaCha20-Poly1305.
Jeden z vývojářů protokolu Frank Denis
Zaprvé je to extrémně užitečné pro bezpečnost: pokud je server kompromitován nebo je prozrazen klíč, pak včerejší provoz nelze dešifrovat. Klíč se již změnil. To bude pravděpodobně představovat problém pro implementaci zákona Yarovaya, který nutí poskytovatele ukládat veškerý provoz, včetně šifrovaného. Z toho vyplývá, že jej lze později v případě potřeby dešifrovat vyžádáním klíče z webu. Ale v tomto případě to web prostě nemůže poskytnout, protože používá krátkodobé klíče a maže staré.
Ale co je nejdůležitější, píše Denis, krátkodobé klíče nutí servery k nastavení automatizace od prvního dne. Pokud se server připojí k síti a skripty změny klíče nejsou nakonfigurovány nebo nefungují, bude to okamžitě zjištěno.
Když automatizace mění klíče každých pár let, nelze se na to spolehnout a lidé mohou zapomenout na vypršení platnosti certifikátu. Pokud měníte klíče denně, bude to okamžitě detekováno.
Současně, pokud je automatizace nakonfigurována normálně, pak nezáleží na tom, jak často se klíče mění: každý rok, každé čtvrtletí nebo třikrát denně. Pokud vše funguje déle než 24 hodin, bude fungovat navždy, píše Frank Denis. Podle něj doporučení denního střídání klíčů ve druhé verzi protokolu spolu s hotovým obrazem Docker, který jej implementuje, efektivně snížilo počet serverů s prošlými certifikáty a zároveň zlepšilo zabezpečení.
Někteří poskytovatelé se však přesto z technických důvodů rozhodli nastavit dobu platnosti certifikátu na více než 24 hodin. Tento problém byl z velké části vyřešen pomocí několika řádků kódu v dnscrypt-proxy: uživatelé obdrží informativní varování 30 dní před vypršením platnosti certifikátu, další zprávu s vyšší úrovní závažnosti 7 dní před vypršením platnosti a kritickou zprávu, pokud certifikát zbývá. platnost.méně než 24 hodin. To platí pouze pro certifikáty, které mají zpočátku dlouhou dobu platnosti.
Tyto zprávy dávají uživatelům příležitost upozornit operátory DNS na blížící se vypršení platnosti certifikátu dříve, než bude příliš pozdě.
Možná, že kdyby takovou zprávu dostali všichni uživatelé Firefoxu, tak by to pravděpodobně někdo informoval vývojáře a ti by nedovolili vypršení platnosti certifikátu. „Nepamatuji si jediný server DNSCrypt na seznamu veřejných serverů DNS, kterému za poslední dva nebo tři roky vypršela platnost certifikátu,“ píše Frank Denis. V každém případě je pravděpodobně lepší uživatele nejprve varovat, než zakázat rozšíření bez varování.
Zdroj: www.habr.com