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

Μία σύνδεση, πολλά bind

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

connect to the directory and establish the configured TLS protection
bind as the configured service account
search for the user entry using the search base and filter
open a second connection and bind as that user, then evaluate groups

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

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

Συνδυάστε το σφάλμα με μια ταυτότητα

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

What the log showsIdentity likely refusedFirst thing to check
Failure at start-up, no user yetService accountDN, password, expiry, lockout
Search returns nothingNone, the search scope is wrongSearch base and filter
Failure only for one userThat user's entryEntry state, bind DN, group rules

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

Το διακεκριμένο όνομα είναι δεδομένο, όχι εικασία

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

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

CN=VPN Bind,CN=Users,DC=corp,DC=example
CN=VPN Bind,OU=Service Accounts,DC=corp,DC=example

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

Η βάση αναζήτησης δεν είναι λογαριασμός υπηρεσίας

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

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

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

Οι κανόνες ομάδας έρχονται τελευταίοι

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

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

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