MÀnniskan Àr, som bekant, ett lat inslag.
SÀrskilt nÀr det gÀller valet av ett sÀkert lösenord.
Jag tror att varje administratör nÄgon gÄng har stött pÄ problemet med att anvÀnda lÀtta och standardlösenord. Detta fenomen förekommer ofta bland högre chefer i företaget. Ja, just de som har tillgÄng till hemlig eller kommersiell information och det skulle vara mycket ogynnsamt att hantera konsekvenserna av en lösenords-lÀckage/hackning och efterföljande incidenter.
I min erfarenhet har det funnits en situation dĂ€r personer inom ekonomiadministrationen i en Active Directory-domĂ€n med aktiverad lösenordspolicy sjĂ€lva kommit fram till idĂ©n att ett lösenord av typen âPas$w0rd1234â uppfyller policykraven. Detta ledde till att detta lösenord anvĂ€ndes överallt. Ibland skilde det sig bara i teckenuppsĂ€ttning.
Det blev mycket frestande att inte bara kunna aktivera lösenordspolicyn och bestÀmma teckenuppsÀttningen, utan ocksÄ filtrera med hjÀlp av en ordlista. För att utesluta anvÀndning av sÄdana typer av lösenord.
Microsoft meddelar oss vÀnligt via en lÀnk att den som kan hantera en kompilator, IDE och korrekt uttala C++ kan sjÀlv kompilera och anvÀnda det nödvÀndiga biblioteket efter eget tycke. Din ödmjuka tjÀnare kan inte göra detta, sÄ jag var tvungen att leta efter en fÀrdig lösning.
Efter en lĂ„ng timmes sökande dök tvĂ„ alternativ för att lösa problemet upp. Jag pratar naturligtvis om OpenSource-lösningen. För det finns ocksĂ„ betalda alternativ â frĂ„n och till.
Alternativ nr 1.
Det har inte kommit nÄgra commits pÄ över 2 Är. Den inbyggda installatören fungerar sporadiskt, man fÄr justera den för hand. Den skapar en separat tjÀnst. Vid uppdatering av lösenordsfilen fÄngar DLL:en inte automatiskt den Àndrade informationen, man mÄste stoppa tjÀnsten, vÀnta pÄ timeout, redigera filen och starta tjÀnsten igen.
Inte bra!
Alternativ nr 2.
Projektet Àr aktivt, lever och det behövs inte ens en spark i sidan.
Installationen av filtret innebÀr att kopiera tvÄ filer och skapa flera registerposter. Lösenordsfilen ligger inte lokalt, det vill sÀga - den Àr tillgÀnglig för redigering och, enligt projektets skapare, lÀses den helt enkelt en gÄng per minut. Dessutom kan ytterligare registerposter anvÀndas för att göra ytterligare instÀllningar bÄde av filtret sjÀlvt och Àven av detaljer kring lösenordspolicyn.
SĂ„.
Givet: domÀnen Active Directory test.local
testarbetsstation Windows 8.1 (för uppgiftens villkor - ovÀsentlig)
lösenordfilter PassFiltEx
- Ladda ner den senaste utgÄvan via lÀnken
- Kopiera PassFiltEx.dll pÄ C:WindowsSystem32 (eller %SystemRoot%System32).
Kopiera PassFiltExBlacklist.txt pÄ C:WindowsSystem32 (eller %SystemRoot%System32). Vid behov kompletterar vi med vÄra egna mallar.
- Redigera registergrenen: HKLMSYSTEMCurrentControlSetControlLsa => Notification Packages
LÀgg till PassFiltEx i slutet av listan. (FörlÀngningen behöver inte anges.) Den fullstÀndiga listan över paket som anvÀnds för verifiering kommer att se ut pÄ följande sÀtt «rassfm scecli PassFiltEx«.
- Starta om domÀnkontrollern.
- Upprepa den ovan angivna proceduren för alla domÀnkontrollanter.
Det gÄr ocksÄ att lÀgga till följande registerposter, vilket ger större flexibilitet vid anvÀndning av detta filter:
Avsnitt: HKLMSOFTWAREPassFiltEx â skapas automatiskt.
- HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ, Standard: PassFiltExBlacklist.txt
BlacklistFileName â gör det möjligt att ange en anpassad sökvĂ€g till filen med mallar för lösenord. Om denna registerpost har ett tomt vĂ€rde eller inte existerar, anvĂ€nds sökvĂ€gen som standard, nĂ€mligen â %SystemRoot%System32. Det gĂ„r till och med att ange en nĂ€tverksvĂ€g, MEN man mĂ„ste komma ihĂ„g att filen för mallarna mĂ„ste ha tydliga rĂ€ttigheter för lĂ€sning, skrivning, borttagning, och Ă€ndringar.
- HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, Standard: 60
TokenPercentageOfPassword â gör det möjligt att ange procentandelen av masken i det nya lösenordet. Som standard Ă€r vĂ€rdet 60%. Till exempel, om den angivna procentandelen Ă€r 60 och det finns en rad i mallfilen som heter starwars, dĂ„ avvisas lösenordet Starwars1! men lösenordet starwars1!DarthVader88 accepteras, eftersom procentandelen av strĂ€ngen i lösenordet Ă€r mindre Ă€n 60%.
- HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, Standard: 0
RequireCharClasses â gör det möjligt att utöka lösenordskrav jĂ€mfört med standardkraven för lösenordskomplexitet i Active Directory. Inbyggda krav pĂ„ komplexitet krĂ€ver 3 av 5 möjliga olika typer av tecken: Versaler, gemener, siffror, specialtecken och Unicode. Med denna registerpost kan du stĂ€lla in dina egna krav pĂ„ lösenordskomplexitet. Det vĂ€rde som kan anges Ă€r ett bitmönster, dĂ€r varje bit Ă€r en motsvarande potentiell vĂ€rde av tvĂ„.
Detta betyder alltsĂ„ â 1 = gemen, 2 = versal, 4 = siffra, 8 = specialtecken, och 16 = Unicode-tecken.
SĂ„ledes, med ett vĂ€rde av 7 kommer kraven att vara âVersal OCH gemen OCH siffraâ, och med ett vĂ€rde av 31 â âVersal OCH gemen OCH siffra OCH specialtecken OCH Unicode-teckenâ.
Man kan Ă€ven kombinera â 19 = âVersal OCH gemen OCH Unicode-teckenâ.
En uppsÀttning regler för att skapa mönsterfiler:
- Mönster Àr skiftlÀgesokÀnsliga. DÀrför kommer posten i filen starwars och StarWarS att definieras som samma vÀrde.
- Svartlistan lÀses om var 60:e sekund, sÄ man kan editerar den i lugn och ro, efter en minut kommer de nya uppgifterna att anvÀndas av filtret.
- För nÀrvarande finns det inget stöd för Unicode för mönsterkontroll. Det betyder att Unicode-tecken kan anvÀndas i lösenord, men filtret kommer inte att fungera. Detta Àr inte kritiskt, eftersom jag inte har sett anvÀndare som anvÀnder lösenord i Unicode.
- Det Àr önskvÀrt att undvika tomma rader i mönsterfilen. I debuggningen visas ett fel nÀr data laddas frÄn filen. Filtret fungerar, men varför skapa onödiga undantag?
För debuggningsÀndamÄl finns det batchfiler i arkivet som gör att du kan skapa en logg och sedan analysera den med hjÀlp av till exempel
Detta lösenordsfilter anvÀnder Event Tracing for Windows.
ETW-leverantören för detta lösenordsfilter Àr 07d83223-7594-4852-babc-784803fdf6c5. SÄ, till exempel, kan du stÀlla in hÀndelsespÄrning efter nÀsta omstart:
logman create trace autosessionPassFiltEx -o %SystemRootbugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets
SpÄrningen kommer att starta efter nÀsta omstart av systemet. För att stoppa:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Alla dessa kommandon finns angivna i skripten StartTracingAtBoot.cmd och StopTracingAtBoot.cmd.
För en engÄngskontroll av filtret kan du anvÀnda StartTracing.cmd och StopTracing.cmd.
För att enkelt lÀsa debuggutdata för denna filter i Microsoft Message Analyzer rekommenderas följande instÀllningar:


Vid stopp av loggning och analys i Microsoft Message Analyzer ser det hela ungefÀr ut sÄ hÀr:

HĂ€r kan man se att det gjordes ett försök att stĂ€lla in ett lösenord för anvĂ€ndaren â detta indikeras av det magiska ordet SET i debbugen. Och lösenordet avslogs pĂ„ grund av att det finns i mallen och mer Ă€n 30% överensstĂ€mmer med den inmatade texten.
Vid ett lyckat försök att Àndra lösenordet ser vi följande:

Det finns en viss oönskad situation för slutkunden. NÀr man försöker Àndra ett lösenord som finns med i mallen, Àr meddelandet pÄ skÀrmen inte mer intelligent och insiktsfullt Àn det standardmeddelande som visas vid misslyckande av lösenordspolicyn.

SÄ var beredd pÄ samtal och rop: "Jag angav lösenordet pÄ rÀtt sÀtt, men det fungerar inte."
Slutsats.
Detta bibliotek tillÄter att förbjuda anvÀndningen av enkla eller standardlösningar i Active Directory-domÀnen. SÀg "Nej!" till lösenord som: "P@ssw0rd", "Qwerty123", "ADm1n098".
Ja, utan tvekan kommer anvÀndarna att tycka om er Ànnu mer för denna omtanke om deras sÀkerhet och behovet av att komma pÄ komplexa lösenord. Och kanske kommer antalet samtal och hjÀlpbehov för lösenord att öka hos er. Men sÀkerhet kostar.
Referenser till anvÀnda resurser:
Artikel frÄn Microsoft angÄende den anpassade lösenordsfilterbiblioteket:
PassFiltEx:
LĂ€nk till release:
Lösenordslistor:
DanielMiessler lists:
Wordlist frÄn weakpass.com:
Wordlist frÄn berzerk0 repo:
Microsoft Message Analyzer:
KĂ€lla: habr.com
