Agrāk sertifikātu derīguma termiņš bieži beidzās, jo tie bija jāatjauno manuāli. Cilvēki vienkārši aizmirsa to izdarīt. Līdz ar Let's Encrypt parādīšanos un automātiskās atjaunināšanas procedūru, šķiet, ka problēma būtu jāatrisina. Bet nesen
Ja palaidāt garām stāstu, 4. gada 2019. maija pusnaktī gandrīz visi Firefox paplašinājumi pēkšņi pārstāja darboties.
Kā izrādījās, masveida kļūme notika tāpēc, ka Mozilla
Mozilla ātri izlaida Firefox 66.0.4 ielāpu, kas atrisina problēmu ar nederīgu sertifikātu, un visi paplašinājumi atgriežas normālā stāvoklī. Izstrādātāji iesaka to instalēt un
Tomēr šis stāsts vēlreiz parāda, ka sertifikātu derīguma termiņš joprojām ir aktuāls jautājums.
Šajā sakarā ir interesanti aplūkot diezgan oriģinālu veidu, kā protokola izstrādātāji tika galā ar šo uzdevumu
DNSCrypt
DNSCrypt ir DNS trafika šifrēšanas protokols. Tas aizsargā DNS sakarus no pārtveršanas un MiTM, kā arī ļauj apiet bloķēšanu DNS vaicājuma līmenī.
Protokols ietver DNS trafiku starp klientu un serveri kriptogrāfiskā konstrukcijā, kas darbojas, izmantojot UDP un TCP transporta protokolus. Lai to izmantotu, gan klientam, gan DNS atrisinātājam ir jāatbalsta DNSCrypt. Piemēram, kopš 2016. gada marta tas ir iespējots tā DNS serveros un Yandex pārlūkprogrammā. Atbalstu ir paziņojuši arī vairāki citi pakalpojumu sniedzēji, tostarp Google un Cloudflare. Diemžēl to nav daudz (oficiālajā vietnē ir norādīti 152 publiskie DNS serveri). Bet programma
Kā darbojas DNSCrypt? Īsāk sakot, klients paņem izvēlētā pakalpojumu sniedzēja publisko atslēgu un izmanto to, lai pārbaudītu savus sertifikātus. Sesijas īstermiņa publiskās atslēgas un šifrēšanas komplekta identifikators jau ir tur. Klienti tiek mudināti katram pieprasījumam ģenerēt jaunu atslēgu, un serveri tiek mudināti mainīt atslēgas ik pēc 24 stundām. Apmainoties ar atslēgām, tiek izmantots algoritms X25519, parakstīšanai - EdDSA, bloku šifrēšanai - XSalsa20-Poly1305 vai XChaCha20-Poly1305.
Viens no protokola izstrādātājiem Frenks Deniss
Pirmkārt, tas ir ārkārtīgi noderīgs drošībai: ja serveris ir apdraudēts vai atslēga ir noplūdusi, vakardienas trafiku nevar atšifrēt. Atslēga jau ir mainīta. Tas, iespējams, radīs problēmas Yarovaya likuma īstenošanā, kas liek pakalpojumu sniedzējiem saglabāt visu trafiku, tostarp šifrēto trafiku. Tas nozīmē, ka to vēlāk var atšifrēt, ja nepieciešams, pieprasot atslēgu no vietnes. Bet šajā gadījumā vietne to vienkārši nevar nodrošināt, jo izmanto īstermiņa atslēgas, dzēšot vecās.
Bet pats galvenais, raksta Deniss, īstermiņa atslēgas liek serveriem iestatīt automatizāciju jau no pirmās dienas. Ja serveris izveido savienojumu ar tīklu un atslēgas maiņas skripti nav konfigurēti vai nedarbojas, tas tiks konstatēts nekavējoties.
Kad automatizācija ik pēc dažiem gadiem maina atslēgas, uz to nevar paļauties, un cilvēki var aizmirst par sertifikāta derīguma termiņu. Ja katru dienu maināt atslēgas, tas tiks konstatēts uzreiz.
Tajā pašā laikā, ja automatizācija ir konfigurēta normāli, tad nav svarīgi, cik bieži tiek mainīti atslēgas: katru gadu, katru ceturksni vai trīs reizes dienā. Ja viss darbosies ilgāk par 24 stundām, tas darbosies mūžīgi, raksta Frenks Deniss. Pēc viņa teiktā, ieteikums par ikdienas atslēgu rotāciju protokola otrajā versijā kopā ar gatavu Docker attēlu, kas to realizē, efektīvi samazināja serveru skaitu ar beidzies sertifikātiem, vienlaikus uzlabojot drošību.
Tomēr daži pakalpojumu sniedzēji tehnisku iemeslu dēļ joprojām nolēma noteikt sertifikāta derīguma termiņu, kas pārsniedz 24 stundas. Šī problēma lielā mērā tika atrisināta, izmantojot dažas koda rindiņas programmā dnscrypt-proxy: lietotāji saņem informatīvu brīdinājumu 30 dienas pirms sertifikāta derīguma termiņa beigām, citu ziņojumu ar augstāku nopietnības pakāpi 7 dienas pirms derīguma termiņa beigām un kritisku ziņojumu, ja sertifikātā ir atlikuši. derīguma termiņš. mazāk nekā 24 stundas. Tas attiecas tikai uz sertifikātiem, kuriem sākotnēji ir ilgs derīguma termiņš.
Šie ziņojumi sniedz lietotājiem iespēju informēt DNS operatorus par gaidāmo sertifikāta derīguma termiņu, pirms ir par vēlu.
Iespējams, ja visi Firefox lietotāji saņemtu šādu ziņojumu, tad kāds droši vien informētu izstrādātājus un tie neļautu sertifikātam beigties. "Es neatceros nevienu DNSCrypt serveri publisko DNS serveru sarakstā, kuram pēdējo divu vai trīs gadu laikā būtu beidzies sertifikāta derīguma termiņš," raksta Frenks Deniss. Jebkurā gadījumā, iespējams, ir labāk vispirms brīdināt lietotājus, nevis atspējot paplašinājumus bez brīdinājuma.
Avots: www.habr.com