Hvordan man forbyder standardadgangskoder og får alle til at hade dig

Mennesket er som bekendt et dovent væsen.
Og endnu mere, når det kommer til at vælge en stærk adgangskode.

Jeg tror, ​​at enhver administrator nogensinde har stået over for problemet med at bruge lette og standardadgangskoder. Dette fænomen forekommer ofte blandt de øverste lag af virksomhedsledelse. Ja, ja, netop blandt dem, der har adgang til hemmelige eller kommercielle oplysninger, og det ville være yderst uønsket at eliminere konsekvenserne af password-lækage/hacking og yderligere hændelser.

I min praksis var der et tilfælde, hvor revisorer på et Active Directory-domæne med en adgangskodepolitik aktiveret uafhængigt kom til den idé, at en adgangskode som "Pas$w0rd1234" passer perfekt til politikkravene. Konsekvensen var den udbredte brug af denne adgangskode overalt. Nogle gange adskilte han sig kun i sit sæt tal.

Jeg ville virkelig være i stand til ikke kun at aktivere en adgangskodepolitik og definere et tegnsæt, men også at filtrere efter ordbog. For at udelukke muligheden for at bruge sådanne adgangskoder.

Microsoft informerer os venligst via linket, at enhver, der ved, hvordan man holder en compiler, IDE korrekt i hænderne og ved, hvordan man udtaler C++ korrekt, er i stand til at kompilere det bibliotek, de har brug for, og bruge det efter deres egen forståelse. Det er din ydmyge tjener ikke i stand til, så jeg måtte lede efter en færdig løsning.

Efter en lang times søgen blev to muligheder for at løse problemet afsløret. Jeg taler selvfølgelig om OpenSource-løsningen. Der er trods alt betalte muligheder - fra start til slut.

Mulighed 1. ÅbnPasswordFilter

Der har ikke været nogen commits i omkring 2 år nu. Det native installationsprogram fungerer nu og da, du skal rette det manuelt. Opretter sin egen separate service. Når du opdaterer en adgangskodefil, opfanger DLL'en ikke automatisk det ændrede indhold; du skal stoppe tjenesten, vente en timeout, redigere filen og starte tjenesten.

Ingen is!

Mulighed 2. PassFiltEx

Projektet er aktivt, levende og der er ingen grund til selv at sparke den kolde krop.
Installation af filteret involverer kopiering af to filer og oprettelse af flere poster i registreringsdatabasen. Adgangskodefilen er ikke i en lås, det vil sige, den er tilgængelig til redigering, og ifølge ideen fra forfatteren af ​​projektet læses den blot en gang i minuttet. Ved at bruge yderligere registreringsposter kan du yderligere konfigurere både selve filteret og endda nuancerne i adgangskodepolitikken.

Så.
Givet: Active Directory domæne test.local
Windows 8.1 testarbejdsstation (ikke vigtig for formålet med problemet)
adgangskodefilter PassFiltEx

  • Download den seneste udgivelse fra linket PassFiltEx
  • Kopi PassFiltEx.dll в C: WindowsSystem32 (eller % SystemRoot% System32).
    Kopi PassFiltExBlacklist.txt в C: WindowsSystem32 (eller % SystemRoot% System32). Om nødvendigt supplerer vi med vores egne skabeloner
    Hvordan man forbyder standardadgangskoder og får alle til at hade dig
  • Redigering af registreringsdatabasen: HKLMSYSTEM CurrentControlSetControlLsa => Underretningspakker
    Tilføjelse PassFiltEx til slutningen af ​​listen. (Udvidelsen skal ikke angives.) Den komplette liste over pakker, der bruges til scanning, vil se sådan ud "rassfm scecli PassFiltEx".
    Hvordan man forbyder standardadgangskoder og får alle til at hade dig
  • Genstart domænecontrolleren.
  • Vi gentager ovenstående procedure for alle domænecontrollere.

Du kan også tilføje følgende poster i registreringsdatabasen, hvilket giver dig mere fleksibilitet ved at bruge dette filter:

Kapitel: HKLMSOFTWAREPassFiltEx — oprettes automatisk.

  • HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ, Standard: PassFiltExBlacklist.txt

    SortlisteFilnavn — giver dig mulighed for at angive en brugerdefineret sti til en fil med adgangskodeskabeloner. Hvis denne post i registreringsdatabasen er tom eller ikke eksisterer, bruges standardstien, som er - % SystemRoot% System32. Du kan endda angive en netværkssti, MEN du skal huske, at skabelonfilen skal have klare tilladelser til at læse, skrive, slette, ændre.

  • HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, standard: 60

    TokenPercentageOfPassword — giver dig mulighed for at angive procentdelen af ​​masken i den nye adgangskode. Standardværdien er 60 %. For eksempel, hvis den procentvise forekomst er 60 og strengen starwars er i skabelonfilen, så er adgangskoden Starwars1! vil blive afvist, mens adgangskoden starwars1!DarthVader88 vil blive accepteret, fordi procentdelen af ​​strengen i adgangskoden er mindre end 60 %

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, standard: 0

    RequireCharClasses — giver dig mulighed for at udvide adgangskodekravene sammenlignet med standardkravene til ActiveDirectory-adgangskodekompleksitet. De indbyggede kompleksitetskrav kræver 3 af de 5 mulige forskellige slags tegn: Store bogstaver, Små bogstaver, Ciffer, Special og Unicode. Ved at bruge denne post i registreringsdatabasen kan du indstille dine adgangskodekompleksitetskrav. Den værdi, der kan angives, er et sæt bits, som hver er en tilsvarende potens på to.
    Det vil sige 1 = små bogstaver, 2 = store bogstaver, 4 = ciffer, 8 = specialtegn og 16 = Unicode-tegn.
    Så med en værdi på 7 ville kravene være "store bogstaver" AND små bogstaver AND ciffer", og med en værdi på 31 - "Store bogstaver AND små bogstaver AND figur AND særligt symbol AND Unicode-tegn."
    Du kan endda kombinere - 19 = "Store bogstaver AND små bogstaver AND Unicode-tegn."

  • Hvordan man forbyder standardadgangskoder og får alle til at hade dig

En række regler, når du opretter en skabelonfil:

  • Skabeloner skelner mellem store og små bogstaver. Derfor er filposten Star wars и Star wars vil blive bestemt til at være den samme værdi.
  • Sortlistefilen genlæses hvert 60. sekund, så du nemt kan redigere den; efter et minut vil de nye data blive brugt af filteret.
  • Der er i øjeblikket ingen Unicode-understøttelse af mønstermatchning. Det vil sige, at du kan bruge Unicode-tegn i adgangskoder, men filteret virker ikke. Dette er ikke kritisk, for jeg har ikke set brugere, der bruger Unicode-adgangskoder.
  • Det er tilrådeligt ikke at tillade tomme linjer i skabelonfilen. I fejlretningen kan du så se en fejl ved indlæsning af data fra en fil. Filteret virker, men hvorfor de ekstra undtagelser?

Til debugging indeholder arkivet batchfiler, der giver dig mulighed for at oprette en log og derefter parse den ved hjælp af f.eks. Microsoft Message Analyzer.
Dette adgangskodefilter bruger Event Tracing til Windows.

ETW-udbyderen for dette adgangskodefilter er 07d83223-7594-4852-babc-784803fdf6c5. Så du kan for eksempel konfigurere hændelsessporing efter følgende genstart:
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

Sporing starter efter næste systemgenstart. At stoppe:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Alle disse kommandoer er specificeret i scripts StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

Til en engangskontrol af filterdriften kan du bruge StartTracing.cmd и StopTracing.cmd.
For bekvemt at kunne læse debug-udstødningen af ​​dette filter ind Microsoft Message Analyzer Det anbefales at bruge følgende indstillinger:

Hvordan man forbyder standardadgangskoder og får alle til at hade dig

Hvordan man forbyder standardadgangskoder og får alle til at hade dig

Når du stopper med at logge og parse ind Microsoft Message Analyzer alt ser sådan her ud:

Hvordan man forbyder standardadgangskoder og får alle til at hade dig

Her kan du se, at der var et forsøg på at sætte en adgangskode til brugeren - det fortæller det magiske ord os SET i debug. Og adgangskoden blev afvist på grund af dens tilstedeværelse i skabelonfilen og mere end 30% match i den indtastede tekst.

Hvis der foretages et vellykket forsøg på at ændre adgangskoden, ser vi følgende:

Hvordan man forbyder standardadgangskoder og får alle til at hade dig

Der er nogle gener for slutbrugeren. Når du forsøger at ændre en adgangskode, der er inkluderet i listen over skabeloner, er meddelelsen på skærmen ikke forskellig fra standardmeddelelsen, når adgangskodepolitikken ikke er godkendt.

Hvordan man forbyder standardadgangskoder og får alle til at hade dig

Vær derfor forberedt på opkald og råb: "Jeg har indtastet adgangskoden korrekt, men den virker ikke."

Oversigt.

Dette bibliotek giver dig mulighed for at forbyde brugen af ​​simple eller standardadgangskoder i et Active Directory-domæne. Lad os sige "Nej!" adgangskoder som: "P@ssw0rd", "Qwerty123", "ADm1n098".
Ja, selvfølgelig, brugere vil elske dig endnu mere for at tage sig af deres sikkerhed og behovet for at komme med overvældende adgangskoder. Og måske vil antallet af opkald og anmodninger om hjælp til din adgangskode stige. Men sikkerhed har en pris.

Links til brugte ressourcer:
Microsoft-artikel om et brugerdefineret adgangskodefilterbibliotek: Adgangskodefiltre
PassFiltEx: PassFiltEx
Udgivelseslink: Seneste udgave
Adgangskodelister:
DanielMiessler lister: Link.
Ordliste fra weakpass.com: Link.
Ordliste fra berzerk0 repo: Link.
Microsoft Message Analyzer: Microsoft Message Analyzer.

Kilde: www.habr.com

Tilføj en kommentar