Jelszópolitika létrehozása Linux alatt

Üdvözlet ismét! Holnaptól új csoporttal kezdődnek a kurzusok „Linux Adminisztrátor”, ezzel kapcsolatban egy hasznos cikket teszünk közzé a témáról.

Jelszópolitika létrehozása Linux alatt

Az előző útmutatóban arról beszéltünk, hogyan lehet használni pam_cracklib, hogy bonyolultabbá tegyük a jelszavakat a rendszerekben, Red Hat 6 vagy CentOS. A Red Hat 7-ben, a pam_pwquality kiváltotta a cracklib mint pam modult, mint az alapértelmezett jelszóellenőrző. Ez a modul a pam_pwquality továbbá támogatott az Ubuntu és CentOS rendszerekben, valamint sok más operációs rendszerben is. Ez a modul megkönnyíti a jelszópolitikák létrehozását, hogy biztosítsa, hogy a felhasználók elfogadják a jelszó összetettségére vonatkozó előírásaikat.

Hosszú ideig a jelszavakkal kapcsolatos szokásos megközelítés az volt, hogy a felhasználókat arra kényszerítjük, hogy használjanak nagy- és kisbetűket, számokat vagy egyéb karaktereket. Ezen alapvető jelszókérelmek aktívan terjednek az elmúlt tíz évben. Számos vita folyt arról, hogy ez-e a jó gyakorlat vagy sem. A legfőbb érv a szigorúbb követelmények ellen az volt, hogy a felhasználók papíron jegyzik le a jelszavaikat és nem biztonságosan tárolják őket.

Egy másik politika, amelyet nemrégiben megkérdőjeleztek, arra kényszeríti a felhasználókat, hogy x naponta változtassák meg a jelszavaikat. Néhány kutatás is készült, amely megmutatta, hogy ez szintén kárt okozhat a biztonságban.

Ezekről a vitákról számos cikket írtak, amelyek különböző nézőpontokat indokoltak. De ez nem az, amit ebben a cikkben meg fogunk vitatni. Ez a cikk arról fog szólni, hogyan állítsuk be helyesen a jelszó összetettségét, nem pedig a biztonsági politika kezeléséről.

A jelszópolitika paraméterei

Az alábbiakban láthatja a jelszópolitika paramétereit és azok rövid leírását. Sok közülük hasonló a cracklibmodule paramétereihez. Ez a megközelítés megkönnyíti a politikák átvitelét a régi rendszerből.

  • difok – Az új jelszavában lévő karakterek száma, amelyek NEM szerepelhetnek a régi jelszavában. (Alapértelmezés szerint 5)
  • minlen – A jelszó minimális hossza. (Alapértelmezés szerint 9)
  • ucredit – A nagybetűs karakterek használatáért maximálisan elérhető kreditek száma (ha a paraméter > 0), vagy a nagybetűs karakterek minimálisan megkívánt száma (ha a paraméter < 0). Alapértelmezett érték: 1.
  • lcredit — A kis- és nagybetűs karakterek használatáért járó maximális kredit száma (ha a paraméter > 0) vagy a kisbetűs karakterek minimális szükséges száma (ha a paraméter < 0). Alapértelmezett érték: 1.
  • dcredit — A számok használatáért járó maximális kredit száma (ha a paraméter > 0) vagy a számok minimális szükséges száma (ha a paraméter < 0). Alapértelmezett érték: 1.
  • ocredit — A többi karakter használatáért járó maximális kredit száma (ha a paraméter > 0) vagy a minimális szükséges számuk (ha a paraméter < 0). Alapértelmezett érték: 1.
  • minclass – A szükséges osztályok számának beállítása. Az osztályok tartalmazzák a fent említett paramétereket (nagybetűs, kisbetűs karakterek, számok, egyéb karakterek). Alapértelmezett érték: 0.
  • maxrepeat – A karakterek maximális ismétlésének száma a jelszóban. Alapértelmezett érték: 0.
  • maxclassrepeat — A maximális egymást követő karakterek száma egy osztályban. Alapértelmezett érték: 0.
  • gecoscheck – Ellenőrzi, hogy a jelszó tartalmaz-e bármilyen szót a felhasználó GECOS sorából. (Felhasználói információ, pl. teljes név, tartózkodási hely stb.) Alapértelmezett érték: 0 (kikapcsolva).
  • dictpath – A cracklib szótárak elérési útja.
  • badwords – A jelszavakban tiltottnak számító, szóközökkel elválasztott szavak (cégnév, a "jelszó" szó stb.).

Ha a kredit fogalma furcsán hangzik, ne aggódj, ez normális. Részletesebben beszélünk róla a következő fejezetekben.

Jelszópolitika konfigurálása

Mielőtt elkezdenénk a konfigurációs fájlok szerkesztését, jó gyakorlat előre írásban rögzíteni az alapvető jelszópolitikát. Például a következő bonyolultsági szabályokat fogjuk használni:

  • A jelszónak legalább 15 karakter hosszúnak kell lennie.
  • A jelszóban ugyanaz a karakter legfeljebb kétszer ismétlődhet.
  • A jelszóban az osztályok akár négyszer is ismétlődhetnek.
  • A jelszónak tartalmaznia kell karaktereket minden osztályból.
  • Az új jelszónak 5 új karaktert kell tartalmaznia a régivel összehasonlítva.
  • A GECOS ellenőrzés engedélyezése.
  • A 'password', 'pass', 'word', 'putorius' szavak tilalma.

Most, hogy megfogalmaztuk a politikát, szerkeszthetjük a fájlt /etc/security/pwquality.conf, hogy fokozzuk a jelszó bonyolultsági követelményeit. Itt van egy példa a fejlesztettebb megértés érdekében kommentárokkal ellátott fájlra.

# Make sure 5 characters in new password are new compared to old password
difok = 5
# Set the minimum length acceptable for new passwords
minlen = 15
# Require at least 2 digits
dcredit = -2
# Require at least 2 upper case letters
ucredit = -2
# Require at least 2 lower case letters
lcredit = -2
# Require at least 2 special characters (non-alphanumeric)
ocredit = -2
# Require a character from every class (upper, lower, digit, other)
minclass = 4
# Only allow each character to be repeated twice, avoid things like LLL
maxrepeat = 2
# Only allow a class to be repeated 4 times
maxclassrepeat = 4
# Check user information (Real name, etc) to ensure it is not used in password
gecoscheck = 1
# Leave default dictionary path
dictpath =
# Forbid the following words in passwords
badwords = password pass word putorius

Mint láthatod, néhány paraméter a fájlunkban redundáns. Például a paraméter minclass túlzó, mivel legalább két karaktert használunk a kategóriából, ha mezőt alkalmazunk [u,l,d,o]credit. A tiltott szólistánk is túlzó, mivel megtiltottuk bármelyik kategória 4 alkalommal való ismétlését (minden szó a listán kisbetűs karakterekből áll). Ezen paramétereket azért tartottam meg, hogy bemutassam, hogyan használhatók a jelszópolitika testreszabására.
Miután létrehozta a politikáját, kötelezheti a felhasználókat, hogy változtassák meg a jelszavaikat a következő bejelentkezéskor a rendszert.

Egy másik furcsa dolog, amit észrevehetett, az, hogy a mezők [u,l,d,o]credit negatív számot tartalmaznak. Ez azért van, mert a 0 vagy annál nagyobb számok hiteleket adnak a jelszóban használt karakterekhez. Ha egy mező negatív számot tartalmaz, az azt jelenti, hogy egy adott mennyiség szükséges.

Mi az a kredit (credit)?

Krediteknek nevezem őket, mivel ez a legpontosabban tükrözi a rendeltetésüket. Ha a paraméter értéke nagyobb 0-nál, „x”-szel megnöveli a jelszó hosszát „karakterhitelek” formájában. Például, ha minden paraméter (u,l,d,o)credit 1-re van állítva, és a jelszó hossza 6-ra van szükség, akkor 6 karaktert kell használnia a hosszúsági követelmény teljesítéséhez, mivel minden nagybetűs, kisbetűs, szám vagy más karakter 1 hitelt ad.

Ha 2-t állít be, elméletileg 9 karakter hosszú jelszót használhat, és 2 hitelt kap a számokért, így a jelszó hossza már lehet 10. dcredit Nézze meg ezt a példát. A jelszó hosszát 13-ra állítottam, a dcredit-et 2-re, minden mást pedig 0-ra.

$ pwscore Thisistwelve A jelszó minőségi ellenőrzése nem sikerült: A jelszó rövidebb, mint 13 karakter$ pwscore Th1sistwelve 18

Az első ellenőrzésem megbukott, mivel a jelszó hossza kevesebb volt, mint 13 karakter. Legközelebb a "I" betűt egy "1" számra cseréltem, és két hitelt kaptam a számokért, így a jelszó hossza 13 lett.

Jelszó tesztelése

libpwquality

Csomag biztosítja a cikkben leírt funkciót. Ezzel együtt érkezik a program pwscore , amely a jelszó bonyolultságának ellenőrzésére szolgál. Ezt használtuk felül, a hitelek ellenőrzésére.a következőkből olvas:
Eszköz , amely a jelszó bonyolultságának ellenőrzésére szolgál. Ezt használtuk felül, a hitelek ellenőrzésére. . Csak indítsa el az eszközt, és írja be a jelszavát, hibát vagy 0 és 100 közötti értéket ad vissza. . Ezek a 0, 1 és 2 számokat kapják. De most minket csakA jelszó minőségi mutatója a paraméterrel van összefüggésben.

A jelszó minőségi mutató a paraméterrel arányos minlen A konfigurációs fájlban. Általában, ha az érték 50 alatt van, azt „normál jelszónak”, a felette levőt pedig „erős jelszónak” tekintjük. Bármely jelszónak, amely teljesíti a minőségi követelményeket (különösen a kötelező ellenőrzést cracklib) ki kell állnia a szótári támadásokkal, míg a 50-nél magasabb értékű jelszó a beállítással minlen alapértelmezés szerint még brute force támadásoknak.

Zárás

Beállítás pwquality – ez könnyű és egyszerű, összehasonlítva a fájlok közvetlen szerkesztésével járó kényelmetlenségekkel. cracklib Ebben az útmutatóban mindent áttekintettünk, amire szüksége lesz a jelszópolitika beállításához a Red Hat 7, CentOS 7 és még az Ubuntu rendszerekben is. Beszéltünk a kreditek koncepciójáról is, amiről ritkán írnak részletesen, ezért ez a téma gyakran homályos marad azok számára, akik korábban nem találkoztak vele. pampwquality kézikönyvoldal

Források:

pam_pwquality kézikönyvoldal
pwscore kézikönyvoldal
Biztonságos jelszavak kiválasztása – Bruce Schneier

Hasznos linkek:

Lorrie Faith Cranor beszél a jelszókutatásairól a CMU-n
Az hírhedt xkcd karikatúra az entrópiáról
🥇Jelszópolitika létrehozása Linuxban | ProHoster

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