Hoe om verstekwagwoorde te verbied en almal jou te laat haat

Die mens, soos jy weet, is 'n lui skepsel.
En selfs meer as dit kom by die keuse van 'n sterk wagwoord.

Ek dink elke administrateur het al ooit die probleem gehad om ligte en standaard wagwoorde te gebruik. Hierdie verskynsel kom dikwels voor onder die hoër lae van maatskappybestuur. Ja, ja, juis onder diegene wat toegang het tot geheime of kommersiële inligting en dit sal uiters ongewens wees om die gevolge van wagwoordlekkasies/inbraak en verdere voorvalle uit te skakel.

In my praktyk was daar 'n geval toe rekenmeesters in 'n Active Directory-domein met 'n wagwoordbeleid geaktiveer onafhanklik tot die idee gekom het dat 'n wagwoord soos "Pas$w0rd1234" perfek by die beleidsvereistes pas. Die gevolg was die wydverspreide gebruik van hierdie wagwoord oral. Soms het hy net in sy stel getalle verskil.

Ek wou regtig nie net 'n wagwoordbeleid aktiveer en 'n karakterstel kan definieer nie, maar ook volgens woordeboek filter. Om die moontlikheid uit te sluit om sulke wagwoorde te gebruik.

Microsoft lig ons vriendelik via die skakel in dat enigiemand wat weet hoe om 'n samesteller, IDE korrek in hul hande te hou en weet hoe om C++ reg uit te spreek, in staat is om die biblioteek wat hulle benodig saam te stel en dit volgens hul eie begrip te gebruik. U nederige dienaar is nie daartoe in staat nie, so ek moes 'n klaargemaakte oplossing soek.

Na 'n lang uur se soektog is twee opsies om die probleem op te los aan die lig gebring. Ek praat natuurlik van die OpenSource-oplossing. Daar is immers betaalde opsies – van begin tot einde.

Opsie nommer 1. OpenPasswordFilter

Daar is nou vir ongeveer 2 jaar geen commits nie. Die inheemse installeerder werk elke nou en dan, jy moet dit handmatig regstel. Skep sy eie aparte diens. Wanneer 'n wagwoordlêer opgedateer word, tel die DLL nie outomaties die veranderde inhoud op nie; jy moet die diens stop, 'n time-out wag, die lêer wysig en die diens begin.

Geen ys nie!

Opsie nommer 2. PassFiltEx

Die projek is aktief, lewendig en dit is nie nodig om eers die koue lyf te skop nie.
Die installering van die filter behels die kopiëring van twee lêers en die skep van verskeie registerinskrywings. Die wagwoordlêer is nie in 'n slot nie, dit wil sê, dit is beskikbaar vir redigering en volgens die idee van die skrywer van die projek, word dit eenvoudig een keer per minuut gelees. Deur ook bykomende registerinskrywings te gebruik, kan u beide die filter self en selfs die nuanses van die wagwoordbeleid verder konfigureer.

So.
Gegee: Active Directory-domein test.local
Windows 8.1-toetswerkstasie (nie belangrik vir die doel van die probleem nie)
wagwoord filter PassFiltEx

  • Laai die nuutste weergawe van die skakel af PassFiltEx
  • Kopieer PassFiltEx.dll в C: WindowsSystem32 (Of %SystemRoot%System32).
    Kopieer PassFiltExBlacklist.txt в C: WindowsSystem32 (Of %SystemRoot%System32). Indien nodig, vul ons dit aan met ons eie sjablone
    Hoe om verstekwagwoorde te verbied en almal jou te laat haat
  • Redigeer die registertak: HKLMSYSTEM CurrentControlSetControlLsa => Kennisgewingspakkette
    en bygevoeg PassFiltEx tot aan die einde van die lys. (Die uitbreiding hoef nie gespesifiseer te word nie.) Die volledige lys van pakkette wat vir skandering gebruik word, sal soos volg lyk "rassfm scecli PassFiltEx«.
    Hoe om verstekwagwoorde te verbied en almal jou te laat haat
  • Herlaai die domeinbeheerder.
  • Ons herhaal die bogenoemde prosedure vir alle domeinbeheerders.

U kan ook die volgende registerinskrywings byvoeg, wat u meer buigsaamheid gee om hierdie filter te gebruik:

Hoofstuk: HKLMSOFTWAREPassFiltEx - word outomaties geskep.

  • HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ, verstek: PassFiltExBlacklist.txt

    SwartlysLêernaam - laat jou toe om 'n pasgemaakte pad na 'n lêer met wagwoordsjablone te spesifiseer. As hierdie registerinskrywing leeg is of nie bestaan ​​nie, word die verstekpad gebruik, wat is - %SystemRoot%System32. Jy kan selfs 'n netwerkpad spesifiseer, MAAR jy moet onthou dat die sjabloonlêer duidelike toestemmings moet hê vir lees, skryf, verwyder, verander.

  • HKLMSOFTWAREPassFiltExTokenPersentasieVanWagwoord, REG_DWORD, verstek: 60

    TokenPersentasieVanWagwoord - laat jou toe om die persentasie van die masker in die nuwe wagwoord te spesifiseer. Die verstekwaarde is 60%. Byvoorbeeld, as die persentasie voorkoms 60 is en die string starwars is in die sjabloonlêer, dan is die wagwoord Starwars 1! sal verwerp word terwyl die wagwoord starwars1!DarthVader88 sal aanvaar word omdat die persentasie van die string in die wagwoord minder as 60% is

  • HKLMSOFTWAREPassFiltExRequireChar Classes, REG_DWORD, verstek: 0

    RequireChar Classes - laat jou toe om die wagwoordvereistes uit te brei in vergelyking met die standaard ActiveDirectory-wagwoordkompleksiteitvereistes. Die ingeboude kompleksiteitsvereistes vereis 3 van die 5 moontlike verskillende soorte karakters: Hoofletters, Kleinletters, Digit, Special en Unicode. Deur hierdie registerinskrywing te gebruik, kan u u wagwoordkompleksiteitsvereistes stel. Die waarde wat gespesifiseer kan word, is 'n stel bisse, wat elk 'n ooreenstemmende krag van twee is.
    Dit wil sê, 1 = kleinletter, 2 = hoofletter, 4 = syfer, 8 = spesiale karakter en 16 = Unicode-karakter.
    So met 'n waarde van 7 sal die vereistes "hoofletters" wees EN kleinletters EN syfer", en met 'n waarde van 31 - "Hoofletters EN kleinletters EN figuur EN spesiale simbool EN Unicode-karakter."
    Jy kan selfs kombineer - 19 = “Hoofletters EN kleinletters EN Unicode-karakter."

  • Hoe om verstekwagwoorde te verbied en almal jou te laat haat

'n Aantal reëls wanneer 'n sjabloonlêer geskep word:

  • Sjablone is hoofletter-onsensitief. Daarom is die lêerinskrywing starwars и StarWarS sal bepaal word om dieselfde waarde te wees.
  • Die swartlyslêer word elke 60 sekondes herlees, sodat jy dit maklik kan wysig; na 'n minuut sal die nuwe data deur die filter gebruik word.
  • Daar is tans geen Unicode-ondersteuning vir patroonpassing nie. Dit wil sê, jy kan Unicode-karakters in wagwoorde gebruik, maar die filter sal nie werk nie. Dit is nie krities nie, want ek het nie gebruikers gesien wat Unicode-wagwoorde gebruik nie.
  • Dit is raadsaam om nie leë lyne in die sjabloonlêer toe te laat nie. In die ontfouting kan jy dan 'n fout sien wanneer data vanaf 'n lêer gelaai word. Die filter werk, maar hoekom die ekstra uitsonderings?

Vir ontfouting bevat die argief bondellêers wat jou toelaat om 'n logboek te skep en dit dan te ontleed deur bv. Microsoft Message Analyzer.
Hierdie wagwoordfilter gebruik Event Tracing vir Windows.

Die ETW-verskaffer vir hierdie wagwoordfilter is 07d83223-7594-4852-babc-784803fdf6c5. So, byvoorbeeld, kan u gebeurtenisopsporing instel na die volgende herlaai:
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

Opsporing sal begin na die volgende stelsel herlaai. Om te stop:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Al hierdie opdragte word in die skrifte gespesifiseer StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

Vir 'n eenmalige tjek van die filter werking, kan jy gebruik StartTracing.cmd и StopTracing.cmd.
Om die ontfoutingsuitlaat van hierdie filter gerieflik in te lees Microsoft Boodskap Analiseerder Dit word aanbeveel om die volgende instellings te gebruik:

Hoe om verstekwagwoorde te verbied en almal jou te laat haat

Hoe om verstekwagwoorde te verbied en almal jou te laat haat

Wanneer ophou om aan te meld en in te ontleed Microsoft Boodskap Analiseerder alles lyk so iets:

Hoe om verstekwagwoorde te verbied en almal jou te laat haat

Hier kan jy sien dat daar 'n poging was om 'n wagwoord vir die gebruiker te stel - die towerwoord vertel ons dit SET in ontfouting. En die wagwoord is verwerp weens die teenwoordigheid daarvan in die sjabloonlêer en meer as 30% ooreenstem in die ingevoerde teks.

As 'n suksesvolle wagwoordveranderingspoging aangewend word, sien ons die volgende:

Hoe om verstekwagwoorde te verbied en almal jou te laat haat

Daar is 'n mate van ongerief vir die eindgebruiker. Wanneer jy probeer om 'n wagwoord te verander wat in die lys van sjablone-lêer ingesluit is, verskil die boodskap op die skerm nie van die standaardboodskap wanneer die wagwoordbeleid nie geslaag word nie.

Hoe om verstekwagwoorde te verbied en almal jou te laat haat

Wees dus voorbereid op oproepe en uitroepe: "Ek het die wagwoord korrek ingevoer, maar dit werk nie."

Die resultaat.

Hierdie biblioteek laat jou toe om die gebruik van eenvoudige of standaard wagwoorde in 'n Active Directory-domein te verbied. Kom ons sê "Nee!" wagwoorde soos: "P@ssw0rd", "Qwerty123", "ADm1n098".
Ja, natuurlik, gebruikers sal jou selfs meer liefhê omdat jy so na hul sekuriteit sorg en die behoefte om met verstommende wagwoorde vorendag te kom. En miskien sal die aantal oproepe en versoeke om hulp met jou wagwoord toeneem. Maar sekuriteit kom teen 'n prys.

Skakels na hulpbronne wat gebruik word:
Microsoft-artikel oor 'n pasgemaakte wagwoordfilterbiblioteek: Wagwoord filters
PassFiltEx: PassFiltEx
Vrystelling skakel: Jongste weergawe
Wagwoordlyste:
DanielMiessler lys: Skakel.
Woordelys van weakpass.com: Skakel.
Woordelys van berzerk0 repo: Skakel.
Microsoft Message Analyzer: Microsoft Message Analyzer.

Bron: will.com

Voeg 'n opmerking