Zhvlerësimi i certifikatës rrënjësore të AddTrust shkakton ndërprerje në sistemet OpenSSL dhe GnuTLS

Më 30 maj skadoi periudha e vlefshmërisë 20-vjeçare e certifikatës rrënjësore AddTrustCila aplikuar për të gjeneruar një certifikatë të kryqëzuar të një prej autoriteteve më të mëdha të certifikimit Sectigo (Comodo). Ndër-nënshkrimi lejoi përputhshmërinë me pajisjet e vjetra që nuk kishin certifikatën e re rrënjë USERTRust të shtuar në dyqanin e tyre të certifikatave rrënjësore.

Zhvlerësimi i certifikatës rrënjësore të AddTrust shkakton ndërprerje në sistemet OpenSSL dhe GnuTLS

Teorikisht, përfundimi i certifikatës rrënjësore AddTrust duhet të çojë vetëm në një shkelje të përputhshmërisë me sistemet e vjetra (Android 2.3, Windows XP, Mac OS X 10.11, iOS 9, etj.), pasi certifikata e dytë rrënjë e përdorur në nënshkrimin e kryqëzuar mbetet shfletuesit e vlefshëm dhe modernë e marrin parasysh kur kontrollojnë zinxhirin e besimit. Në praktikë u shfaq Probleme me verifikimin e ndër-nënshkrimeve në klientët TLS jo-shfletues, duke përfshirë ato të bazuara në OpenSSL 1.0.x dhe GnuTLS. Një lidhje e sigurt nuk krijohet më me një gabim që tregon se certifikata është e vjetëruar nëse serveri po përdor një certifikatë Sectigo të lidhur nga një zinxhir besimi me certifikatën rrënjësore AddTrust.

Nëse përdoruesit e shfletuesve modernë nuk e vunë re vjetërsinë e certifikatës rrënjësore AddTrust gjatë përpunimit të certifikatave Sectigo të nënshkruara të kryqëzuara, atëherë problemet filluan të shfaqen në aplikacione të ndryshme të palëve të treta dhe mbajtës të serverit, gjë që çoi në shkelje punë shumë infrastruktura që përdorin kanale komunikimi të koduara për ndërveprim ndërmjet komponentëve.

Për shembull, kishte problemet me akses në disa depo paketash në Debian dhe Ubuntu (apt filloi të gjeneronte një gabim verifikimi të certifikatës), kërkesat nga skriptet që përdornin shërbimet "curl" dhe "wget" filluan të dështojnë, u vërejtën gabime gjatë përdorimit të Git, shkelur Platforma e transmetimit Roku po funksionon, mbajtësit nuk thirren më Shirit и DataDog, filloi ndodhin përplasje në aplikacionet Heroku, ndaloi Klientët OpenLDAP lidhen, zbulohen probleme me dërgimin e postës në serverët SMTPS dhe SMTP me STARTTLS. Përveç kësaj, vërehen probleme në skriptet e ndryshme Ruby, PHP dhe Python që përdorin një modul me një klient http. Problemi i shfletuesit ndikon Epiphany, e cila ndaloi ngarkimin e listave të bllokimit të reklamave.

Programet Go nuk preken nga ky problem sepse Go ofron zbatimin e vet TLS.

Supozohejse problemi prek lëshimet më të vjetra të shpërndarjes (përfshirë Debian 9, Ubuntu 16.04, RHEL 6/7) të cilat përdorin degë problematike OpenSSL, por problemi u manifestua gjithashtu kur menaxheri i paketave APT funksionon në versionet aktuale të Debian 10 dhe Ubuntu 18.04/20.04, pasi APT përdor bibliotekën GnuTLS. Thelbi i problemit është se shumë biblioteka TLS/SSL analizojnë një certifikatë si një zinxhir linear, ndërsa sipas RFC 4158, një certifikatë mund të përfaqësojë një grafik rrethor të shpërndarë të drejtuar me ankora të shumta besimi që duhet të merren parasysh. Rreth kësaj të mete në OpenSSL dhe GnuTLS ajo ishte dihet për shumë vite. Në OpenSSL problemi u rregullua në degën 1.1.1 dhe në gnuTLS Mbetet i pakorrigjuar.

Si zgjidhje, sugjerohet të hiqni certifikatën "AddTrust External CA Root" nga ruajtja e sistemit (për shembull, hiqni nga /etc/ca-certificates.conf dhe /etc/ssl/certs dhe më pas ekzekutoni "update-ca -certifikata -f -v"), pas së cilës OpenSSL fillon të përpunojë normalisht certifikatat e nënshkruara të kryqëzuara me pjesëmarrjen e saj. Kur përdorni menaxherin e paketave APT, mund të çaktivizoni verifikimin e certifikatës për kërkesat individuale me rrezikun tuaj (për shembull, "apt-get update -o Merr::https::download.jitsi.org::Verify-Peer=false") .

Për të bllokuar problemin në Fedora и RHEL Propozohet të shtoni certifikatën AddTrust në listën e zezë:

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 ekstrakt

Por kjo metodë nuk punon për GnuTLS (për shembull, një gabim i verifikimit të certifikatës vazhdon të shfaqet gjatë ekzekutimit të mjetit wget).

Në anën e serverit mundeni për të ndryshuar porosia duke renditur certifikatat në zinxhirin e besimit të dërguar nga serveri te klienti (nëse certifikata e lidhur me "AddTrust External CA Root" hiqet nga lista, atëherë verifikimi i klientit do të jetë i suksesshëm). Për të kontrolluar dhe gjeneruar një zinxhir të ri besimi, mund të përdorni shërbimin whatsmychaincert.com. Sectigo gjithashtu me kusht certifikatë alternative e ndërmjetme e nënshkruar "Shërbimet e Certifikatës AAA“, i cili do të jetë i vlefshëm deri në vitin 2028 dhe do të ruajë përputhshmërinë me versionet më të vjetra të OS.

Shtim: Problem gjithashtu proявляется në LibreSSL.

Burimi: opennet.ru

Shto një koment