AddTrust saknes sertifikāta novecošanās izraisa OpenSSL un GnuTLS sistēmu avārijas

30. maijā beidzās saknes sertifikāta 20 gadu derīguma termiņš AddTrustKurš piemērots ģenerēt vienas no lielākajām sertifikācijas iestādēm Sectigo (Comodo) savstarpēji parakstītus sertifikātus. Savstarpēja parakstīšana ļāva nodrošināt saderību ar mantotajām ierīcēm, kuru saknes sertifikātu krātuvei nebija pievienots jaunais USERTRust saknes sertifikāts.

AddTrust saknes sertifikāta novecošanās izraisa OpenSSL un GnuTLS sistēmu avārijas

Teorētiski AddTrust saknes sertifikāta darbības pārtraukšanai vajadzētu izraisīt tikai saderības ar mantotajām sistēmām (Android 2.3, Windows XP, Mac OS X 10.11, iOS 9 utt.) pārkāpumu, jo paliek otrais saknes sertifikāts, kas izmantots savstarpējā parakstā. derīgas un modernas pārlūkprogrammas to ņem vērā, pārbaudot uzticības ķēdi. Par praksi parādījās Problēmas ar savstarpējo parakstu verifikāciju TLS klientos, kas nav pārlūkprogrammas, tostarp tajos, kuru pamatā ir OpenSSL 1.0.x un GnuTLS. Drošs savienojums vairs netiek izveidots ar kļūdu, kas norāda, ka sertifikāts ir novecojis, ja serveris izmanto Sectigo sertifikātu, kas ir saistīts ar uzticamības ķēdi ar AddTrust saknes sertifikātu.

Ja mūsdienu pārlūkprogrammu lietotāji, apstrādājot krusteniski parakstītus Sectigo sertifikātus, nepamanīja AddTrust saknes sertifikāta novecošanos, tad dažādās trešo pušu lietojumprogrammās un servera puses apdarinātājos sāka parādīties problēmas, kā rezultātā pārkāpums strādāt daudzas infrastruktūras, kas komponentu mijiedarbībai izmanto šifrētus sakaru kanālus.

Piemēram, bija problēmas ar piekļuvi dažām pakešu krātuvēm Debian un Ubuntu (apt sāka ģenerēt sertifikāta pārbaudes kļūdu), pieprasījumi no skriptiem, izmantojot utilītas “curl” un “wget”, sāka neizdoties, tika novērotas kļūdas, lietojot Git, pārkāpts Roku straumēšanas platforma darbojas, apstrādātājus vairs nezvana Svītra и DataDog, sākās notiek avārijas Heroku lietotnēs, ir beigušies OpenLDAP klienti savienojas, tiek konstatētas problēmas ar pasta sūtīšanu uz SMTPS un SMTP serveriem ar STARTTLS. Turklāt problēmas tiek novērotas dažādos Ruby, PHP un Python skriptos, kas izmanto moduli ar http klientu. Pārlūkprogrammas problēma ietekmē Epiphany, kas pārtrauca reklāmu bloķēšanas sarakstu ielādi.

Go programmas šī problēma neietekmē, jo Go piedāvā pašu īstenošanu TLS.

Tika pieņemtska problēma skar vecākus izplatīšanas laidienus (tostarp Debian 9, Ubuntu 16.04, RHEL 6/7), kas izmanto problemātiskas OpenSSL filiāles, taču problēma izpaudās arī tad, ja APT pakotņu pārvaldnieks darbojas pašreizējās Debian 10 un Ubuntu 18.04/20.04 versijās, jo APT izmanto GnuTLS bibliotēku. Problēmas būtība ir tāda, ka daudzas TLS/SSL bibliotēkas parsē sertifikātu kā lineāru ķēdi, turpretim saskaņā ar RFC 4158 sertifikāts var attēlot virzītu sadalītu apļveida grafiku ar vairākiem uzticamības enkuriem, kas jāņem vērā. Par šo OpenSSL un GnuTLS trūkumu tas bija zināms daudzus gadus. Programmā OpenSSL problēma tika novērsta filiālē 1.1.1 un iekšā gnuTLS paliek nelabots.

Kā risinājums tiek ieteikts noņemt “AddTrust External CA Root” sertifikātu no sistēmas krātuves (piemēram, noņemt no /etc/ca-certificates.conf un /etc/ssl/certs un pēc tam palaist “update-ca”. -certificates -f -v"), pēc kura OpenSSL sāk normāli apstrādāt savstarpēji parakstītus sertifikātus ar savu dalību. Izmantojot APT pakotņu pārvaldnieku, varat atspējot sertifikātu verifikāciju atsevišķiem pieprasījumiem, uz savu risku (piemēram, “apt-get update -o Acquire::https::download.jitsi.org::Verify-Peer=false”). .

Lai bloķētu problēmu Fedora и RHEL Ir ierosināts pievienot AddTrust sertifikātu melnajam sarakstam:

trust dump —filter «pkcs11:id=%AD%BD%98%7A%34%B4%26%F7%FA%C4%26%54%EF%03%BD%E0%24%CB%54%1A;type=cert» \
> /etc/pki/ca-trust/source/blacklist/addtrust-external-root.p11-kit
update-ca-trust ekstrakts

Bet šī metode nedarbojas GnuTLS (piemēram, palaižot utilītu wget, turpina parādīties sertifikāta verifikācijas kļūda).

Servera pusē jūs varat mainīt rīkojums uzskaitot sertifikātus uzticamības ķēdē, ko serveris nosūtījis klientam (ja sertifikāts, kas saistīts ar “AddTrust External CA Root”, tiek noņemts no saraksta, klienta pārbaude būs veiksmīga). Lai pārbaudītu un izveidotu jaunu uzticības ķēdi, varat izmantot pakalpojumu whatsmychaincert.com. Sectigo arī nodrošināta alternatīvs krusteniski parakstīts starpposma sertifikāts "AAA sertifikātu pakalpojumi“, kas būs spēkā līdz 2028. gadam un saglabās saderību ar vecākām OS versijām.

Papildinājums: Problēma arī parādās pakalpojumā LibreSSL.

Avots: opennet.ru

Pievieno komentāru