Hogyan tiltsuk le a standard jelszavakat, és költsük el mindenki undorát

Mint tudjuk, az ember alapvetően lusta lény.
Különösen, amikor a biztos jelszó választásának kérdéséről van szó.

Azt gondolom, hogy minden adminisztrátor valaha már szembesült a könnyű és standard jelszavak használatával kapcsolatos problémával. Ez a jelenség gyakran előfordul a cég vezetőség felsőbb rétegeiben. Igen, pontosan azok körében, akik titkos vagy kereskedelmi információkhoz férnek hozzá, és rendkívül nemkívánatos lenne a jelszólopás következményeinek eltüntetése vagy a további incidensek kezelése.

A gyakorlatomban egyszer előfordult, hogy egy Active Directory domainekben, ahol be volt kapcsolva a jelszópoli, a könyvelők maguktól eljutottak arra az ötletre, hogy a "Pas$w0rd1234" típusú jelszó tökéletesen megfelel a politika követelményeinek. Ennek következményeként ezt a jelszót mindenhol használták. Néha csupán a számok sora különbözött.

Nagyon szerettem volna lehetőséget kapni nemcsak a jelszópolitika bekapcsolására és a karakterkészlet meghatározására, hanem szótár szerinti szűrésre is. Hogy kizárhassuk az ilyen típusú jelszavak használatának lehetőségét.

A Microsoft kedvesen tájékoztat minket egy hivatkozáson keresztül, hogy bárki, aki tudja, hogyan kell helyesen használni a fordítót, az IDE-t és hogyan kell helyesen kiejteni a C++-t, képes saját magának a szükséges könyvtárat lefordítani és saját belátása szerint használni. Az Ön szolgája ezt nem tudja megtenni, így kénytelen voltam kész megoldást keresni.

Hosszas keresés után két megoldási lehetőség nyílt meg előttem. Természetesen az OpenSource megoldásokról beszélek. Mert a fizetős lehetőségek széles választéka áll rendelkezésre.

1. lehetőség. OpenPasswordFilter

Két éve már nem voltak committok. Az alapértelmezett telepítő néha működik, néha nem, kézzel kell javítgatni. Létrehoz egy külön szolgáltatást. A jelszófájl frissítésekor a DLL automatikusan nem tölti be a módosított tartalmat, meg kell állítani a szolgáltatást, várni a várakozási időt, szerkeszteni a fájlt, majd újraindítani a szolgáltatást.

Nem túl jó!

2. lehetőség. PassFiltEx

A projekt aktív, él és még csak nem is kell berúgni a hideg testét.
A szűrő telepítése két fájl másolásából és néhány bejegyzés létrehozásából áll a rendszerleíró adatbázisban. A jelszófájl nem lokalizált, tehát szerkeszthető, és a projekt szerzője szerint egy percenként egyszer olvasódik ki. Továbbá, a rendszerleíró adatbázis további bejegyzéseivel a szűrő és a jelszóházirend finomhangolása is elvégezhető.

Tehát.
Megadott: Active Directory domain test.local
tesztelő Windows 8.1 munkaállomás (az feladat szempontjából lényegtelen)
PassFiltEx jelszószűrő

  • Letöltjük az utolsó kiadást a hivatkozáson keresztül. PassFiltEx
  • Másoljuk PassFiltEx.dll be. C:WindowsSystem32 SysWOW64 %SystemRoot%System32).
    Másoljuk PassFiltExBlacklist.txt be. C:WindowsSystem32 SysWOW64 %SystemRoot%System32). Szükség szerint kiegészítjük saját sablonjainkkal.
    Hogyan tiltsuk le a standard jelszavakat, és költsük el mindenki undorát
  • Szerkesztjük a rendszerleíró adatbázis ágat: HKLMSYSTEMCurrentControlSetControlLsa => Értesítési csomagok
    Hozzáadjuk PassFiltEx a lista végéhez. (Az kiterjesztést nem szükséges megadni.) A használt ellenőrző csomagok teljes listája így fog kinézni: „rassfm scecli PassFiltEx«.
    Hogyan tiltsuk le a standard jelszavakat, és költsük el mindenki undorát
  • Újraindítjuk a domain vezérlőt.
  • Ismételjük meg a fent említett eljárást az összes domain vezérlőre.

Ezenkívül hozzáadhatók a következő rendszerleíró bejegyzések is, amelyek nagyobb rugalmasságot biztosítanak a szűrő használatában:

Szakasz: HKLMSOFTWAREPassFiltEx — automatikusan létrejön.

  • HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ, Alapértelmezett: PassFiltExBlacklist.txt

    BlacklistFileName — lehetővé teszi egy egyedi mappa megadását a jelszósablon fájlhoz. Ha ennek a rendszerleíró bejegyzésnek üres az értéke, vagy nem létezik, akkor az alapértelmezett útvonal, nevezetesen — %SystemRoot%System32. Hálózati útvonal is megadható, DE fontos megjegyezni, hogy a sablonfájlok esetében világos olvasási, írási, törlési, módosítási engedélyeknek kell lenniük.

  • HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, Alapértelmezett: 60

    TokenPercentageOfPassword — lehetővé teszi a maszk százalékos megjelenésének megadását az új jelszóban. Alapértelmezés szerint az érték 60%. Például, ha a megadott százalékos megjelenés 60, és a sablonfájlban van egy sor, amely starwars, akkor a jelszó Starwars1! elutasításra kerül, míg a jelszó starwars1!DarthVader88 elfogadásra kerül, mivel a sor százalékos megjelenése a jelszóban kevesebb mint 60%.

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, Alapértelmezett: 0

    RequireCharClasses — lehetővé teszi a jelszavak követelményeinek kiterjesztését az ActiveDirectory alapértelmezett bonyolultsági követelményeivel szemben. A beépített bonyolultsági követelmények 5 különböző karaktertípusból 3 használatát követelik meg: nagybetű, kisbetű, szám, speciális karakter és Unicode. Ezzel a bejegyzéssel a rendszerleíró adatbázisban beállíthatja saját jelszó-bonyolultsági követelményeit. A megadható érték egy bitmintázat, ahol minden egyes bit a megfelelő hatvány.
    Tehát: 1 = kisbetű, 2 = nagybetű, 4 = szám, 8 = speciális karakter, és 16 = Unicode karakter.
    Ezért a 7-es érték esetén a követelmények a következők lesznek: "Nagybetű ÉS kisbetű ÉS szám", míg a 31-es érték esetén a követelmények a következők: "Nagybetű ÉS kisbetű ÉS szám ÉS speciális karakter ÉS Unicode karakter".
    Még kombinálni is lehet — 19 = "Nagybetű ÉS kisbetű ÉS Unicode karakter".

  • Hogyan tiltsuk le a standard jelszavakat, és költsük el mindenki undorát

A sablonfájlok létrehozásának néhány szabálya:

  • A sablonok nem kis- és nagybetű-érzékenyek. Ezért a starwars és StarWarS fájlban ugyanazt az értéket fogják jelenteni.
  • A fekete lista fájl újraolvasható 60 másodpercenként, így nyugodtan szerkesztheti, egy perc elteltével az új adatok már használatban lesznek a szűrő által.
  • Jelenleg nincs Unicode támogatás a sablonok alapján történő ellenőrzéshez. Ez azt jelenti, hogy a jelszavakban használhatók Unicode karakterek, de a szűrő nem fog működni. Ez nem kritikus, mivel nem láttam olyan felhasználókat, akik Unicode jelszavakat használnának.
  • Ajánlott, hogy ne legyenek üres sorok a sablonok fájljában. A hibakeresés során látható a hiba, amikor az adatokat betöltik a fájlból. A szűrő működik, de minek a felesleges kivételek?

A hibakereséshez az archívumban vannak batch fájlok, amelyek lehetővé teszik a napló készítését, majd például a Microsoft Message Analyzer segítségével történő elemzését.
Ez a jelszószűrő az Event Tracing for Windows-t használja.

Az ETW szolgáltató ennek a jelszószűrőnek — 07d83223-7594-4852-babc-784803fdf6c5. Például a következő rendszer újraindításakor be lehet állítani az események nyomon követését:
logman create trace autosessionPassFiltEx -o %SystemRootbugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

A nyomon követés a következő rendszerindítás után elindul. A leállításhoz:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Mindezek a parancsok a StartTracingAtBoot.cmd és StopTracingAtBoot.cmd.

egyszeri szűrőteszteléshez használhatja a StartTracing.cmd és StopTracing.cmd.
A könnyű olvasáshoz a debuggerek kimenetét az alábbiak szerint ajánljuk: Microsoft Message Analyzer az alábbi beállításokat használva:

Hogyan tiltsuk le a standard jelszavakat, és költsük el mindenki undorát

Hogyan tiltsuk le a standard jelszavakat, és költsük el mindenki undorát

A napló leállításakor és a folyamat elemzésekor Microsoft Message Analyzer minden körülbelül így néz ki:

Hogyan tiltsuk le a standard jelszavakat, és költsük el mindenki undorát

Itt látható, hogy megpróbálták beállítani a jelszót a felhasználó számára — erről a varázsszó SET a debuggban látható. A jelszót elutasították, mivel az jelen volt a sablonfájlban, és a bevitt szöveg több mint 30%-ban megfelelt.

Sikeres jelszóváltoztatás esetén a következő látható:

Hogyan tiltsuk le a standard jelszavakat, és költsük el mindenki undorát

Kellemetlenségeket okoz a végfelhasználó számára. A sablonfájl listájába tartozó jelszó megváltoztatási kísérlete során a képernyőn megjelenő üzenet nem különbözik az alapértelmezett üzenettől, ami a jelszópolitikai szabályok megsértésére utal.

Hogyan tiltsuk le a standard jelszavakat, és költsük el mindenki undorát

Ezért készüljön fel telefonhívásokra és kiabálásokra: „Megadtam a jelszót, ahogy kellene, de nem működik.”

Összegzés.

Ez a könyvtár lehetővé teszi az egyszerű vagy standard jelszavak használatának megtiltását az Active Directory domainben. Mondjunk nemet az olyan jelszavakra, mint a „P@ssw0rd”, „Qwerty123”, „ADm1n098”.
Igen, a felhasználók kétségtelenül még inkább meg fognak szeretni emiatt a biztonság iránti gondoskodás miatt és a nehezen megjegyezhető jelszavak kitalálásának szükségessége miatt. Talán több telefonhívásra és kérésre is számíthat, hogy segítsenek a jelszókkal. De a biztonságért fizetni kell.

Felhasznált források linkjei:
Cikk a Microsofttól az egyedi jelszószűrő könyvtárról: Password Filters
PassFiltEx: PassFiltEx
Link. Latest Release
Jelszólisták:
DanielMiessler listák: Link.
Wordlist a weakpass.com-tól: Link.
Wordlist a berzerk0 repo-ból: Link.
Microsoft Message Analyzer: Microsoft Message Analyzer segítségével történő elemzését.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster