AddTrusti juursertifikaadi aegumine põhjustab OpenSSL- ja GnuTLS-süsteemides kokkujooksmisi

30. mail lõppes juursertifikaadi 20-aastane kehtivusaeg AddTrustMis rakendatud genereerida ühe suurima sertifitseerimisasutuse Sectigo (Comodo) ristallkirjastatud sertifikaadid. Ristallkirjastamine võimaldas ühilduvust pärandseadmetega, mille juursertifikaadisalve ei olnud uut USERTRusti juursertifikaati lisatud.

AddTrusti juursertifikaadi aegumine põhjustab OpenSSL- ja GnuTLS-süsteemides kokkujooksmisi

Teoreetiliselt peaks AddTrusti juursertifikaadi lõpetamine viima ainult pärandsüsteemidega (Android 2.3, Windows XP, Mac OS X 10.11, iOS 9 jne) ühilduvuse rikkumiseni, kuna ristallkirjas kasutatud teine ​​juursertifikaat jääb alles kehtivad ja kaasaegsed brauserid võtavad seda usaldusahela kontrollimisel arvesse. Praktikas ilmus kohale Probleemid allkirjade ristkontrolliga mitte-brauseri TLS-i klientides, sealhulgas OpenSSL 1.0.x-l ja GnuTLS-il põhinevates klientides. Turvalist ühendust ei looda enam veaga, mis näitab, et sertifikaat on aegunud, kui server kasutab Sectigo sertifikaati, mis on usaldusahela kaudu ühendatud AddTrusti juursertifikaadiga.

Kui tänapäevaste brauserite kasutajad ei märganud ristallkirjastatud Sectigo sertifikaatide töötlemisel AddTrust juursertifikaadi vananemist, siis hakkasid ilmnema probleemid erinevates kolmandate osapoolte rakendustes ja serveripoolsetes töötlejates, mis tõid kaasa rikkumine töö paljud infrastruktuurid, mis kasutavad komponentidevahelise suhtluse jaoks krüpteeritud sidekanaleid.

Näiteks olid probleemid juurdepääsuga mõnele Debiani ja Ubuntu pakettide hoidlale (apt hakkas genereerima sertifikaadi kinnitamise viga), hakkasid utiliite “curl” ja “wget” kasutavate skriptide päringud ebaõnnestuma, Giti kasutamisel täheldati vigu, rikutud Roku voogedastusplatvorm töötab, töötlejatele enam ei helistata Stripe и DataDog, algas juhtuvad avariid Heroku rakendustes, peatus OpenLDAP-kliendid loovad ühenduse, tuvastatakse probleemid kirjade saatmisel SMTPS-ile ja STARTTLS-iga SMTP-serveritele. Lisaks täheldatakse probleeme erinevates Ruby, PHP ja Pythoni skriptides, mis kasutavad http-kliendiga moodulit. Brauseri probleem mõjutab Epiphany, mis lõpetas reklaamide blokeerimise loendite laadimise.

Go programme see probleem ei mõjuta, sest Go pakub enda rakendamine TLS.

Eeldatiet probleem mõjutab vanemaid levitamisväljaandeid (sh Debian 9, Ubuntu 16.04, RHEL 6/7), mis kasutavad probleemseid OpenSSL-i harusid, kuid probleem ilmutas ennast ka siis, kui APT paketihaldur töötab Debian 10 ja Ubuntu 18.04/20.04 praegustes versioonides, kuna APT kasutab GnuTLS-i teeki. Probleemi tuum seisneb selles, et paljud TLS/SSL-i teegid sõeluvad sertifikaati lineaarse ahelana, samas kui standardi RFC 4158 kohaselt võib sertifikaat esindada suunatud hajutatud ringgraafikut mitme usaldusankruga, mida tuleb arvesse võtta. Teave OpenSSL-i ja GnuTLS-i vea kohta see oli teatud aastaid. OpenSSL-is lahendati probleem harus 1.1.1 ja sees gnuTLS jäänused parandamata.

Lahendusena on soovitatav eemaldada süsteemisalvest sertifikaat "AddTrust External CA Root" (näiteks eemaldada failid /etc/ca-certificates.conf ja /etc/ssl/certs ning seejärel käivitada "update-ca". -sertifikaadid -f -v"), mille järel OpenSSL hakkab oma osalusel tavaliselt ristallkirjastatud sertifikaate töötlema. APT paketihaldurit kasutades saate omal riisikol keelata üksikute päringute sertifikaadi kinnitamise (näiteks "apt-get update -o Acquire::https::download.jitsi.org::Verify-Peer=false") .

Probleemi blokeerimiseks Fedora и RHEL Soovitatav on lisada AddTrusti sertifikaat musta nimekirja:

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 väljavõte

Kuid see meetod ei tööta GnuTLS-i jaoks (näiteks utiliidi wget käivitamisel kuvatakse jätkuvalt sertifikaadi kinnitamise tõrge).

Serveri poolel saate muuta tellida serveri poolt kliendile saadetud sertifikaatide loetlemine usaldusahelas (kui "AddTrust External CA Root"-ga seotud sertifikaat loendist eemaldatakse, on kliendi kontrollimine edukas). Uue usaldusahela kontrollimiseks ja loomiseks saate teenust kasutada whatsmychaincert.com. Sectigo ka ette nähtud alternatiivne ristallkirjastatud vahesertifikaat "AAA sertifikaaditeenused“, mis kehtib kuni 2028. aastani ja säilitab ühilduvuse OS-i vanemate versioonidega.

Lisa: Probleem ka ilmub LibreSSL-is.

Allikas: opennet.ru

Lisa kommentaar