Jak zakázat standardní hesla a přimět vás, aby vás všichni nenáviděli

Člověk, jak víte, je tvor líný.
A ještě více, pokud jde o volbu silného hesla.

Myslím, že každý administrátor se někdy setkal s problémem používání lehkých a standardních hesel. Tento jev se často vyskytuje mezi vyššími vrstvami vedení společností. Ano, ano, přesně mezi těmi, kteří mají přístup k tajným nebo komerčním informacím a bylo by krajně nežádoucí eliminovat následky úniku hesel/hackingu a dalších incidentů.

V mé praxi se vyskytl případ, kdy v doméně Active Directory s povolenou politikou hesel účetní nezávisle přišli na myšlenku, že heslo jako „Pas$w0rd1234“ dokonale vyhovuje požadavkům politiky. Důsledkem bylo široké použití tohoto hesla všude. Někdy se lišil pouze svou sadou čísel.

Opravdu jsem chtěl mít možnost nejen povolit politiku hesel a definovat znakovou sadu, ale také filtrovat podle slovníku. Vyloučit možnost použití takových hesel.

Microsoft nás prostřednictvím odkazu laskavě informuje, že každý, kdo ví, jak správně držet v ruce kompilátor, IDE a ví, jak správně vyslovovat C++, si dokáže zkompilovat knihovnu, kterou potřebuje, a používat ji podle svého. Váš skromný služebník toho není schopen, takže jsem musel hledat hotové řešení.

Po dlouhé hodině hledání se ukázaly dvě možnosti řešení problému. Mluvím samozřejmě o řešení OpenSource. Koneckonců, existují placené možnosti - od začátku do konce.

Možnost číslo 1. OpenPasswordFilter

Už asi 2 roky nejsou žádné commity. Nativní instalátor funguje každou chvíli, musíte to opravit ručně. Vytváří vlastní samostatnou službu. Při aktualizaci souboru s hesly knihovna DLL automaticky nezvedne změněný obsah; musíte službu zastavit, počkat na časový limit, upravit soubor a spustit službu.

Žádný led!

Možnost číslo 2. PassFiltEx

Projekt je aktivní, živý a není potřeba ani kopat do studeného těla.
Instalace filtru zahrnuje zkopírování dvou souborů a vytvoření několika položek registru. Soubor s hesly není v zámku, to znamená, že je k dispozici pro úpravy a podle myšlenky autora projektu se jednoduše čte jednou za minutu. Pomocí dalších položek registru můžete dále konfigurovat jak samotný filtr, tak i nuance zásady hesla.

Tak.
Dané: doména Active Directory test.local
Testovací pracovní stanice Windows 8.1 (není důležité pro účely problému)
filtr hesel PassFiltEx

  • Stáhněte si nejnovější verzi z odkazu PassFiltEx
  • kopírovat PassFiltEx.dll в C: WindowsSystem32 (nebo %SystemRoot%System32).
    kopírovat PassFiltExBlacklist.txt в C: WindowsSystem32 (nebo %SystemRoot%System32). V případě potřeby jej doplňujeme vlastními šablonami
    Jak zakázat standardní hesla a přimět vás, aby vás všichni nenáviděli
  • Úprava větve registru: HKLMSYSTEMCurrentControlSetControlLsa => Oznamovací balíčky
    Přidat PassFiltEx na konec seznamu. (Příponu není třeba specifikovat.) Kompletní seznam balíků použitých ke kontrole bude vypadat takto „rassfm scecli PassFiltEx".
    Jak zakázat standardní hesla a přimět vás, aby vás všichni nenáviděli
  • Restartujte řadič domény.
  • Výše uvedený postup opakujeme pro všechny doménové řadiče.

Můžete také přidat následující položky registru, což vám poskytuje větší flexibilitu při používání tohoto filtru:

Sekce: HKLMSOFTWAREPassFiltEx — se vytvoří automaticky.

  • HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ, výchozí: PassFiltExBlacklist.txt

    BlacklistFileName — umožňuje zadat vlastní cestu k souboru se šablonami hesel. Pokud je tato položka registru prázdná nebo neexistuje, použije se výchozí cesta, což je - %SystemRoot%System32. Můžete dokonce zadat síťovou cestu, ALE musíte pamatovat na to, že soubor šablony musí mít jasná oprávnění pro čtení, zápis, mazání, změnu.

  • HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, výchozí: 60

    TokenPercentageOfPassword — umožňuje zadat procento masky v novém hesle. Výchozí hodnota je 60 %. Pokud je například procentuální výskyt 60 a řetězec starwars je v souboru šablony, pak heslo Starwars1! bude po zadání hesla odmítnuto starwars1!DarthVader88 bude přijato, protože procento řetězce v hesle je menší než 60 %

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, výchozí: 0

    VyžadovatCharClasses — umožňuje rozšířit požadavky na heslo ve srovnání se standardními požadavky na složitost hesla ActiveDirectory. Vestavěné požadavky na složitost vyžadují 3 z 5 možných různých druhů znaků: Velká písmena, Malá písmena, Číslice, Speciální a Unicode. Pomocí této položky registru můžete nastavit požadavky na složitost hesla. Hodnota, kterou lze zadat, je sada bitů, z nichž každý je odpovídající mocninou dvou.
    To znamená, že 1 = malá písmena, 2 = velká písmena, 4 = číslice, 8 = speciální znak a 16 = znak Unicode.
    Takže s hodnotou 7 by požadavky byly „velká písmena“ A AUTOMATIZACI malá písmena A AUTOMATIZACI číslice“ a s hodnotou 31 – „Velká písmena A AUTOMATIZACI malá písmena A AUTOMATIZACI postava A AUTOMATIZACI speciální symbol A AUTOMATIZACI znak Unicode."
    Můžete dokonce kombinovat - 19 = „Velká písmena A AUTOMATIZACI malá písmena A AUTOMATIZACI znak Unicode."

  • Jak zakázat standardní hesla a přimět vás, aby vás všichni nenáviděli

Řada pravidel při vytváření souboru šablony:

  • Šablony nerozlišují malá a velká písmena. Proto položka souboru hvězdné války и Hvězdné války bude určena jako stejná hodnota.
  • Soubor černé listiny se znovu načítá každých 60 sekund, takže jej můžete snadno upravit; po minutě budou nová data použita filtrem.
  • V současné době neexistuje žádná podpora Unicode pro porovnávání vzorů. To znamená, že v heslech můžete používat znaky Unicode, ale filtr nebude fungovat. To není kritické, protože jsem neviděl uživatele, kteří používají hesla Unicode.
  • Je vhodné nepovolit prázdné řádky v souboru šablony. V debugu pak můžete vidět chybu při načítání dat ze souboru. Filtr funguje, ale proč další výjimky?

Pro ladění obsahuje archiv dávkové soubory, které umožňují vytvořit protokol a následně jej analyzovat pomocí např. Microsoft Message Analyzer.
Tento filtr hesel používá sledování událostí pro Windows.

Poskytovatelem ETW pro tento filtr hesel je 07d83223-7594-4852-babc-784803fdf6c5. Můžete tedy například nakonfigurovat sledování událostí po následujícím restartu:
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

Trasování bude zahájeno po příštím restartu systému. Zastavit:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Všechny tyto příkazy jsou specifikovány ve skriptech StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

Pro jednorázovou kontrolu provozu filtru můžete použít StartTracing.cmd и StopTracing.cmd.
Aby bylo možné pohodlně přečíst ladicí výfuk tohoto filtru Analyzátor zpráv Microsoft Doporučuje se použít následující nastavení:

Jak zakázat standardní hesla a přimět vás, aby vás všichni nenáviděli

Jak zakázat standardní hesla a přimět vás, aby vás všichni nenáviděli

Při zastavení přihlašování a analýzy Analyzátor zpráv Microsoft vše vypadá nějak takto:

Jak zakázat standardní hesla a přimět vás, aby vás všichni nenáviděli

Zde vidíte, že došlo k pokusu o nastavení hesla pro uživatele – kouzelné slůvko nám to říká SET v ladění. A heslo bylo odmítnuto kvůli jeho přítomnosti v souboru šablony a více než 30% shodě v zadaném textu.

Pokud je proveden úspěšný pokus o změnu hesla, uvidíme následující:

Jak zakázat standardní hesla a přimět vás, aby vás všichni nenáviděli

Pro koncového uživatele to znamená určité nepříjemnosti. Když se pokusíte změnit heslo, které je zahrnuto v souboru se seznamem šablon, zpráva na obrazovce se neliší od standardní zprávy, když není předána zásada hesel.

Jak zakázat standardní hesla a přimět vás, aby vás všichni nenáviděli

Buďte proto připraveni na volání a výkřiky: "Zadal jsem heslo správně, ale nefunguje."

Shrnutí.

Tato knihovna umožňuje zakázat používání jednoduchých nebo standardních hesel v doméně Active Directory. Řekněme "Ne!" hesla jako: „P@ssw0rd“, „Qwerty123“, „ADm1n098“.
Ano, samozřejmě, uživatelé vás budou milovat ještě víc za to, že se tak staráte o jejich bezpečnost a že je potřeba vymýšlet ohromující hesla. A možná se zvýší počet hovorů a žádostí o pomoc s vaším heslem. Ale bezpečnost má svou cenu.

Odkazy na použité zdroje:
Článek společnosti Microsoft týkající se vlastní knihovny filtrů hesel: Filtry hesel
PassFiltEx: PassFiltEx
Odkaz na vydání: Poslední vydání
Seznam hesel:
Seznam DanielMiessler: Odkaz.
Seznam slov ze slabého pasu.com: Odkaz.
Seznam slov z repozitáře berzerk0: Odkaz.
Microsoft Message Analyzer: Microsoft Message Analyzer.

Zdroj: www.habr.com

Přidat komentář