Kaip uždrausti standartinius slaptažodžius ir priversti visus jūsų nekęsti

Žmogus, kaip žinote, yra tingus padaras.
Ir juo labiau, kai reikia pasirinkti stiprų slaptažodį.

Manau, kad kiekvienas administratorius kada nors yra susidūręs su lengvų ir standartinių slaptažodžių naudojimo problema. Šis reiškinys dažnai pasitaiko tarp aukščiausių įmonės valdymo sluoksnių. Taip, taip, būtent tarp tų, kurie turi prieigą prie slaptos ar komercinės informacijos ir būtų itin nepageidautina pašalinti slaptažodžių nutekėjimo/įsilaužimo ir tolesnių incidentų pasekmes.

Mano praktikoje buvo atvejis, kai „Active Directory“ domene su įjungta slaptažodžio politika buhalteriai savarankiškai suprato, kad toks slaptažodis kaip „Pas$w0rd1234“ puikiai atitinka politikos reikalavimus. To pasekmė buvo plačiai paplitęs šio slaptažodžio naudojimas visur. Kartais jis skyrėsi tik savo skaičių rinkiniu.

Labai norėjau turėti galimybę ne tik įjungti slaptažodžio politiką ir apibrėžti simbolių rinkinį, bet ir filtruoti pagal žodyną. Atmesti galimybę naudoti tokius slaptažodžius.

„Microsoft“ per nuorodą maloniai informuoja, kad kiekvienas, kuris moka taisyklingai laikyti rankose kompiliatorių, IDE ir moka taisyklingai ištarti C++, gali susikompiliuoti reikiamą biblioteką ir ja naudotis pagal savo supratimą. Jūsų nuolankus tarnas to nesugeba, todėl turėjau ieškoti paruošto sprendimo.

Po ilgos valandos paieškų atsiskleidė du problemos sprendimo variantai. Žinoma, aš kalbu apie atvirojo kodo sprendimą. Juk yra mokamų variantų – nuo ​​pradžios iki galo.

1 variantas. OpenPasswordFilter

Įsipareigojimų nebūna jau apie 2 metus.Vietinė diegimo programa karts nuo karto veikia, tenka taisyti rankiniu būdu. Sukuria savo atskirą paslaugą. Atnaujinant slaptažodžio failą, DLL automatiškai nepasiima pakeisto turinio, reikia sustabdyti paslaugą, palaukti skirtąjį laiką, redaguoti failą ir paleisti paslaugą.

Jokio ledo!

2 variantas. PassFiltEx

Projektas aktyvus, gyvas ir nereikia net spardytis šalto kūno.
Įdiegus filtrą reikia nukopijuoti du failus ir sukurti kelis registro įrašus. Slaptažodžio failas nėra užrakintas, tai yra, jį galima redaguoti ir, pagal projekto autoriaus idėją, jis tiesiog skaitomas kartą per minutę. Be to, naudodami papildomus registro įrašus, galite toliau konfigūruoti tiek patį filtrą, tiek net slaptažodžio politikos niuansus.

Taigi.
Duota: Active Directory domenas test.local
„Windows 8.1“ bandomoji darbo vieta (nesvarbi problemos tikslais)
slaptažodžių filtras PassFiltEx

  • Atsisiųskite naujausią leidimą iš nuorodos PassFiltEx
  • Kopijuoti PassFiltEx.dll в C: WindowsSystem32 (Arba %SystemRoot%System32).
    Kopijuoti PassFiltExBlacklist.txt в C: WindowsSystem32 (Arba %SystemRoot%System32). Jei reikia, jį papildome savo šablonais
    Kaip uždrausti standartinius slaptažodžius ir priversti visus jūsų nekęsti
  • Registro filialo redagavimas: HKLMSYSTEMCurrentControlSetControlLsa => Pranešimų paketai
    Pridėti PassFiltEx iki sąrašo pabaigos. (Plėtinio nurodyti nereikia.) Visas nuskaitymui naudojamų paketų sąrašas atrodys taip “rassfm scecli PassFiltEx"
    Kaip uždrausti standartinius slaptažodžius ir priversti visus jūsų nekęsti
  • Iš naujo paleiskite domeno valdiklį.
  • Pirmiau aprašytą procedūrą kartojame visiems domeno valdikliams.

Taip pat galite pridėti šiuos registro įrašus, kurie suteikia daugiau lankstumo naudojant šį filtrą:

Skyrius: HKLMSOFTWAREPassFiltEx – sukuriamas automatiškai.

  • HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ, numatytoji: PassFiltExBlacklist.txt

    BlacklistFileName — leidžia nurodyti pasirinktinį kelią į failą su slaptažodžių šablonais. Jei šis registro įrašas tuščias arba jo nėra, naudojamas numatytasis kelias, kuris yra - %SystemRoot%System32. Jūs netgi galite nurodyti tinklo kelią, BET reikia atsiminti, kad šablono failas turi turėti aiškius leidimus skaityti, rašyti, ištrinti, keisti.

  • HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, numatytasis: 60

    TokenPercentageOfPassword - leidžia nurodyti kaukės procentinę dalį naujame slaptažodžiu. Numatytoji reikšmė yra 60%. Pavyzdžiui, jei procentas yra 60, o eilutė starwars yra šablono faile, tada slaptažodis Starwars1! slaptažodis bus atmestas starwars1!DarthVader88 bus priimtas, nes slaptažodžio eilutės procentas yra mažesnis nei 60%

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, numatytasis: 0

    RequireCharClasses — leidžia išplėsti slaptažodžio reikalavimus, palyginti su standartiniais ActiveDirectory slaptažodžio sudėtingumo reikalavimais. Įtaisytiesiems sudėtingumo reikalavimams reikalingi 3 iš 5 galimų skirtingų simbolių tipų: didžiosios, mažosios, skaitmens, specialiosios ir unikodo. Naudodami šį registro įrašą galite nustatyti slaptažodžio sudėtingumo reikalavimus. Reikšmė, kurią galima nurodyti, yra bitų rinkinys, kurių kiekvienas yra atitinkamas dviejų laipsnis.
    Tai yra - 1 = mažosios raidės, 2 = didžiosios raidės, 4 = skaitmuo, 8 = specialusis simbolis ir 16 = unikodo simbolis.
    Taigi, kai vertė yra 7, reikalavimai būtų „didžiosios raidės“ IR mažosios raidės IR skaitmuo“, o su 31 reikšme - „Didžiosios raidės IR mažosios raidės IR skaitmuo IR specialus simbolis IR Unikodo simbolis“.
    Jūs netgi galite derinti - 19 = „Didžioji raidė IR mažosios raidės IR Unikodo simbolis“.

  • Kaip uždrausti standartinius slaptažodžius ir priversti visus jūsų nekęsti

Kai kurios taisyklės kuriant šablono failą:

  • Šablonai neskiriami didžiosioms ir mažosioms raidėms. Todėl failo įrašas žvaigždžių karai и Žvaigždžių karai bus nustatyta tokia pati vertė.
  • Juodojo sąrašo failas iš naujo skaitomas kas 60 sekundžių, todėl galite lengvai jį redaguoti; po minutės nauji duomenys bus naudojami filtro.
  • Šiuo metu nėra Unicode modelio derinimo palaikymo. Tai reiškia, kad slaptažodžiuose galite naudoti Unicode simbolius, tačiau filtras neveiks. Tai nėra kritiška, nes nemačiau vartotojų, kurie naudoja Unicode slaptažodžius.
  • Patartina šablono faile neleisti tuščių eilučių. Derinimo metu galite pamatyti klaidą įkeliant duomenis iš failo. Filtras veikia, bet kam papildomos išimtys?

Derinimui archyve yra paketinių failų, kurie leidžia sukurti žurnalą ir jį išanalizuoti naudojant, pvz., „Microsoft“ pranešimų analizatorius.
Šis slaptažodžio filtras naudoja įvykių sekimą, skirtą „Windows“.

Šio slaptažodžio filtro ETW teikėjas yra 07d83223-7594-4852-babc-784803fdf6c5. Taigi, pavyzdžiui, galite sukonfigūruoti įvykių sekimą po šio perkrovimo:
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

Sekimas prasidės po kito sistemos perkrovimo. Sustoti:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Visos šios komandos nurodytos scenarijuose StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

Norėdami vieną kartą patikrinti filtro veikimą, galite naudoti StartTracing.cmd и StopTracing.cmd.
Norėdami patogiai perskaityti šio filtro derinimo išmetimą "Microsoft Message Analyzer" Rekomenduojama naudoti šiuos nustatymus:

Kaip uždrausti standartinius slaptažodžius ir priversti visus jūsų nekęsti

Kaip uždrausti standartinius slaptažodžius ir priversti visus jūsų nekęsti

Sustabdžius prisijungimą ir analizavimą "Microsoft Message Analyzer" viskas atrodo maždaug taip:

Kaip uždrausti standartinius slaptažodžius ir priversti visus jūsų nekęsti

Čia matote, kad vartotojui buvo bandoma nustatyti slaptažodį – tai mums sako stebuklingas žodis SET derinant. Ir slaptažodis buvo atmestas dėl jo buvimo šablono faile ir daugiau nei 30% atitikimo įvestame tekste.

Jei sėkmingai bandoma pakeisti slaptažodį, matome:

Kaip uždrausti standartinius slaptažodžius ir priversti visus jūsų nekęsti

Galutiniam vartotojui kyla tam tikrų nepatogumų. Kai bandote pakeisti slaptažodį, kuris yra įtrauktas į šablonų failo sąrašą, pranešimas ekrane nesiskiria nuo standartinio pranešimo, kai slaptažodžio politika neperduota.

Kaip uždrausti standartinius slaptažodžius ir priversti visus jūsų nekęsti

Todėl būkite pasirengę skambučiams ir šūksniams: „Teisingai įvedžiau slaptažodį, bet jis neveikia“.

Santrauka.

Ši biblioteka leidžia uždrausti naudoti paprastus arba standartinius slaptažodžius Active Directory domene. Sakykime "Ne!" slaptažodžiai: „P@ssw0rd“, „Qwerty123“, „ADm1n098“.
Taip, žinoma, vartotojai jus dar labiau mylės už tai, kad taip rūpinatės savo saugumu ir reikia sugalvoti verčiančius slaptažodžius. Ir, ko gero, padidės skambučių ir pagalbos prašymų dėl slaptažodžio skaičius. Tačiau saugumas turi savo kainą.

Nuorodos į naudojamus išteklius:
„Microsoft“ straipsnis apie tinkintą slaptažodžių filtrų biblioteką: Slaptažodžių filtrai
PassFiltEx: PassFiltEx
Išleidimo nuoroda: Naujausia versija
Slaptažodžių sąrašai:
DanielMiessler sąrašai: Nuoroda.
Žodžių sąrašas iš heikkopass.com: Nuoroda.
Žodžių sąrašas iš berzerk0 repo: Nuoroda.
„Microsoft“ pranešimų analizatorius: „Microsoft“ pranešimų analizatorius.

Šaltinis: www.habr.com

Добавить комментарий