Wie Sie Standard-Passwörter verbieten und alle dazu bringen, Sie zu hassen

Der Mensch ist, wie Sie wissen, ein faules Wesen.
Und das gilt umso mehr, wenn es um die Wahl eines sicheren Passworts geht.

Ich denke, dass jeder Administrator schon einmal mit dem Problem konfrontiert war, einfache und standardmäßige Passwörter zu verwenden. Dieses Phänomen tritt häufig in den oberen Führungsebenen von Unternehmen auf. Ja, ja, gerade bei denen, die Zugang zu geheimen oder kommerziellen Informationen haben, und es wäre äußerst unerwünscht, die Folgen von Passwortlecks/-hacking und weiteren Vorfällen zu beseitigen.

In meiner Praxis gab es einen Fall, in dem Buchhalter in einer Active Directory-Domäne mit aktivierter Passwortrichtlinie unabhängig voneinander auf die Idee kamen, dass ein Passwort wie „Pas$w0rd1234“ perfekt zu den Richtlinienanforderungen passt. Die Folge war die überall verbreitete Verwendung dieses Passwortes. Manchmal unterschied er sich nur in seinem Zahlensatz.

Ich wollte unbedingt nicht nur eine Passwortrichtlinie aktivieren und einen Zeichensatz definieren, sondern auch nach Wörterbuch filtern können. Um die Möglichkeit der Verwendung solcher Passwörter auszuschließen.

Microsoft teilt uns freundlicherweise über den Link mit, dass jeder, der es versteht, einen Compiler, eine IDE richtig in den Händen zu halten und weiß, wie man C++ richtig ausspricht, in der Lage ist, die benötigte Bibliothek zu kompilieren und nach seinem eigenen Verständnis zu verwenden. Ihr bescheidener Diener ist dazu nicht in der Lage, also musste ich nach einer fertigen Lösung suchen.

Nach einer langen Stunde der Suche ergaben sich zwei Möglichkeiten zur Lösung des Problems. Ich spreche natürlich von der OpenSource-Lösung. Schließlich gibt es kostenpflichtige Optionen – von Anfang bis Ende.

Optionsnummer 1. OpenPasswordFilter

Seit ca. 2 Jahren gibt es keine Commits mehr. Der native Installer funktioniert hin und wieder, das muss man manuell korrigieren. Erstellt einen eigenen separaten Dienst. Beim Aktualisieren einer Passwortdatei übernimmt die DLL den geänderten Inhalt nicht automatisch; Sie müssen den Dienst stoppen, eine Zeitüberschreitung abwarten, die Datei bearbeiten und den Dienst starten.

Kein Eis!

Optionsnummer 2. PassFiltEx

Das Projekt ist aktiv, lebendig und es ist nicht einmal nötig, den kalten Körper zu treten.
Zur Installation des Filters müssen zwei Dateien kopiert und mehrere Registrierungseinträge erstellt werden. Die Passwortdatei ist nicht gesperrt, d.h. sie steht zur Bearbeitung zur Verfügung und wird nach der Idee des Autors des Projekts einfach einmal pro Minute gelesen. Mithilfe zusätzlicher Registrierungseinträge können Sie außerdem sowohl den Filter selbst als auch die Nuancen der Passwortrichtlinie weiter konfigurieren.

So.
Gegeben: Active Directory-Domäne test.local
Windows 8.1-Testarbeitsplatz (nicht wichtig für den Zweck des Problems)
Passwortfilter PassFiltEx

  • Laden Sie die neueste Version über den Link herunter PassFiltEx
  • Kopieren PassFiltEx.dll в C: WindowsSystem32 (oder % SystemRoot% System32).
    Kopieren PassFiltExBlacklist.txt в C: WindowsSystem32 (oder % SystemRoot% System32). Bei Bedarf ergänzen wir es durch eigene Vorlagen
    Wie Sie Standard-Passwörter verbieten und alle dazu bringen, Sie zu hassen
  • Bearbeiten des Registrierungszweigs: HKLMSYSTEMCurrentControlSetControlLsa => Benachrichtigungspakete
    Hinzufügen PassFiltEx bis zum Ende der Liste. (Die Erweiterung muss nicht angegeben werden.) Die vollständige Liste der zum Scannen verwendeten Pakete sieht folgendermaßen aus:rassfm scecli PassFiltEx«.
    Wie Sie Standard-Passwörter verbieten und alle dazu bringen, Sie zu hassen
  • Starten Sie den Domänencontroller neu.
  • Wir wiederholen den obigen Vorgang für alle Domänencontroller.

Sie können auch die folgenden Registrierungseinträge hinzufügen, was Ihnen mehr Flexibilität bei der Verwendung dieses Filters gibt:

Abschnitt: HKLMSOFTWAREPassFiltEx – wird automatisch erstellt.

  • HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ, Standard: PassFiltExBlacklist.txt

    BlacklistFileName – ermöglicht Ihnen die Angabe eines benutzerdefinierten Pfads zu einer Datei mit Passwortvorlagen. Wenn dieser Registrierungseintrag leer ist oder nicht existiert, wird der Standardpfad verwendet, der lautet: % SystemRoot% System32. Sie können sogar einen Netzwerkpfad angeben, müssen jedoch bedenken, dass die Vorlagendatei eindeutige Berechtigungen zum Lesen, Schreiben, Löschen und Ändern haben muss.

  • HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, Standard: 60

    TokenPercentageOfPassword – Ermöglicht Ihnen, den Prozentsatz der Maske im neuen Passwort anzugeben. Der Standardwert beträgt 60 %. Wenn die prozentuale Häufigkeit beispielsweise 60 beträgt und die Zeichenfolge starwars in der Vorlagendatei enthalten ist, dann das Kennwort Starwars1! wird während des Passwortes abgelehnt starwars1!DarthVader88 wird akzeptiert, da der Prozentsatz der Zeichenfolge im Passwort weniger als 60 % beträgt

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, Standard: 0

    RequireCharClasses – Ermöglicht Ihnen, die Kennwortanforderungen im Vergleich zu den Standardanforderungen an die Kennwortkomplexität von ActiveDirectory zu erweitern. Die integrierten Komplexitätsanforderungen erfordern drei der fünf möglichen verschiedenen Arten von Zeichen: Großbuchstaben, Kleinbuchstaben, Ziffern, Sonderzeichen und Unicode. Mithilfe dieses Registrierungseintrags können Sie Ihre Anforderungen an die Passwortkomplexität festlegen. Der Wert, der angegeben werden kann, ist ein Satz von Bits, von denen jedes eine entsprechende Zweierpotenz darstellt.
    Das heißt, 1 = Kleinbuchstabe, 2 = Großbuchstabe, 4 = Ziffer, 8 = Sonderzeichen und 16 = Unicode-Zeichen.
    Bei einem Wert von 7 wären die Anforderungen also „Großbuchstaben“. UND Kleinbuchstaben UND Ziffer“ und mit einem Wert von 31 – „Großbuchstabe“. UND Kleinbuchstaben UND Abbildung UND besonderes Symbol UND Unicode-Zeichen.“
    Sie können sogar - 19 = „Großbuchstaben“ kombinieren UND Kleinbuchstaben UND Unicode-Zeichen.“

  • Wie Sie Standard-Passwörter verbieten und alle dazu bringen, Sie zu hassen

Eine Reihe von Regeln beim Erstellen einer Vorlagendatei:

  • Bei Vorlagen wird die Groß-/Kleinschreibung nicht beachtet. Daher der Dateieintrag Krieg der Sterne и Krieg der Sterne wird als gleicher Wert ermittelt.
  • Die Blacklist-Datei wird alle 60 Sekunden erneut gelesen, sodass Sie sie problemlos bearbeiten können. Nach einer Minute werden die neuen Daten vom Filter verwendet.
  • Derzeit gibt es keine Unicode-Unterstützung für den Mustervergleich. Das heißt, Sie können Unicode-Zeichen in Passwörtern verwenden, der Filter funktioniert jedoch nicht. Dies ist nicht kritisch, da ich keine Benutzer gesehen habe, die Unicode-Passwörter verwenden.
  • Es empfiehlt sich, in der Vorlagendatei keine Leerzeilen zuzulassen. Im Debug sieht man dann einen Fehler beim Laden von Daten aus einer Datei. Der Filter funktioniert, aber warum die zusätzlichen Ausnahmen?

Zum Debuggen enthält das Archiv Batch-Dateien, mit denen Sie ein Protokoll erstellen und es dann analysieren können, beispielsweise mit Microsoft Message Analyzer.
Dieser Passwortfilter verwendet Event Tracing für Windows.

Der ETW-Anbieter für diesen Passwortfilter ist 07d83223-7594-4852-babc-784803fdf6c5. So können Sie beispielsweise die Ereignisverfolgung nach dem folgenden Neustart konfigurieren:
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

Die Ablaufverfolgung beginnt nach dem nächsten Systemneustart. Stoppen:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Alle diese Befehle sind in den Skripten angegeben StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

Für eine einmalige Überprüfung der Filterfunktion können Sie verwenden StartTracing.cmd и StopTracing.cmd.
Um den Debug-Auszug dieses Filters bequem einlesen zu können Microsoft Nachrichtenanalysator Es wird empfohlen, die folgenden Einstellungen zu verwenden:

Wie Sie Standard-Passwörter verbieten und alle dazu bringen, Sie zu hassen

Wie Sie Standard-Passwörter verbieten und alle dazu bringen, Sie zu hassen

Beim Stoppen der Anmeldung und Analyse Microsoft Nachrichtenanalysator alles sieht ungefähr so ​​aus:

Wie Sie Standard-Passwörter verbieten und alle dazu bringen, Sie zu hassen

Hier sehen Sie, dass versucht wurde, ein Passwort für den Benutzer festzulegen – das verrät uns das Zauberwort SET im Debug. Und das Passwort wurde abgelehnt, weil es in der Vorlagendatei vorhanden war und der eingegebene Text zu mehr als 30 % übereinstimmte.

Bei einem erfolgreichen Passwortänderungsversuch sehen wir Folgendes:

Wie Sie Standard-Passwörter verbieten und alle dazu bringen, Sie zu hassen

Für den Endbenutzer entstehen einige Unannehmlichkeiten. Wenn Sie versuchen, ein Kennwort zu ändern, das in der Liste der Vorlagendateien enthalten ist, unterscheidet sich die Meldung auf dem Bildschirm nicht von der Standardmeldung, wenn die Kennwortrichtlinie nicht übergeben wird.

Wie Sie Standard-Passwörter verbieten und alle dazu bringen, Sie zu hassen

Seien Sie daher auf Anrufe und Rufe vorbereitet: „Ich habe das Passwort richtig eingegeben, aber es funktioniert nicht.“

Zusammenfassung.

Mit dieser Bibliothek können Sie die Verwendung einfacher oder Standardkennwörter in einer Active Directory-Domäne verbieten. Sagen wir „Nein!“ Passwörter wie: „P@ssw0rd“, „Qwerty123“, „ADm1n098“.
Ja, natürlich werden die Benutzer Sie noch mehr dafür zu schätzen wissen, dass Sie sich so um ihre Sicherheit kümmern und sich nicht umwerfende Passwörter einfallen lassen müssen. Und vielleicht wird die Zahl der Anrufe und Hilfeanfragen zu Ihrem Passwort zunehmen. Aber Sicherheit hat ihren Preis.

Links zu verwendeten Ressourcen:
Microsoft-Artikel zu einer benutzerdefinierten Passwortfilterbibliothek: Passwortfilter
PassFiltEx: PassFiltEx
Link zur Veröffentlichung: Letzte Veröffentlichung
Passwortlisten:
DanielMiessler listet auf: Link.
Wortliste von schwachpass.com: Link.
Wortliste aus dem berzerk0-Repo: Link.
Microsoft Message Analyzer: Microsoft Message Analyzer.

Source: habr.com

Kommentar hinzufügen