Hoe kinne jo standert wachtwurden ferbiede en elkenien jo haatsje

De minske, lykas jo witte, is in loai skepsel.
En noch mear as it giet om it kiezen fan in sterk wachtwurd.

Ik tink dat elke behearder ea it probleem hat mei it brûken fan ljochte en standert wachtwurden. Dit ferskynsel komt faak foar ûnder de boppeste lagen fan bedriuwsbehear. Ja, ja, krekt ûnder dyjingen dy't tagong hawwe ta geheime of kommersjele ynformaasje en it soe ekstreem net winsklik wêze om de gefolgen fan wachtwurdlekken/hacking en fierdere ynsidinten te eliminearjen.

Yn myn praktyk wie d'r in gefal doe't, yn in Active Directory-domein mei in wachtwurdbelied ynskeakele, accountants selsstannich op it idee kamen dat in wachtwurd lykas "Pas$w0rd1234" perfekt past by de beliedseasken. It gefolch wie it wiidferspraat gebrûk fan dit wachtwurd oeral. Soms ferskilde er allinnich yn syn set nûmers.

Ik woe wirklik net allinich in wachtwurdbelied ynskeakelje kinne en in tekenset definiearje, mar ek filterje op wurdboek. Om de mooglikheid fan it brûken fan sokke wachtwurden út te sluten.

Microsoft ynformearret ús freonlik fia de keppeling dat elkenien dy't wit hoe't in kompilator, IDE korrekt yn 'e hannen te hâlden en wit hoe't jo C++ korrekt útsprekke, de bibleteek dy't se nedich binne kinne kompilearje en brûke neffens har eigen ferstân. Dyn nederige feint is dêr net ta yn steat, dat ik moast sykje nei in klearebare oplossing.

Nei in lange oere fan sykjen waarden twa opsjes ûntdutsen foar it oplossen fan it probleem. Ik praat fansels oer de OpenSource-oplossing. Ommers, der binne betelle opsjes - fan begjin oant ein.

Opsje 1. OpenPasswordFilter

D'r binne no sawat 2 jier gjin commits west. De native installer wurket sa no en dan, jo moatte it manuell korrigearje. Makket in eigen aparte tsjinst. By it bywurkjen fan in wachtwurdbestân nimt de DLL de feroare ynhâld net automatysk op, jo moatte de tsjinst stopje, in time-out wachtsje, it bestân bewurkje en de tsjinst begjinne.

Gjin iis!

Opsje 2. PassFiltEx

It projekt is aktyf, libbet en it is net nedich om sels it kâlde lichem te skoppen.
It ynstallearjen fan it filter omfettet it kopiearjen fan twa bestannen en it meitsjen fan ferskate registeryngongen. It wachtwurdbestân is net yn in slot, dat wol sizze, it is beskikber foar bewurkjen en, neffens it idee fan de skriuwer fan it projekt, wurdt it gewoan ien kear yn 'e minút lêzen. Ek mei help fan ekstra register-yngongen kinne jo sawol it filter sels as sels de nuânses fan it wachtwurdbelied fierder konfigurearje.

Nee, dan.
Given: Active Directory domein test.local
Windows 8.1 testwurkstasjon (net wichtich foar it doel fan it probleem)
wachtwurd filter PassFiltEx

  • Download de lêste release fan 'e keppeling PassFiltEx
  • Kopy PassFiltEx.dll в C: WindowsSystem32 (of %SystemRoot%System32).
    Kopy PassFiltExBlacklist.txt в C: WindowsSystem32 (of %SystemRoot%System32). As it nedich is, oanfolje wy it mei ús eigen sjabloanen
    Hoe kinne jo standert wachtwurden ferbiede en elkenien jo haatsje
  • Bewurkje de registertak: HKLMSYSTEM CurrentControlSetControlLsa => Notifikaasjepakketten
    Add PassFiltEx oan 'e ein fan' e list. (De tafoeging hoecht net oantsjutte te wurden.) De folsleine list mei pakketten brûkt foar it scannen sil der sa útsjen "rassfm scecli PassFiltEx".
    Hoe kinne jo standert wachtwurden ferbiede en elkenien jo haatsje
  • Reboot de domeincontroller.
  • Wy werhelje de boppesteande proseduere foar alle domeincontrollers.

Jo kinne ek de folgjende registeryngongen tafoegje, wat jo mear fleksibiliteit jout by it brûken fan dit filter:

Haadstik: HKLMSOFTWAREPassFiltEx - wurdt automatysk oanmakke.

  • HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ, Standert: PassFiltExBlacklist.txt

    BlacklistFileName - lit jo in oanpast paad opjaan nei in bestân mei wachtwurdsjabloanen. As dizze registeryngong leech is of net bestiet, dan wurdt it standertpaad brûkt, dat is - %SystemRoot%System32. Jo kinne sels in netwurkpaad opjaan, MAAR jo moatte betinke dat it sjabloanbestân dúdlike tagongsrjochten moat hawwe foar lêzen, skriuwen, wiskjen, feroarjen.

  • HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, Standert: 60

    TokenPercentageOfPassword - kinne jo it persintaazje fan it masker opjaan yn it nije wachtwurd. De standertwearde is 60%. Bygelyks, as it persintaazje foarkommen 60 is en de tekenrige starwars is yn it sjabloanbestân, dan is it wachtwurd Starwars 1! sil wurde ôfwiisd wylst it wachtwurd starwars1!DarthVader88 sil wurde akseptearre omdat it persintaazje fan de tekenrige yn it wachtwurd minder is dan 60%

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, Standert: 0

    RequireCharClasses - kinne jo de wachtwurdeasken útwreidzje yn ferliking mei de standert ActiveDirectory wachtwurdkompleksiteitseasken. De ynboude kompleksiteitseasken fereaskje 3 fan 'e 5 mooglike ferskillende soarten karakters: haadletters, lytse letters, sifers, spesjale en Unicode. Mei dizze registeryngong kinne jo jo easken foar kompleksiteit fan jo wachtwurd ynstelle. De wearde dy't kin wurde oantsjutte is in set fan bits, elk fan dat is in oerienkommende macht fan twa.
    Dat is - 1 = lytse letters, 2 = haadletters, 4 = sifers, 8 = spesjaal karakter, en 16 = Unicode-karakter.
    Dus mei in wearde fan 7 soene de easken "Upper Case" wêze EN lytse letters EN digit", en mei in wearde fan 31 - "Headletter EN lytse letters EN digit EN spesjale symboal EN Unicode karakter."
    Jo kinne sels kombinearje - 19 = "Headletters EN lytse letters EN Unicode karakter."

  • Hoe kinne jo standert wachtwurden ferbiede en elkenien jo haatsje

In oantal regels by it meitsjen fan in sjabloanbestân:

  • Sjabloanen binne net-gefoelige. Dêrom, de triem ynfier Starwars и StarWarS sil wurde bepaald op deselde wearde.
  • De swarte list wurdt elke 60 sekonden opnij lêzen, sadat jo it maklik nei in minút kinne bewurkje, de nije gegevens wurde brûkt troch it filter.
  • D'r is op it stuit gjin Unicode-stipe foar patroanmatching. Dat is, jo kinne Unicode-tekens brûke yn wachtwurden, mar it filter sil net wurkje. Dit is net kritysk, om't ik gjin brûkers haw sjoen dy't Unicode-wachtwurden brûke.
  • It is oan te rieden om gjin lege rigels te tastean yn it sjabloanbestân. Yn 'e debug kinne jo dan in flater sjen by it laden fan gegevens fan in bestân. It filter wurket, mar wêrom de ekstra útsûnderingen?

Foar debuggen befettet it argyf batchbestannen wêrmei jo in log kinne oanmeitsje en it dan analysearje mei, bygelyks, Microsoft Message Analyzer.
Dit wachtwurdfilter brûkt Event Tracing foar Windows.

De ETW-oanbieder foar dit wachtwurdfilter is 07d83223-7594-4852-babc-784803fdf6c5. Sa kinne jo bygelyks barren tracing konfigurearje nei de folgjende herstart:
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

Tracing sil begjinne nei de folgjende systeem opnij starte. Stopje:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Al dizze kommando's wurde spesifisearre yn 'e skripts StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

Foar in ien kear kontrôle fan de filter operaasje, kinne jo brûke StartTracing.cmd и StopTracing.cmd.
Om maklik de debug-útlaat fan dit filter yn te lêzen Microsoft Message Analyzer It is oan te rieden om de folgjende ynstellings te brûken:

Hoe kinne jo standert wachtwurden ferbiede en elkenien jo haatsje

Hoe kinne jo standert wachtwurden ferbiede en elkenien jo haatsje

By it stopjen fan ynloggen en parsearjen Microsoft Message Analyzer alles sjocht der sa út:

Hoe kinne jo standert wachtwurden ferbiede en elkenien jo haatsje

Hjir kinne jo sjen dat der in besykjen wie om in wachtwurd yn te stellen foar de brûker - it toverwurd fertelt ús dit SET yn debug. En it wachtwurd waard ôfwiisd fanwegen syn oanwêzigens yn it sjabloanbestân en mear dan 30% oerienkomt yn 'e ynfierde tekst.

As in suksesfolle besykjen fan wachtwurdferoaring wurdt makke, sjogge wy it folgjende:

Hoe kinne jo standert wachtwurden ferbiede en elkenien jo haatsje

D'r is wat oerlêst foar de einbrûker. As jo ​​besykje in wachtwurd te feroarjen dat is opnommen yn 'e list mei sjabloanen bestân, is it berjocht op it skerm net oars as it standertberjocht as it wachtwurdbelied net trochjûn is.

Hoe kinne jo standert wachtwurden ferbiede en elkenien jo haatsje

Wês dêrom taret op oproppen en roppen: "Ik haw it wachtwurd goed ynfierd, mar it wurket net."

It resultaat.

Dizze bibleteek lit jo it gebrûk fan ienfâldige of standert wachtwurden yn in Active Directory-domein ferbiede. Litte wy sizze "Nee!" wachtwurden lykas: "P@ssw0rd", "Qwerty123", "ADm1n098".
Ja, fansels, brûkers sille noch mear fan jo hâlde foar it soargjen foar har feiligens en de needsaak om mei ferrassende wachtwurden te kommen. En, miskien, it oantal oproppen en oanfragen foar help mei jo wachtwurd sil tanimme. Mar feiligens komt op in priis.

Keppelings nei brûkte boarnen:
Microsoft-artikel oer in oanpaste wachtwurdfilterbibleteek: Wachtwurd Filters
PassFiltEx: PassFiltEx
Release keppeling: Latest Release
Wachtwurdlisten:
DanielMiessler list: Skeakel.
Wurdlist fan weakpass.com: Skeakel.
Wurdlist fan berzerk0 repo: Skeakel.
Microsoft Message Analyzer: Microsoft Message Analyzer.

Boarne: www.habr.com

Add a comment