Hoe je standaardwachtwoorden kunt verbieden en ervoor kunt zorgen dat iedereen je gaat haten

De mens is, zoals u weet, een lui wezen.
En nog meer als het gaat om het kiezen van een sterk wachtwoord.

Ik denk dat elke beheerder ooit te maken heeft gehad met het probleem van het gebruik van lichte en standaardwachtwoorden. Dit fenomeen doet zich vaak voor in de hogere regionen van het bedrijfsmanagement. Ja, ja, juist onder degenen die toegang hebben tot geheime of commerciële informatie en het zou uiterst onwenselijk zijn om de gevolgen van wachtwoordlekken/hacking en verdere incidenten uit te sluiten.

In mijn praktijk was er een geval waarin accountants in een Active Directory-domein met ingeschakeld wachtwoordbeleid onafhankelijk van elkaar op het idee kwamen dat een wachtwoord als “Pas$w0rd1234” perfect aan de beleidsvereisten voldoet. Het gevolg was het wijdverbreide gebruik van dit wachtwoord overal. Soms verschilde hij alleen in zijn reeks cijfers.

Ik wilde heel graag niet alleen een wachtwoordbeleid kunnen inschakelen en een tekenset kunnen definiëren, maar ook kunnen filteren op woordenboek. Om de mogelijkheid uit te sluiten om dergelijke wachtwoorden te gebruiken.

Microsoft laat ons via de link weten dat iedereen die weet hoe hij een compiler, IDE correct in zijn handen moet houden en C++ correct uitspreekt, in staat is de bibliotheek die hij nodig heeft te compileren en naar eigen inzicht te gebruiken. Uw nederige dienaar is hiertoe niet in staat, dus ik moest op zoek naar een kant-en-klare oplossing.

Na een lang uur zoeken kwamen er twee opties aan het licht om het probleem op te lossen. Ik heb het natuurlijk over de OpenSource-oplossing. Er zijn tenslotte betaalde opties - van begin tot eind.

Optie nummer 1. OpenWachtwoordFilter

Er zijn nu al ongeveer 2 jaar geen commits meer. Het native installatieprogramma werkt zo nu en dan, je moet het handmatig corrigeren. Creëert zijn eigen aparte service. Wanneer u een wachtwoordbestand bijwerkt, haalt de DLL de gewijzigde inhoud niet automatisch op; u moet de service stoppen, een time-out wachten, het bestand bewerken en de service starten.

Geen ijs!

Optie nummer 2. PassFiltEx

Het project is actief, levend en het is niet nodig om zelfs maar tegen het koude lichaam te schoppen.
Het installeren van het filter omvat het kopiëren van twee bestanden en het maken van verschillende registervermeldingen. Het wachtwoordbestand zit niet in een slot, dat wil zeggen dat het beschikbaar is voor bewerking en, volgens het idee van de auteur van het project, eenvoudigweg één keer per minuut wordt gelezen. Met behulp van extra registervermeldingen kunt u zowel het filter zelf als zelfs de nuances van het wachtwoordbeleid verder configureren.

So.
Gegeven: Active Directory-domein test.local
Windows 8.1 testwerkstation (niet belangrijk voor het doel van het probleem)
wachtwoordfilter PassFiltEx

  • Download de nieuwste release via de link PassFiltEx
  • Kopiëren PassFiltEx.dll в C: WindowsSystem32 (Of % SystemRoot% System32).
    Kopiëren PassFiltExBlacklist.txt в C: WindowsSystem32 (Of % SystemRoot% System32). Indien nodig vullen wij het aan met onze eigen templates
    Hoe je standaardwachtwoorden kunt verbieden en ervoor kunt zorgen dat iedereen je gaat haten
  • De registervertakking bewerken: HKLMSYSTEMCurrentControlSetControlLsa => Meldingspakketten
    Toevoegen PassFiltEx naar het einde van de lijst. (De extensie hoeft niet te worden gespecificeerd.) De volledige lijst met pakketten die voor het scannen worden gebruikt, ziet er als volgt uit “rassfm scecli PassFiltEx".
    Hoe je standaardwachtwoorden kunt verbieden en ervoor kunt zorgen dat iedereen je gaat haten
  • Start de domeincontroller opnieuw op.
  • We herhalen bovenstaande procedure voor alle domeincontrollers.

U kunt ook de volgende registervermeldingen toevoegen, waardoor u meer flexibiliteit krijgt bij het gebruik van dit filter:

Раздел: HKLMSOFTWAREPassFiltEx — wordt automatisch aangemaakt.

  • HKLMSOFTWAREPassFiltExBlacklistBestandsnaam, REG_SZ, standaard: PassFiltExBlacklist.txt

    Zwarte lijstBestandsnaam — hiermee kunt u een aangepast pad opgeven naar een bestand met wachtwoordsjablonen. Als deze registervermelding leeg is of niet bestaat, wordt het standaardpad gebruikt: % SystemRoot% System32. U kunt zelfs een netwerkpad opgeven, MAAR u moet niet vergeten dat het sjabloonbestand duidelijke machtigingen moet hebben voor lezen, schrijven, verwijderen en wijzigen.

  • HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, standaard: 60

    TokenPercentageOfPassword — hiermee kunt u het percentage van het masker in het nieuwe wachtwoord opgeven. De standaardwaarde is 60%. Als het percentage voorkomen bijvoorbeeld 60 is en de tekenreeks starwars in het sjabloonbestand staat, dan is het wachtwoord Starwars1! zal worden afgewezen terwijl het wachtwoord wordt ingevoerd starwars1!DarthVader88 wordt geaccepteerd omdat het percentage van de string in het wachtwoord minder dan 60% is

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, standaard: 0

    CharClasses vereisen — hiermee kunt u de wachtwoordvereisten uitbreiden in vergelijking met de standaard ActiveDirectory-vereisten voor wachtwoordcomplexiteit. De ingebouwde complexiteitsvereisten vereisen 3 van de 5 mogelijke verschillende soorten tekens: hoofdletters, kleine letters, cijfers, speciaal en Unicode. Met behulp van deze registervermelding kunt u de vereisten voor uw wachtwoordcomplexiteit instellen. De waarde die kan worden gespecificeerd is een set bits, die elk een overeenkomstige macht van twee zijn.
    Dat wil zeggen, 1 = kleine letters, 2 = hoofdletters, 4 = cijfers, 8 = speciaal teken en 16 = Unicode-teken.
    Dus met een waarde van 7 zijn de vereisten 'Hoofdletters' EN kleine letters EN cijfer”, en met een waarde van 31 - “Hoofdletters EN kleine letters EN figuur EN speciaal symbool EN Unicode-teken."
    Je kunt zelfs combineren - 19 = “Hoofdletters EN kleine letters EN Unicode-teken."

  • Hoe je standaardwachtwoorden kunt verbieden en ervoor kunt zorgen dat iedereen je gaat haten

Een aantal regels bij het aanmaken van een sjabloonbestand:

  • Sjablonen zijn hoofdlettergevoelig. Daarom de bestandsinvoer star wars и StarWarS zal worden vastgesteld dat het dezelfde waarde is.
  • Het zwartelijstbestand wordt elke 60 seconden opnieuw gelezen, zodat u het eenvoudig kunt bewerken; na een minuut worden de nieuwe gegevens door het filter gebruikt.
  • Er is momenteel geen Unicode-ondersteuning voor patroonmatching. Dat wil zeggen dat u Unicode-tekens in wachtwoorden kunt gebruiken, maar het filter werkt niet. Dit is niet cruciaal, omdat ik geen gebruikers heb gezien die Unicode-wachtwoorden gebruiken.
  • Het is raadzaam om geen lege regels in het sjabloonbestand toe te staan. In de debug kun je dan een fout zien bij het laden van gegevens uit een bestand. Het filter werkt, maar waarom die extra uitzonderingen?

Voor het opsporen van fouten bevat het archief batchbestanden waarmee u een logboek kunt maken en dit vervolgens kunt parseren met behulp van bijvoorbeeld Microsoft Berichtenanalyser.
Dit wachtwoordfilter maakt gebruik van Event Tracing voor Windows.

De ETW-provider voor dit wachtwoordfilter is 07d83223-7594-4852-babc-784803fdf6c5. U kunt dus bijvoorbeeld het traceren van gebeurtenissen configureren na de volgende herstart:
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

Het traceren begint na de volgende herstart van het systeem. Stoppen:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Al deze opdrachten zijn gespecificeerd in de scripts StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

Voor een eenmalige controle van de filterwerking kunt u gebruik maken van StartTracing.cmd и StopTracing.cmd.
Om de debug-uitlaat van dit filter gemakkelijk in te lezen Microsoft Message Analyzer Het wordt aanbevolen om de volgende instellingen te gebruiken:

Hoe je standaardwachtwoorden kunt verbieden en ervoor kunt zorgen dat iedereen je gaat haten

Hoe je standaardwachtwoorden kunt verbieden en ervoor kunt zorgen dat iedereen je gaat haten

Bij het stoppen van inloggen en parseren Microsoft Message Analyzer alles ziet er ongeveer zo uit:

Hoe je standaardwachtwoorden kunt verbieden en ervoor kunt zorgen dat iedereen je gaat haten

Hier kun je zien dat er is geprobeerd een wachtwoord in te stellen voor de gebruiker - het toverwoord vertelt ons dit SET bij debuggen. En het wachtwoord werd afgewezen vanwege de aanwezigheid in het sjabloonbestand en meer dan 30% overeenkomst in de ingevoerde tekst.

Als er een succesvolle poging tot wachtwoordwijziging wordt gedaan, zien we het volgende:

Hoe je standaardwachtwoorden kunt verbieden en ervoor kunt zorgen dat iedereen je gaat haten

Er is enig ongemak voor de eindgebruiker. Wanneer u probeert een wachtwoord te wijzigen dat is opgenomen in het lijst met sjablonenbestand, wijkt het bericht op het scherm niet af van het standaardbericht wanneer het wachtwoordbeleid niet is doorgevoerd.

Hoe je standaardwachtwoorden kunt verbieden en ervoor kunt zorgen dat iedereen je gaat haten

Wees daarom voorbereid op telefoontjes en geschreeuw: “Ik heb het wachtwoord correct ingevoerd, maar het werkt niet.”

Samenvatting.

Met deze bibliotheek kunt u het gebruik van eenvoudige of standaardwachtwoorden in een Active Directory-domein verbieden. Laten we zeggen: "Nee!" wachtwoorden zoals: “P@ssw0rd”, “Qwerty123”, “ADm1n098”.
Ja, natuurlijk zullen gebruikers nog meer van je houden omdat je zoveel zorg besteedt aan hun beveiliging en de noodzaak om verbluffende wachtwoorden te bedenken. En misschien zal het aantal oproepen en hulpvragen met uw wachtwoord toenemen. Maar veiligheid heeft een prijs.

Links naar gebruikte bronnen:
Microsoft-artikel over een aangepaste wachtwoordfilterbibliotheek: Wachtwoordfilters
PassFiltEx: PassFiltEx
Releaselink: Laatste release
Wachtwoordlijsten:
DanielMiessler somt op: Link.
Woordenlijst van zwakkepass.com: Link.
Woordenlijst uit berzerk0 repo: Link.
Microsoft-berichtenanalysator: Microsoft Berichtenanalyser.

Bron: www.habr.com

Voeg een reactie