Χθες μοιραστήκαμε εδώ στο ιστολόγιο την είδηση ότι ο τερματισμός του πιστοποιητικού IdenTrust (DST Root CA X3) που χρησιμοποιείται για την υπογραφή του πιστοποιητικού Let's Encrypt CA έχει προκαλέσει προβλήματα με την επικύρωση του πιστοποιητικού Let's Encrypt σε έργα που χρησιμοποιούν παλαιότερες εκδόσεις του OpenSSL και του GnuTLS.
Τα προβλήματα επηρέασαν επίσης τη βιβλιοθήκη LibreSSL, της οποίας οι προγραμματιστές δεν έλαβαν υπόψη την προηγούμενη εμπειρία που σχετίζεται με αποτυχίες που προέκυψαν μετά τη λήξη του πιστοποιητικού ρίζας AddTrust της αρχής πιστοποίησης Sectigo (Comodo).
Στις εκδόσεις OpenSSL έως και την έκδοση 1.0.2 και στις εκδόσεις GnuTLS πριν από την έκδοση 3.6.14, υπήρχε ένα σφάλμα που εμπόδιζε τη σωστή επεξεργασία των πιστοποιητικών με διασταυρούμενη υπογραφή εάν ένα από τα πιστοποιητικά ρίζας που χρησιμοποιήθηκαν για την υπογραφή έληγε, ακόμα και αν παρέμεναν άλλα έγκυρα πιστοποιητικά.
Η ουσία του σφάλματος είναι ότι οι παλαιότερες εκδόσεις των OpenSSL και GnuTLS ανέλυαν το πιστοποιητικό ως γραμμική αλυσίδα, ενώ σύμφωνα με το RFC 4158, ένα πιστοποιητικό μπορεί να αντιπροσωπεύει ένα κατευθυνόμενο κατανεμημένο γράφημα πίτας με πολλαπλές άγκυρες εμπιστοσύνης που πρέπει να ληφθούν υπόψη.
Το έργο OpenBSD κυκλοφόρησε επειγόντως ενημερώσεις κώδικα (patches) για τους κλάδους 6.8 και 6.9 σήμερα, οι οποίες διορθώνουν προβλήματα στο LibreSSL με την επαλήθευση πιστοποιητικών με διασταυρούμενη υπογραφή. Ένα από τα πιστοποιητικά ρίζας στην αλυσίδα εμπιστοσύνης έχει λήξει. Ως λύση, συνιστάται η αλλαγή του HTTPS σε HTTP στο `/etc/installurl` (αυτό δεν θέτει σε κίνδυνο την ασφάλεια, καθώς οι ενημερώσεις εξακολουθούν να επαληθεύονται με ψηφιακή υπογραφή) ή η επιλογή ενός εναλλακτικού κατοπτρισμού (ftp.usa.openbsd.org, ftp.hostserver.de, cdn.openbsd.org).
Μπορείτε επίσης να καταργήσετε το ληγμένο πιστοποιητικό DST Root CA X3 από το αρχείο /etc/ssl/cert.pem και το βοηθητικό πρόγραμμα syspatch που χρησιμοποιείται για την εγκατάσταση ενημερώσεων δυαδικού συστήματος θα σταματήσει να λειτουργεί στο OpenBSD.
Παρόμοια προβλήματα DragonFly BSD παρουσιάζονται όταν εργάζεστε με DPorts. Η εκκίνηση του διαχειριστή πακέτων pkg δημιουργεί ένα σφάλμα επικύρωσης πιστοποιητικού. Η επιδιόρθωση έχει προστεθεί στους κύριους κλάδους, DragonFly_RELEASE_6_0 και DragonFly_RELEASE_5_8 σήμερα. Ως λύση, μπορείτε να καταργήσετε το πιστοποιητικό DST Root CA X3.
Ορισμένες από τις αποτυχίες που προέκυψαν μετά την ακύρωση του πιστοποιητικού IdenTrust ήταν οι εξής:
- Η διαδικασία επαλήθευσης για τα πιστοποιητικά Let's Encrypt σε εφαρμογές που βασίζονται στην πλατφόρμα Electron έχει διακοπεί. Αυτό το ζήτημα διορθώθηκε στις ενημερωμένες εκδόσεις 12.2.1, 13.5.1, 14.1.0, 15.1.0.
- Ορισμένες διανομές αντιμετωπίζουν προβλήματα πρόσβασης στα αποθετήρια πακέτων όταν χρησιμοποιούν τον διαχειριστή πακέτων APT που περιλαμβάνεται σε παλαιότερες εκδόσεις της βιβλιοθήκης GnuTLS.
- Το Debian 9 επηρεάστηκε από το μη επιδιορθωμένο πακέτο GnuTLS, προκαλώντας προβλήματα πρόσβασης στο deb.debian.org για χρήστες που δεν εγκατέστησαν έγκαιρα τις ενημερώσεις (η επιδιόρθωση gnutls28-3.5.8-5 + deb9u6 προτάθηκε στις 17 Σεπτεμβρίου).
- Το πρόγραμμα-πελάτης acme καταστράφηκε στο OPNsense, το ζήτημα αναφέρθηκε εκ των προτέρων, αλλά οι προγραμματιστές απέτυχαν να κυκλοφορήσουν την ενημέρωση κώδικα εγκαίρως.
- Το ζήτημα επηρέασε το πακέτο OpenSSL 1.0.2k στο RHEL/CentOS 7, αλλά πριν από μια εβδομάδα για το RHEL 7 και το CentOS 7, κυκλοφόρησε μια ενημέρωση στο πακέτο ca-certificate-2021.2.50-72.el7_9.noarch, από το οποίο κυκλοφόρησε που δημιουργήθηκε το πιστοποιητικό IdenTrust διαγράφηκε, δηλ. η εκδήλωση του προβλήματος μπλοκαρίστηκε εκ των προτέρων.
- Δεδομένου ότι οι ενημερώσεις κυκλοφόρησαν νωρίς, το πρόβλημα με τον έλεγχο των πιστοποιητικών Let's Encrypt επηρέασε μόνο τους χρήστες των παλαιών υποκαταστημάτων RHEL/CentOS και Ubuntu, οι οποίοι δεν εγκαθιστούν ενημερώσεις τακτικά.
- Η διαδικασία επαλήθευσης πιστοποιητικού στο grpc είναι κατεστραμμένη.
- Η δημιουργία της πλατφόρμας σελίδων Cloudflare απέτυχε.
- Ζητήματα Υπηρεσιών Ιστού της Amazon (AWS).
- Οι χρήστες του DigitalOcean αντιμετωπίζουν προβλήματα με τη σύνδεση στη βάση δεδομένων.
- Αποτυχία στην πλατφόρμα cloud Netlify.
- Προβλήματα πρόσβασης στις υπηρεσίες Xero.
- Μια προσπάθεια δημιουργίας σύνδεσης TLS με το MailGun Web API απέτυχε.
- Σφάλματα στις εκδόσεις macOS και iOS (11, 13, 14), που θεωρητικά δεν θα έπρεπε να έχουν επηρεαστεί από το πρόβλημα.
- Αποτυχία στις υπηρεσίες Catchpoint.
- Απέτυχε ο έλεγχος των πιστοποιητικών κατά την πρόσβαση στο PostMan API.
- Το τείχος προστασίας του Guardian συνετρίβη.
- Διακοπή λειτουργίας στη σελίδα υποστήριξης monday.com.
- Συντριβή στην πλατφόρμα Cerb.
- Δεν ήταν δυνατή η επαλήθευση του χρόνου λειτουργίας στο Google Cloud Monitoring.
- Πρόβλημα με την επικύρωση πιστοποιητικού στο Cisco Umbrella Secure Web Gateway.
- Προβλήματα σύνδεσης με διακομιστή μεσολάβησης Bluecoat και Palo Alto.
- Το OVHcloud αντιμετωπίζει πρόβλημα με τη σύνδεση στο OpenStack API.
- Προβλήματα με τη δημιουργία αναφορών στο Shopify.
- Υπάρχουν προβλήματα με την πρόσβαση στο Heroku API.
- Συντριβή στο Ledger Live Manager.
- Σφάλμα επικύρωσης πιστοποιητικού στα εργαλεία ανάπτυξης εφαρμογών Facebook.
- Προβλήματα στο Sophos SG UTM.
- Προβλήματα με την επαλήθευση πιστοποιητικού στο cPanel.
Ως εναλλακτική λύση, προτείνεται η κατάργηση του πιστοποιητικού "DST Root CA X3" από τον χώρο αποθήκευσης συστήματος (/etc/ca-certificates.conf και /etc/ssl/certs) και, στη συνέχεια, η εκτέλεση της εντολής "update-ca -ificates -f -v".
Σε CentOS και RHEL, μπορείτε να προσθέσετε το πιστοποιητικό "DST Root CA X3" στη μαύρη λίστα.