Η ανάκληση δεν εισχωρεί ποτέ σε ένα ενεργό τούνελ για να διαγράψει μια συνεδρία. Η λίστα είναι είσοδος στον έλεγχο του πιστοποιητικού και διαβάζεται κατά την ανταλλαγή του καναλιού ελέγχου που ξεκινά μια συνεδρία TLS. Αυτό το ένα γεγονός εξηγεί και τις δύο εκπλήξεις: ένας ανακλημένος πελάτης συνδέεται ξανά, επειδή η λίστα δεν έφτασε ποτέ στον επαληθευτή, και μια υπάρχουσα συνεδρία επιβιώνει, επειδή κανείς δεν επαλήθευσε τίποτα ξανά.

Μια λίστα είναι είσοδος, όχι ενέργεια

Κατά τη σύσταση της συνεδρίας ο διακομιστής επικυρώνει το πιστοποιητικό του πελάτη έναντι των άγκυρων εμπιστοσύνης του, και η οδηγία ανάκλησης προσθέτει σε αυτή την απόφαση μια αναζήτηση στη λίστα. Ο έλεγχος γίνεται στον διακομιστή, επομένως ο πελάτης δεν μπορεί να δει ότι το πιστοποιητικό του ανακλήθηκε και συνεχίζει να προσφέρει το ίδιο. Άρα ένα προφίλ που συνδέεται ακόμη αποδεικνύει μόνο ότι κάποιος επαληθευτής δέχτηκε την αλυσίδα, όχι ότι η ανάκληση απέτυχε.

Η ίδια η λίστα είναι ένα υπογεγραμμένο αντικείμενο με ημερομηνία έκδοσης και ημερομηνία επόμενης ενημέρωσης. Μια άσχετη λίστα, μία υπογεγραμμένη από άλλη αρχή ή μία της οποίας η επόμενη ενημέρωση έχει περάσει δεν αντικαθιστά την τρέχουσα, και το αν μια παλιά λίστα απορρίπτεται ή γίνεται σιωπηρά δεκτή εξαρτάται από την ανάπτυξη.

Νέα σύνδεση έναντι ενεργής συνεδρίας

Η ανάκληση αξιολογείται όταν μια συνεδρία συστήνεται ή επαναδιαπραγματεύεται, όχι απέναντι στο κανάλι δεδομένων σε κάθε πακέτο. Ένας πελάτης που είναι ήδη συνδεδεμένος κρατά κλειδιά κίνησης, οπότε συνεχίζει να περνά πακέτα αφού το πιστοποιητικό του εμφανιστεί στη λίστα. Το προεπιλεγμένο διάστημα επαναδιαπραγμάτευσης μετριέται σε ώρες, γι’ αυτό μια ενημερωμένη λίστα μπορεί να ισχύσει για τους νεοφερμένους ενώ ένα ενεργό τούνελ παραμένει.

SituationWhat the list doesWhen it applies
Fresh connectionBlocks the handshakeAt verification, immediately
RenegotiationBlocks the new exchangeAt the next renegotiation interval
Established data channelNothingUntil the session ends

Η άμεση επιβολή απαιτεί μια σκόπιμη ενέργεια και όχι μόνο τη λίστα. Η επανεκκίνηση της υπηρεσίας αναγκάζει κάθε πελάτη να συνδεθεί ξανά, ενώ ο τερματισμός μιας συνεδρίας μέσω της διεπαφής διαχείρισης αφήνει τις άλλες ανέπαφες. Επιλέξτε μία ανά περιστατικό και σημειώστε ποια χρησιμοποιήσατε. Οι δύο επιλογές έχουν διαφορετικό εύρος επιπτώσεων, και αυτή είναι η πραγματική απόφαση.

Παραδώστε το αρχείο που διαβάζει πραγματικά ο επαληθευτής

Η λίστα πρέπει να παραχθεί από το αρχείο της αρχής και μετά να αντιγραφεί σε κάθε μηχάνημα που επαληθεύει πιστοποιητικά. Το να παραχθεί στον κεντρικό υπολογιστή της CA και να μην εγκατασταθεί ποτέ στον διακομιστή είναι η συνηθέστερη αστοχία, και μοιάζει ακριβώς με χαλασμένη λειτουργία ανάκλησης.

ca ca.crt
cert server.crt
key server.key
crl-verify /etc/openvpn/crl.pem

Δύο λεπτομέρειες κρίνουν αν το αρχείο διαβάζεται πραγματικά. Μια σχετική διαδρομή επιλύεται ως προς τον κατάλογο ρυθμίσεων, οπότε ένα αντίγραφο που έμεινε στον προσωπικό κατάλογο ενός χειριστή μπορεί να μη βρεθεί ποτέ. Και ο δαίμονας συνήθως εγκαταλείπει προνόμια μετά την εκκίνηση, οπότε ο λογαριασμός εκτέλεσης χρειάζεται άδεια αναζήτησης σε κάθε γονικό κατάλογο καθώς και άδεια ανάγνωσης στο αρχείο. Ελέγξτε και τα δύο με τον λογαριασμό εκτέλεσης και όχι με root, αλλιώς η δοκιμή αποδεικνύει το λάθος.

Σε κεντρικούς υπολογιστές με systemd μια σκληρυμένη μονάδα μπορεί επίσης να κρύψει τη διαδρομή, με προβολή μόνο για ανάγνωση ή προστατευμένο κατάλογο συστήματος. Μέσα από την υπηρεσία αυτό δεν ξεχωρίζει από ένα αρχείο που λείπει, οπότε ελέγξτε τους περιορισμούς της μονάδας πριν ψάξετε για λάθος δικαιωμάτων. Διαβάστε το αρχείο της μονάδας πριν κατηγορήσετε τη λειτουργία του αρχείου.

Επιβεβαιώστε στον διακομιστή, όχι στον πελάτη

Το αρχείο καταγραφής του διακομιστή ονομάζει τι συνέβη: άνοιγμα της λίστας, φόρτωσή της ή αποτυχία επαλήθευσης με τον ανακλημένο σειριακό αριθμό. Ο πελάτης αναφέρει μόνο μια γενική αποτυχία χειραψίας, γι’ αυτό τα αρχεία καταγραφής του πελάτη είναι κακό σημείο για αναζήτηση απόφασης ανάκλησης.

Επαληθεύστε με μια νέα προσπάθεια από το ανακλημένο προφίλ και μετά σταματήστε. Μια επιτυχημένη σύνδεση από αυτό το προφίλ είναι το σήμα για να εξετάσετε τη διαδρομή του αρχείου και τον λογαριασμό εκτέλεσης, όχι για να υποθέσετε ότι η λίστα ήταν λάθος. Κρατήστε αυτή την επιτυχημένη προσπάθεια ως δοκιμή αποδοχής, και μην μετρήσετε μια επανασύνδεση που δεν παρακολουθήσατε.

Τι δεν ανακαλεί τίποτα

Η διαγραφή του προφίλ από ένα φορητό υπολογιστή, η αφαίρεση του αρχείου πιστοποιητικού από τον πελάτη ή το να πούμε στον χρήστη να σταματήσει να συνδέεται δεν αλλάζει τίποτα στον διακομιστή. Το πιστοποιητικό παραμένει έγκυρο έως ότου η αρχή καταγράψει την ανάκληση και ο επαληθευτής διαβάσει τη λίστα που προκύπτει.

Γι’ αυτό αξίζει να γράψετε την αλυσίδα: καταγράψτε την ανάκληση, παράγετε και υπογράψτε τη λίστα, διανείμετε ακριβώς αυτό το αρχείο και επιβεβαιώστε ότι ο λογαριασμός της υπηρεσίας μπορεί να το διαβάσει. Κάθε κρίκος είναι σύντομος, και όποιος λείπει αφήνει έναν ανακλημένο πελάτη να συνδέεται χαρούμενα. Ένας κατάλογος ελέγχου με τέσσερις γραμμές νικά μια υπόθεση χωρίς καμία.

Σχετικά άρθρα