AddTrusti juursertifikaadi aegumine põhjustas OpenSSL ja GnuTLS süsteemide tõrkeid

30. mai möödus 20-aastane kehtivusaeg juursertifikaadile AddTrust, mis kasutati ühe suurima sertifitseerimiskeskuse Sectigo (Comodo) sertifikaatides ristsignatuuri (cross-signed) loomiseks. Ristsignatuur tagas ühilduvuse vanade seadmetega, mille juursertifikaatide hoiustikku ei olnud lisatud uut juursertifikaati USERTRust.

AddTrusti juursertifikaadi aegumine põhjustas OpenSSL ja GnuTLS süsteemide tõrkeid

Teoreetiliselt pidi AddTrust'i juursertifikaadi kehtivuse lõpp viima vaid ühilduvuse kadumiseni aegunud süsteemidega (Android 2.3, Windows XP, Mac OS X 10.11, iOS 9 jne.), kuna teine juursertifikaat, mida ristsignatuuris kasutatakse, jääb kehtivaks ja kaasaegsed brauserid arvestavad seda usaldusketi kontrollimisel. Praktikas ilmusid probleemid ristsignatuuri kontrollimisel TLS-klientides, mis ei kasuta brausereid, sealhulgas OpenSSL 1.0.x ja GnuTLS baasil. Turvaline ühendus lakkas toimumast, andes vea aegunud sertifikaadi kohta, kui serveris on kasutusel Sectigo sertifikaat, mis on usaldusketis seotud AddTrust'i juursertifikaadiga.

Kui kaasaegsete brauserite kasutajad ei märganud AddTrust'i juursertifikaadi aegumist ristsignatuuriga sertifikaatide töötlemisel, siis erinevates kolmandate osapoolte rakendustes ja serverite töötlejates hakkasid esinema probleemid, mis viisid katkestusteni töös paljusid infrastruktuure, mis kasutavad krüpteeritud sidekanaleid komponentide vaheline suhtlemiseks.

Näiteks ilmnesid probleemile probleemid juurdepääsul mõnedele paketirepositooriumidele Debianis ja Ubuntu's (apt hakkas andma sertifikaadi kontrollimise vea), ilmnesid katkestused skriptide kõnedes utiliitidega „curl” ja „wget”, esinesid vead Git'i kasutamisel, katkestas Roku striimimisplatvormi töö, lõpetasid töötluskäitlejad Stripe ja DataDog, hakkasid ilmnema kokkuvarisemised Heroku rakendustes, lakkasid tugevdamast OpenLDAP-kliente, märgati probleeme meili saatmisel SMTPS ja SMTP serveritesse STARTTLS-iga. Lisaks ilmnevad probleemid erinevates Ruby-, PHP- ja Python-skriptides, mis kasutavad http-klientide moodulit. Brauseritest on probleem puudutab Epiphany, kus reklaamiblokeerimise nimekirjad ei laaditu.

Go keeles kirjutatud programmid pole probleemile vastuvõtlikud, kuna Go pakub oma teostus TLS.

Oletati, et probleem mõjutab vanemaid versioone distributsioonidest (sealhulgas Debian 9, Ubuntu 16.04, RHEL 6/7) kus kasutatakse probleemseid haru OpenSSL, kuid probleem ilmnes ka APT paketihalduri töös kaasaegsetes versioonides Debian 10 ja Ubuntu 18.04/20.04, kuna APT kasutab GnuTLS raamatukogu. Probleemi sisu on see, et paljud TLS/SSL raamatukogud tõlgendavad sertifikaati kui lineaarset ahelat, samas kui vastavalt RFC 4158 võib sertifikaat esitada suunatud jaotatud tsüklilise graafina mitme usaldusankruga, mida tuleb arvesse võtta. Sellest probleemist OpenSSL ja GnuTLS oli , et see jätkab 48-voldiste toitesüsteemide kasutamist. on juba aastaid. OpenSSLis on probleem lahendatud harus 1.1.1, kuid GnuTLS jäänud on parandamata.

Alternatiivse lahendusena soovitatakse süsteemi sertifikaadist eemaldada «AddTrust External CA Root» (näiteks eemaldada failidest /etc/ca-certificates.conf ja /etc/ssl/certs, seejärel käivitada «update-ca-certificates -f -v»), mille järel OpenSSL hakkab normaalselt töötlema ristirasitatud sertifikaate, millega ta on seotud. APT paketihalduri kasutamisel võib oma vastutusel teatud päringute osas sertifikaadi kontrollimise välja lülitada (näiteks «apt-get update -o Acquire::https::download.jitsi.org::Verify-Peer=false»).

Probleemi blokeerimiseks on Fedora ja RHEL soovitatav lisada AddTrust sertifikaat musta nimekirja:

trust dump —filter «pkcs11:id=;type=cert»
> /etc/pki/ca-trust/source/blacklist/addtrust-external-root.p11-kit
update-ca-trust extract

Kuid see meetod ei tööta GnuTLS jaoks (näiteks jätkub sertifikaadi kontrollimise vea kuvamine wget utiliidi käivitamisel).

Serveri poolel on võimalik muuta sertifikaatide järjestust usaldusketis, mida server saadab kliendile (kui «AddTrust External CA Root» sertifikaat eemaldatakse nimekirjast, siis kliendi kontrollimine õnnestub). Uue usaldusketi kontrollimiseks ja genereerimiseks võib kasutada teenust whatsmychaincert.com . Sectigo on samutipakkunud alternatiivset ristirasitatud vahe-sertifikaati « AAA Certificate Services«, mis kehtib kuni 2028. aastani ja võimaldab säilitada ühilduvuse vanemate opsüsteemide versioonidega.Lisand: probleem on samuti

LibreSSLis. ilmneb 30. mai möödus 20-aastane tähtaeg AddTrust'i juur-sertifikaadi jaoks,

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster