Πώς να απαγορεύσετε τους τυπικούς κωδικούς πρόσβασης και να κάνετε όλους να σας μισούν

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

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

Στην πρακτική μου, υπήρξε μια περίπτωση που, σε έναν τομέα Active Directory με ενεργοποιημένη πολιτική κωδικού πρόσβασης, οι λογιστές κατέληξαν στην ιδέα ότι ένας κωδικός πρόσβασης όπως το "Pas$w0rd1234" ταιριάζει απόλυτα στις απαιτήσεις πολιτικής. Η συνέπεια ήταν η ευρεία χρήση αυτού του κωδικού πρόσβασης παντού. Μερικές φορές διέφερε μόνο στο σύνολο των αριθμών του.

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

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

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

Αριθμός επιλογής 1. OpenPasswordFilter

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

Χωρίς πάγο!

Αριθμός επιλογής 2. PassFiltEx

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

Έτσι.
Δίνεται: Test.local τομέα Active Directory
Δοκιμαστικός σταθμός εργασίας Windows 8.1 (δεν είναι σημαντικός για το σκοπό του προβλήματος)
φίλτρο κωδικού πρόσβασης PassFiltEx

  • Κατεβάστε την πιο πρόσφατη έκδοση από τον σύνδεσμο PassFiltEx
  • αντίγραφο PassFiltEx.dll в C: WindowsSystem32%SystemRoot%System32).
    αντίγραφο PassFiltExBlacklist.txt в C: WindowsSystem32%SystemRoot%System32). Αν χρειαστεί, το συμπληρώνουμε με τα δικά μας πρότυπα
    Πώς να απαγορεύσετε τους τυπικούς κωδικούς πρόσβασης και να κάνετε όλους να σας μισούν
  • Επεξεργασία του κλάδου μητρώου: HKLMSYSTEMCcurrentControlSetControlLsa => Πακέτα ειδοποιήσεων
    Προσθήκη PassFiltEx μέχρι το τέλος της λίστας. (Η επέκταση δεν χρειάζεται να καθοριστεί.) Η πλήρης λίστα των πακέτων που χρησιμοποιούνται για τη σάρωση θα μοιάζει με αυτό.rassfm scecli PassFiltEx".
    Πώς να απαγορεύσετε τους τυπικούς κωδικούς πρόσβασης και να κάνετε όλους να σας μισούν
  • Επανεκκινήστε τον ελεγκτή τομέα.
  • Επαναλαμβάνουμε την παραπάνω διαδικασία για όλους τους ελεγκτές τομέα.

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

Τμήμα: HKLMSOFTWAREPassFiltEx — δημιουργείται αυτόματα.

  • HKLMSOFTWAREPassFiltExBlacklistNameFile, REG_SZ, Προεπιλογή: PassFiltExBlacklist.txt

    BlacklistFileName — σας επιτρέπει να καθορίσετε μια προσαρμοσμένη διαδρομή σε ένα αρχείο με πρότυπα κωδικών πρόσβασης. Εάν αυτή η καταχώρηση μητρώου είναι κενή ή δεν υπάρχει, τότε χρησιμοποιείται η προεπιλεγμένη διαδρομή, η οποία είναι - %SystemRoot%System32. Μπορείτε ακόμη να καθορίσετε μια διαδρομή δικτύου, ΑΛΛΑ πρέπει να θυμάστε ότι το αρχείο προτύπου πρέπει να έχει σαφή δικαιώματα για ανάγνωση, εγγραφή, διαγραφή, αλλαγή.

  • HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, Προεπιλογή: 60

    TokenPercentageOfPassword — σας επιτρέπει να καθορίσετε το ποσοστό της μάσκας στον νέο κωδικό πρόσβασης. Η προεπιλεγμένη τιμή είναι 60%. Για παράδειγμα, εάν το ποσοστό εμφάνισης είναι 60 και το string starwars βρίσκεται στο αρχείο προτύπου, τότε ο κωδικός πρόσβασης Starwars1! θα απορριφθεί ενώ ο κωδικός πρόσβασης starwars1!DarthVader88 θα γίνει δεκτό επειδή το ποσοστό της συμβολοσειράς στον κωδικό πρόσβασης είναι μικρότερο από 60%

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, Προεπιλογή: 0

    RequireCharClasses — σας επιτρέπει να επεκτείνετε τις απαιτήσεις κωδικού πρόσβασης σε σύγκριση με τις τυπικές απαιτήσεις πολυπλοκότητας κωδικού πρόσβασης ActiveDirectory. Οι ενσωματωμένες απαιτήσεις πολυπλοκότητας απαιτούν 3 από τα 5 πιθανά διαφορετικά είδη χαρακτήρων: κεφαλαία, πεζά, ψηφία, ειδικά και Unicode. Χρησιμοποιώντας αυτήν την καταχώρηση μητρώου, μπορείτε να ορίσετε τις απαιτήσεις πολυπλοκότητας του κωδικού πρόσβασής σας. Η τιμή που μπορεί να καθοριστεί είναι ένα σύνολο bit, καθένα από τα οποία είναι αντίστοιχη ισχύς δύο.
    Δηλαδή, 1 = πεζά, 2 = κεφαλαία, 4 = ψηφίο, 8 = ειδικός χαρακτήρας και 16 = χαρακτήρας Unicode.
    Έτσι, με τιμή 7, οι απαιτήσεις θα ήταν "Κανά κεφαλαία" ΚΑΙ πεζά ΚΑΙ ψηφίο», και με τιμή 31 - «Κεφάλαιο ΚΑΙ πεζά ΚΑΙ το σχήμα ΚΑΙ ειδικό σύμβολο ΚΑΙ Χαρακτήρας Unicode."
    Μπορείτε ακόμη και να συνδυάσετε - 19 = «Κεφάλαιο ΚΑΙ πεζά ΚΑΙ Χαρακτήρας Unicode."

  • Πώς να απαγορεύσετε τους τυπικούς κωδικούς πρόσβασης και να κάνετε όλους να σας μισούν

Ορισμένοι κανόνες κατά τη δημιουργία ενός αρχείου προτύπου:

  • Στα πρότυπα δεν γίνεται διάκριση πεζών-κεφαλαίων. Επομένως, η καταχώρηση αρχείου πόλεμος των άστρων и Πόλεμος των άστρων θα καθοριστεί ως η ίδια τιμή.
  • Το αρχείο μαύρης λίστας διαβάζεται ξανά κάθε 60 δευτερόλεπτα, ώστε να μπορείτε να το επεξεργαστείτε εύκολα· μετά από ένα λεπτό, τα νέα δεδομένα θα χρησιμοποιηθούν από το φίλτρο.
  • Προς το παρόν δεν υπάρχει υποστήριξη Unicode για αντιστοίχιση προτύπων. Δηλαδή, μπορείτε να χρησιμοποιήσετε χαρακτήρες Unicode στους κωδικούς πρόσβασης, αλλά το φίλτρο δεν θα λειτουργήσει. Αυτό δεν είναι κρίσιμο, γιατί δεν έχω δει χρήστες που χρησιμοποιούν κωδικούς πρόσβασης Unicode.
  • Συνιστάται να μην επιτρέπονται κενές γραμμές στο αρχείο προτύπου. Στη διαδικασία εντοπισμού σφαλμάτων, μπορείτε να δείτε ένα σφάλμα κατά τη φόρτωση δεδομένων από ένα αρχείο. Το φίλτρο λειτουργεί, αλλά γιατί οι επιπλέον εξαιρέσεις;

Για τον εντοπισμό σφαλμάτων, το αρχείο περιέχει αρχεία δέσμης που σας επιτρέπουν να δημιουργήσετε ένα αρχείο καταγραφής και στη συνέχεια να το αναλύσετε χρησιμοποιώντας, για παράδειγμα, Microsoft Message Analyzer.
Αυτό το φίλτρο κωδικού πρόσβασης χρησιμοποιεί την παρακολούθηση συμβάντων για Windows.

Ο πάροχος ETW για αυτό το φίλτρο κωδικού πρόσβασης είναι 07d83223-7594-4852-babc-784803fdf6c5. Έτσι, για παράδειγμα, μπορείτε να διαμορφώσετε την ανίχνευση συμβάντων μετά την ακόλουθη επανεκκίνηση:
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

Η ανίχνευση θα ξεκινήσει μετά την επόμενη επανεκκίνηση του συστήματος. Να σταματήσει:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Όλες αυτές οι εντολές καθορίζονται στα σενάρια StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

Για έναν εφάπαξ έλεγχο της λειτουργίας του φίλτρου, μπορείτε να χρησιμοποιήσετε StartTracing.cmd и StopTracing.cmd.
Για να διαβάσετε εύκολα την εξάτμιση εντοπισμού σφαλμάτων αυτού του φίλτρου Αναλυτής μηνυμάτων της Microsoft Συνιστάται να χρησιμοποιήσετε τις ακόλουθες ρυθμίσεις:

Πώς να απαγορεύσετε τους τυπικούς κωδικούς πρόσβασης και να κάνετε όλους να σας μισούν

Πώς να απαγορεύσετε τους τυπικούς κωδικούς πρόσβασης και να κάνετε όλους να σας μισούν

Όταν σταματάτε τη σύνδεση και την ανάλυση Αναλυτής μηνυμάτων της Microsoft όλα μοιάζουν κάπως έτσι:

Πώς να απαγορεύσετε τους τυπικούς κωδικούς πρόσβασης και να κάνετε όλους να σας μισούν

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

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

Πώς να απαγορεύσετε τους τυπικούς κωδικούς πρόσβασης και να κάνετε όλους να σας μισούν

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

Πώς να απαγορεύσετε τους τυπικούς κωδικούς πρόσβασης και να κάνετε όλους να σας μισούν

Επομένως, να είστε προετοιμασμένοι για κλήσεις και φωνές: "Έχω εισαγάγει σωστά τον κωδικό πρόσβασης, αλλά δεν λειτουργεί."

Περίληψη.

Αυτή η βιβλιοθήκη σάς επιτρέπει να απαγορεύσετε τη χρήση απλών ή τυπικών κωδικών πρόσβασης σε έναν τομέα Active Directory. Ας πούμε "Όχι!" κωδικούς πρόσβασης όπως: "P@ssw0rd", "Qwerty123", "ADm1n098".
Ναι, φυσικά, οι χρήστες θα σας αγαπήσουν ακόμα περισσότερο επειδή φροντίζετε τόσο για την ασφάλειά τους και την ανάγκη να βρείτε εντυπωσιακούς κωδικούς πρόσβασης. Και, ίσως, ο αριθμός των κλήσεων και των αιτημάτων για βοήθεια με τον κωδικό πρόσβασής σας θα αυξηθεί. Αλλά η ασφάλεια έχει ένα τίμημα.

Σύνδεσμοι σε πόρους που χρησιμοποιήθηκαν:
Άρθρο της Microsoft σχετικά με μια βιβλιοθήκη προσαρμοσμένων φίλτρων κωδικών πρόσβασης: Φίλτρα κωδικού πρόσβασης
PassFiltEx: PassFiltEx
Σύνδεσμος έκδοσης: Τελευταία έκδοση
Λίστες κωδικών πρόσβασης:
Ο DanielMiessler λίστες: Σύνδεσμος.
Λίστα λέξεων από το slowpass.com: Σύνδεσμος.
Λίστα λέξεων από το repo berzerk0: Σύνδεσμος.
Microsoft Message Analyzer: Microsoft Message Analyzer.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο