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

Δύο αποδείξεις που δείχνουν σε αντίθετες κατευθύνσεις

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

Το IKEv2 εκτελεί την απόδειξη της πύλης μέσα στο IKE_AUTH και, όταν χρησιμοποιείται EAP, τρέχει μετά την απόδειξη του χρήστη σε ξεχωριστή ανταλλαγή. Η προδιαγραφή του IKEv2 τα κρατά ως ξεχωριστές ενότητες, που είναι ισχυρή υπόδειξη για το πού να κοιτάξετε όταν ένα μήνυμα καλύπτει και τους δύο γύρους.

Διαβάστε το στάδιο, όχι το μήνυμα

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

Stage that failedEvidence you can inspectWhat a password change cannot fix
The machine proofno security association in the state lista mismatched pre-shared key or an untrusted chain
The user proofan association is up while PPP or EAP reports failurean expired token, a locked account, a missing client key
The client's method supportthe client offers no method the gateway acceptsa client without the required EAP or key material
The server's policythe gateway rejects before any user exchange startsa policy that requires a certificate the profile lacks

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

Ένα πρωτόκολλο με δύο μυστικά δείχνει τα χαρτιά του

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

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

sudo swanctl --list-sas
sudo ip xfrm state list
sudo journalctl -u xl2tpd -n 50 --no-pager

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

Από τι εξαρτάται πραγματικά η σύνδεση μόνο με κωδικό

Η πρόσβαση μόνο με κωδικό είναι συνηθισμένη για L2TP, PPTP, SSTP και IKEv2 με EAP. Το WireGuard δεν έχει καθόλου τέτοια επιλογή, γιατί οι ομότιμοί του είναι κλειδιά και όχι χρήστες. Για το OpenVPN η απάντηση προέρχεται από την απαίτηση του διακομιστή για πιστοποιητικό πελάτη: μια πύλη που απαιτεί και πιστοποιητικό και κωδικό θα συνεχίσει να απορρίπτει πελάτη με μόνο κωδικό, ό,τι κι αν πληκτρολογηθεί στο πεδίο.

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

Αλλάξτε ένα πράγμα και μετά επανελέγξτε

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

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

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