Jak zablokować standardowe hasła i sprawić, że wszyscy Cię znienawidzą

Jak wiadomo, człowiek jest leniwą istotą.
A tym bardziej, jeśli chodzi o wybór silnego hasła.

Myślę, że każdy administrator kiedykolwiek spotkał się z problemem używania lekkich i standardowych haseł. Zjawisko to często występuje na wyższych szczeblach kierownictwa firmy. Tak, tak, właśnie wśród tych, którzy mają dostęp do informacji tajnych lub handlowych i eliminowanie skutków wycieku/hackowania haseł i dalszych incydentów byłoby wysoce niepożądane.

W mojej praktyce zdarzył się przypadek, gdy w domenie Active Directory z włączoną polityką haseł księgowi niezależnie doszli do wniosku, że hasło takie jak „Pas$w0rd1234” idealnie pasuje do wymagań polityki. Konsekwencją było powszechne stosowanie tego hasła na całym świecie. Czasami różnił się jedynie zestawem liczb.

Naprawdę chciałem móc nie tylko włączyć politykę haseł i zdefiniować zestaw znaków, ale także filtrować według słownika. Wykluczyć możliwość korzystania z takich haseł.

Microsoft uprzejmie informuje nas za pośrednictwem linku, że każdy, kto wie, jak trzymać w rękach kompilator, IDE poprawnie i wie, jak poprawnie wymówić C++, jest w stanie skompilować potrzebną mu bibliotekę i używać jej według własnego zrozumienia. Twój pokorny sługa nie jest do tego zdolny, więc musiałem poszukać gotowego rozwiązania.

Po długich godzinach poszukiwań odkryto dwie możliwości rozwiązania problemu. Mówię oczywiście o rozwiązaniu OpenSource. W końcu istnieją opcje płatne - od początku do końca.

Opcja nr 1. Filtr OpenPassword

Od około 2 lat nie było żadnych zatwierdzeń, instalator natywny co jakiś czas działa, trzeba to poprawić ręcznie. Tworzy własną oddzielną usługę. Podczas aktualizacji pliku haseł biblioteka DLL nie pobiera automatycznie zmienionej zawartości; należy zatrzymać usługę, odczekać limit czasu, edytować plik i uruchomić usługę.

Żadnego lodu!

Opcja nr 2. PassFiltEx

Projekt jest aktywny, żywy i nie trzeba nawet kopać zimnego ciała.
Instalacja filtra polega na skopiowaniu dwóch plików i utworzeniu kilku wpisów rejestru. Plik haseł nie znajduje się w zamku, czyli jest dostępny do edycji i zgodnie z zamysłem autora projektu jest po prostu odczytywany raz na minutę. Ponadto, korzystając z dodatkowych wpisów rejestru, możesz dodatkowo skonfigurować zarówno sam filtr, jak i nawet niuanse polityki haseł.

Tak więc.
Dane: test.local domeny Active Directory
Testowa stacja robocza z systemem Windows 8.1 (nieistotna dla istoty problemu)
filtr haseł PassFiltEx

  • Pobierz najnowszą wersję z linku PassFiltEx
  • Kopiuj PassFiltEx.dll в C: WindowsSystem32 (or % SystemRoot% System32).
    Kopiuj PassFiltExBlacklist.txt в C: WindowsSystem32 (or % SystemRoot% System32). W razie potrzeby uzupełniamy go o własne szablony
    Jak zablokować standardowe hasła i sprawić, że wszyscy Cię znienawidzą
  • Edycja gałęzi rejestru: HKLMSYSTEMCurrentControlSetControlLsa => Pakiety powiadomień
    Dodać PassFiltEx do końca listy. (Nie trzeba podawać rozszerzenia.) Pełna lista pakietów używanych do skanowania będzie wyglądać następująco: „rassfm scecli PassFiltEx".
    Jak zablokować standardowe hasła i sprawić, że wszyscy Cię znienawidzą
  • Uruchom ponownie kontroler domeny.
  • Powyższą procedurę powtarzamy dla wszystkich kontrolerów domeny.

Możesz także dodać następujące wpisy rejestru, co zapewni większą elastyczność w korzystaniu z tego filtru:

Sekcja: HKLMSOFTWAREPassFiltEx — jest tworzony automatycznie.

  • HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ, domyślnie: PassFiltExBlacklist.txt

    Nazwa pliku czarnej listy — umożliwia określenie niestandardowej ścieżki do pliku z szablonami haseł. Jeśli ten wpis rejestru jest pusty lub nie istnieje, używana jest ścieżka domyślna, czyli - % SystemRoot% System32. Możesz nawet określić ścieżkę sieciową, ALE musisz pamiętać, że plik szablonu musi mieć jasne uprawnienia do odczytu, zapisu, usuwania, zmiany.

  • HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, wartość domyślna: 60

    TokenPercentageOfHasło — umożliwia określenie procentu maski w nowym haśle. Wartość domyślna to 60%. Na przykład, jeśli procent występowania wynosi 60, a w pliku szablonu znajduje się ciąg starwars, to hasło Gwiezdne Wojny1! zostanie odrzucone podczas podawania hasła starwars1!DarthVader88 zostaną zaakceptowane, ponieważ procent ciągu w haśle jest mniejszy niż 60%

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, wartość domyślna: 0

    Wymagaj klas CharClasses — umożliwia rozszerzenie wymagań dotyczących haseł w porównaniu ze standardowymi wymaganiami dotyczącymi złożoności haseł ActiveDirectory. Wbudowane wymagania dotyczące złożoności wymagają 3 z 5 możliwych różnych rodzajów znaków: wielkie litery, małe litery, cyfry, specjalne i Unicode. Korzystając z tego wpisu rejestru, możesz ustawić wymagania dotyczące złożoności hasła. Wartość, którą można określić, to zbiór bitów, z których każdy jest odpowiednią potęgą dwójki.
    Oznacza to, że 1 = mała litera, 2 = wielka litera, 4 = cyfra, 8 = znak specjalny i 16 = znak Unicode.
    Zatem przy wartości 7 wymaganiami będą „Wielkie litery” ROLNICZE małe litery ROLNICZE cyfra”, a o wartości 31 - „Duże litery ROLNICZE małe litery ROLNICZE figura ROLNICZE specjalny symbol ROLNICZE Znak Unicode.”
    Możesz nawet łączyć - 19 = „Duże litery ROLNICZE małe litery ROLNICZE Znak Unicode.”

  • Jak zablokować standardowe hasła i sprawić, że wszyscy Cię znienawidzą

Szereg zasad podczas tworzenia pliku szablonu:

  • W szablonach wielkość liter jest niewrażliwa. Dlatego wpis pliku star wars и Gwiezdne Wojny zostanie uznana za tę samą wartość.
  • Plik czarnej listy jest ponownie odczytywany co 60 sekund, dzięki czemu można go łatwo edytować; po minucie nowe dane zostaną wykorzystane przez filtr.
  • Obecnie nie ma obsługi Unicode w zakresie dopasowywania wzorców. Oznacza to, że możesz używać znaków Unicode w hasłach, ale filtr nie będzie działał. Nie jest to krytyczne, ponieważ nie widziałem użytkowników używających haseł Unicode.
  • Wskazane jest, aby nie zezwalać na puste wiersze w pliku szablonu. Podczas debugowania możesz zobaczyć błąd podczas ładowania danych z pliku. Filtr działa, ale po co dodatkowe wyjątki?

Na potrzeby debugowania archiwum zawiera pliki wsadowe, które umożliwiają utworzenie dziennika, a następnie jego analizę za pomocą na przykład Analizator wiadomości Microsoft.
Ten filtr haseł korzysta ze śledzenia zdarzeń dla systemu Windows.

Dostawcą ETW dla tego filtru haseł jest 07d83223-7594-4852-babc-784803fdf6c5. Można na przykład skonfigurować śledzenie zdarzeń po następującym ponownym uruchomieniu komputera:
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

Śledzenie rozpocznie się po następnym ponownym uruchomieniu systemu. Zatrzymać:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Wszystkie te polecenia są określone w skryptach StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

Do jednorazowego sprawdzenia działania filtra można skorzystać StartTracing.cmd и StopTracing.cmd.
Aby wygodnie odczytać wynik debugowania tego filtra w Microsoft Message Analyzer Zalecane jest użycie następujących ustawień:

Jak zablokować standardowe hasła i sprawić, że wszyscy Cię znienawidzą

Jak zablokować standardowe hasła i sprawić, że wszyscy Cię znienawidzą

Po zatrzymaniu logowania i analizowania Microsoft Message Analyzer wszystko wygląda mniej więcej tak:

Jak zablokować standardowe hasła i sprawić, że wszyscy Cię znienawidzą

Tutaj widać, że nastąpiła próba ustawienia hasła dla użytkownika - mówi nam o tym magiczne słowo SET w debugowaniu. A hasło zostało odrzucone ze względu na jego obecność w pliku szablonu i ponad 30% zgodności we wprowadzonym tekście.

Jeśli zostanie podjęta pomyślna próba zmiany hasła, zobaczymy następujący komunikat:

Jak zablokować standardowe hasła i sprawić, że wszyscy Cię znienawidzą

Istnieje pewna niedogodność dla użytkownika końcowego. Podczas próby zmiany hasła znajdującego się na liście plików szablonów komunikat na ekranie nie różni się od standardowego komunikatu, gdy polityka haseł nie została przekazana.

Jak zablokować standardowe hasła i sprawić, że wszyscy Cię znienawidzą

Dlatego bądź przygotowany na telefony i krzyki: „Wpisałem hasło poprawnie, ale nie działa”.

Podsumowanie.

Ta biblioteka pozwala zabronić używania prostych lub standardowych haseł w domenie Active Directory. Powiedzmy „Nie!” hasła typu: „P@ssw0rd”, „Qwerty123”, „ADm1n098”.
Tak, oczywiście, użytkownicy pokochają Cię jeszcze bardziej za to, że tak dbasz o swoje bezpieczeństwo i potrzebę wymyślania oszałamiających haseł. Być może wzrośnie liczba połączeń i próśb o pomoc związaną z hasłem. Ale bezpieczeństwo ma swoją cenę.

Linki do wykorzystanych zasobów:
Artykuł firmy Microsoft dotyczący niestandardowej biblioteki filtrów haseł: Filtry haseł
PassFiltEx: PassFiltEx
Link do wydania: Najnowsze wydanie
Listy haseł:
DanielMiessler wymienia: Link.
Lista słów ze strony słabepass.com: Link.
Lista słów z repozytorium berzerk0: Link.
Analizator wiadomości Microsoft: Analizator wiadomości Microsoft.

Źródło: www.habr.com

Dodaj komentarz