Jelszóházirend létrehozása Linuxban

Szia ismét! Holnap kezdődnek az órák az új tanfolyami csoportban "Linux rendszergazda", ezzel kapcsolatban egy hasznos cikket adunk közre a témában.

Jelszóházirend létrehozása Linuxban

Az előző oktatóanyagban elmondtuk, hogyan kell használni pam_cracklibhogy bonyolultabbá tegyük a jelszavakat a rendszereken Red Hat 6 vagy CentOS. Red Hat 7-ben pam_pwquality kicserélték cracklib mint pam alapértelmezett modul a jelszavak ellenőrzéséhez. Modul pam_pwquality Ubuntu és CentOS, valamint sok más operációs rendszer is támogatott. Ez a modul megkönnyíti a jelszóházirendek létrehozását, amelyek biztosítják, hogy a felhasználók elfogadják a jelszóerősségi szabványokat.

Sokáig a jelszavak elterjedt megközelítése volt, hogy a felhasználót nagybetűk, kisbetűk, számok vagy egyéb szimbólumok használatára kényszerítsék. A jelszó összetettségére vonatkozó alapvető szabályokat az elmúlt tíz évben széles körben támogatták. Sok vita folyt arról, hogy ez jó gyakorlat-e vagy sem. A fő érv az ilyen összetett feltételek felállítása ellen az volt, hogy a felhasználók papírra írják fel a jelszavakat, és nem biztonságosan tárolják azokat.

Egy másik, a közelmúltban megkérdőjelezett irányelv arra kényszeríti a felhasználókat, hogy x naponta módosítsák jelszavaikat. Néhány tanulmány kimutatta, hogy ez a biztonságot is rontja.

E viták témájában számos cikk született, amelyek alátámasztják egyik vagy másik nézőpontot. De ebben a cikkben nem erről fogunk beszélni. Ez a cikk arról fog szólni, hogyan kell helyesen beállítani a jelszó összetettségét a biztonsági házirend kezelése helyett.

Jelszóházirend-beállítások

Az alábbiakban láthatja a jelszóházirend-beállításokat, és mindegyik rövid leírását. Sok közülük hasonló a modul paramétereihez cracklib. Ez a megközelítés megkönnyíti a házirendek áthelyezését a régi rendszerből.

  • difok – Az új jelszóban szereplő karakterek száma, amelyek NEM szerepelhetnek a régi jelszavában. (Alapértelmezett 5)
  • minlen – A jelszó minimális hossza. (Alapértelmezett 9)
  • hitelt – A nagybetűk használatának maximális száma (ha a paraméter > 0), vagy a minimálisan szükséges nagybetűk száma (ha a paraméter < 0). Az alapértelmezett az 1.
  • lhitel — A kisbetűs karakterek használatának maximális száma (ha a paraméter > 0), vagy a kisbetűk minimálisan szükséges száma (ha a paraméter < 0). Az alapértelmezett az 1.
  • hitel — A számjegyek használatának maximális száma (ha a paraméter > 0), vagy a minimálisan szükséges számjegyek száma (ha a paraméter < 0). Az alapértelmezett az 1.
  • hiszi — Az egyéb szimbólumok használatának maximális száma (ha a paraméter > 0), vagy az egyéb szimbólumok minimálisan szükséges száma (ha a paraméter < 0). Az alapértelmezett az 1.
  • minclass – Beállítja a szükséges osztályok számát. Az osztályok a fenti paramétereket tartalmazzák (nagybetűk, kisbetűk, számok, egyéb karakterek). Az alapértelmezett 0.
  • maxismétlés – Egy karakter ismétlődésének maximális száma a jelszóban. Az alapértelmezett 0.
  • max osztályismétlés — Egy osztályban az egymást követő karakterek maximális száma. Az alapértelmezett 0.
  • gecoscheck – Ellenőrzi, hogy a jelszó tartalmaz-e szavakat a felhasználó GECOS karakterláncaiból. (Felhasználói adatok, azaz valódi név, hely stb.) Az alapértelmezett érték 0 (kikapcsolva).
  • diktatúra – Menjünk a cracklib szótárakba.
  • rossz szavak – A jelszavakban tiltott szóközzel elválasztott szavak (Cégnév, „jelszó” szó stb.).

Ha a hitel fogalma furcsán hangzik, akkor rendben van, ez normális. Erről bővebben a következő részekben fogunk beszélni.

Jelszóházirend-konfiguráció

A konfigurációs fájlok szerkesztésének megkezdése előtt célszerű előre leírni egy alapvető jelszószabályzatot. Például a következő nehézségi szabályokat fogjuk használni:

  • A jelszónak legalább 15 karakter hosszúnak kell lennie.
  • Ugyanazt a karaktert nem szabad kétszer többször megismételni a jelszóban.
  • A karakterosztályok legfeljebb négyszer ismételhetők meg egy jelszóban.
  • A jelszónak tartalmaznia kell az egyes osztályokból származó karaktereket.
  • Az új jelszónak 5 új karakterből kell állnia a régihez képest.
  • GECOS ellenőrzés engedélyezése.
  • Tiltsa be a „jelszó, jelszó, szó, putorius” szavakat

Most, hogy elkészítettük az irányelvet, szerkeszthetjük a fájlt /etc/security/pwquality.confa jelszó bonyolultsági követelményeinek növelése érdekében. Az alábbiakban egy példafájl található megjegyzésekkel a jobb megértés érdekében.

# 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

Amint azt bizonyára észrevette, a fájlunk egyes paraméterei redundánsak. Például a paraméter minclass redundáns, mivel már legalább két karaktert használunk az osztályból mezőket használva [u,l,d,o]credit. A nem használható szavak listánk is redundáns, mivel 4-szer megtiltottuk bármely osztály ismétlését (a listánkban szereplő összes szót kisbetűkkel írjuk). Ezeket a lehetőségeket csak azért adtam meg, hogy bemutassam, hogyan kell őket használni a jelszóházirend konfigurálásához.
Miután létrehozta a házirendet, rákényszerítheti a felhasználókat, hogy a következő bejelentkezéskor módosítsák jelszavukat. a rendszer.

Egy másik furcsa dolog, amit észrevehetett, az az, hogy a mezők [u,l,d,o]credit negatív számot tartalmaznak. Ennek az az oka, hogy a 0-nál nagyobb vagy azzal egyenlő számok a jelszavában szereplő karakter használatát jelentik. Ha a mező negatív számot tartalmaz, az azt jelenti, hogy egy bizonyos mennyiségre van szükség.

Mik azok a hitelek?

Azért hívom őket kölcsönnek, mert ez a lehető legpontosabban kifejezi a céljukat. Ha a paraméter értéke nagyobb, mint 0, akkor a jelszó hosszához "x"-szel egyenlő számú "karakterkreditet" kell hozzáadnia. Például, ha az összes paraméter (u,l,d,o)credit 1-re állítva, és a jelszó szükséges hossza 6 volt, akkor 6 karakterre lesz szüksége a hosszúsági követelmény teljesítéséhez, mert minden nagybetű, kisbetű, számjegy vagy egyéb karakter egy jóváírást ad.

Ha telepíted dcredit 2-nél elméletileg használhatsz egy 9 karakter hosszú jelszót, és kaphatsz 2 karaktert a számokért, és akkor a jelszó hossza már 10 lehet.

Nézd meg ezt a példát. A jelszó hosszát 13-ra állítottam, a dcredit 2-re, minden mást 0-ra.

$ pwscore
 Thisistwelve
 Password quality check failed:
  The password is shorter than 13 characters

$ pwscore
 Th1sistwelve
 18

Az első ellenőrzésem nem sikerült, mert a jelszó 13 karakternél rövidebb volt. A következő alkalommal az „I” betűt „1”-re cseréltem, és két kreditet kaptam a számokért, amivel a jelszó 13-mal egyenlő lett.

Jelszó tesztelés

csomag libpwquality biztosítja a cikkben leírt funkciókat. Program is jár hozzá pwscore, amely a jelszó bonyolultságának ellenőrzésére szolgál. A fentieket használtuk a hitelek ellenőrzésére.
Hasznosság pwscore -től olvas stdin. Csak futtassa a segédprogramot, és írja be a jelszavát, hibaüzenetet vagy 0 és 100 közötti értéket jelenít meg.

A jelszó minőségi pontszáma a paraméterhez kapcsolódik minlen a konfigurációs fájlban. Általában az 50-nél kisebb pontszámot „normál jelszónak”, a feletti pontszámot pedig „erős jelszónak” tekintjük. Minden olyan jelszó, amely megfelel a minőségellenőrzésnek (különösen a kényszerellenőrzésnek cracklib). minlen akár alapértelmezés szerint brute force támadások.

Következtetés

beállítás pwquality – könnyű és egyszerű a kényelmetlenséghez képest cracklib közvetlen fájlszerkesztéssel pam. Ebben az útmutatóban mindent bemutatunk, amire szüksége lesz a jelszóházirend beállításához Red Hat 7, CentOS 7 és még Ubuntu rendszereken is. Szó esett a hitel fogalmáról is, amiről ritkán írnak részletesen, így ez a téma sokszor tisztázatlan maradt azok számára is, akik korábban nem találkoztak vele.

Forrás:

pwquality man oldal
pam_pwquality kézikönyvoldal
pwscore man oldal

Hasznos linkek:

Biztonságos jelszavak kiválasztása – Bruce Schneier
Lorrie Faith Cranor a CMU-n folytatott jelszótanulmányait tárgyalja
A hírhedt xkcd rajzfilm az Entropyról

Forrás: will.com

Hozzászólás