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

Δύο έλεγχοι διαχωρίζουν τις περιπτώσεις σε λιγότερο από ένα λεπτό και κανένας τους δεν αγγίζει ρυθμίσεις εμπιστοσύνης.

Διαβάστε το σφάλμα στο επίπεδο που το παρήγαγε

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

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

Άρνηση TCP: κανείς δεν ακούει

Για TCP, ελέγξτε αν η προβλεπόμενη παρουσία εκτελείται και είναι δεσμευμένη στη διεύθυνση και τη θύρα του προφίλ. Το ss -lntp δείχνει ακροατές, και η απουσία ενός είναι η συνήθης εξήγηση. Ένα τείχος προστασίας που απορρίπτει αντί να πετάει παράγει το ίδιο μήνυμα στην πλευρά του πελάτη, γι’ αυτό ελέγχετε και τα δύο.

Ελέγξτε και την οικογένεια διευθύνσεων. Μια υπηρεσία δεσμευμένη στη 127.0.0.1 ή μόνο στο IPv6 θα απορρίψει πελάτη που επιλύεται στην άλλη.

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

Το UDP δεν έχει χειραψία για να αρνηθεί

OpenVPN over UDP δεν εγκαθιστά σύνδεση με την έννοια του TCP, οπότε δεν υπάρχει τίποτα να απορριφθεί τη στιγμή του connect. Στο Linux, ένα σφάλμα που εμφανίζει ένα socket UDP μπορεί να προέρχεται από ICMP port-unreachable που δημιούργησε προηγούμενο datagram. Η σελίδα manual του udp(7) περιγράφει αυτή την ασύγχρονη συμπεριφορά.

Γι’ αυτό ένας πελάτης UDP μπορεί να τυπώσει άρνηση ενώ η διεργασία του διακομιστή εκτελείται αλλά δεν είναι δεσμευμένη στην αναμενόμενη διεύθυνση.

Πού ελέγχεται πραγματικά ένα CRL

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

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

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

Ένα σύντομο εγχειρίδιο για την επόμενη φορά

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

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

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