Ustvarjanje pravilnika o geslu v sistemu Linux

Pozdravljeni ponovno! Jutri se začne pouk v novi tečajni skupini "Linux Administrator", v zvezi s tem objavljamo uporaben članek na to temo.

Ustvarjanje pravilnika o geslu v sistemu Linux

V prejšnji vadnici smo vam povedali, kako uporabljati pam_cracklibnarediti gesla v sistemih bolj zapletena Rdeči klobuk 6 ali CentOS. V Red Hat 7 pam_pwquality zamenjano cracklib kot pam privzeti modul za preverjanje gesel. Modul pam_pwquality podprt tudi v Ubuntuju in CentOS-u ter mnogih drugih operacijskih sistemih. Ta modul olajša ustvarjanje politik gesel, s katerimi zagotovite, da uporabniki sprejmejo vaše standarde glede moči gesla.

Dolgo časa je bil običajen pristop k geslom prisiliti uporabnika k uporabi velikih, malih črk, številk ali drugih simbolov. Ta osnovna pravila za zapletenost gesel so bila v zadnjih desetih letih široko promovirana. Bilo je veliko razprav o tem, ali je to dobra praksa ali ne. Glavni argument proti postavljanju tako zapletenih pogojev je bil, da si uporabniki gesla zapisujejo na liste papirja in jih nevarno hranijo.

Druga politika, ki je bila pred kratkim postavljena pod vprašaj, sili uporabnike v menjavo gesel vsakih x dni. Nekaj ​​študij je pokazalo, da je to tudi škodljivo za varnost.

Na temo teh razprav je bilo napisanih veliko člankov, ki utemeljujejo eno ali drugo stališče. Vendar v tem članku ne bomo razpravljali o tem. Ta članek bo govoril o tem, kako pravilno nastaviti zapletenost gesla, namesto o upravljanju varnostne politike.

Nastavitve pravilnika o geslu

Spodaj boste videli možnosti politike gesel in kratek opis vsake. Veliko jih je podobnih parametrom v modulu cracklib. Ta pristop olajša prenos vaših pravilnikov iz podedovanega sistema.

  • difok – Število znakov v vašem novem geslu, ki NE smejo biti v vašem starem geslu. (Privzeto 5)
  • minlen – Najmanjša dolžina gesla. (Privzeto 9)
  • ucredit – Največje število kreditov za uporabo velikih črk (če je parameter > 0) ali najmanjše zahtevano število velikih črk (če je parameter < 0). Privzeto je 1.
  • lkredit — Največje število kreditov za uporabo malih črk (če je parameter > 0) ali najmanjše zahtevano število malih črk (če je parameter < 0). Privzeto je 1.
  • dcredit — Največje število kreditov za uporabo števk (če je parameter > 0) ali najmanjše zahtevano število števk (če je parameter < 0). Privzeto je 1.
  • ocredit — Največje število kreditov za uporabo drugih simbolov (če je parameter > 0) ali najmanjše zahtevano število drugih simbolov (če je parameter < 0). Privzeto je 1.
  • minclass – Nastavi število zahtevanih razredov. Razredi vključujejo zgornje parametre (velike črke, male črke, številke, druge znake). Privzeto je 0.
  • maxrepeat – Največje število ponovitev znaka v geslu. Privzeto je 0.
  • maxclassrepeat — Največje število zaporednih znakov v enem razredu. Privzeto je 0.
  • gecoscheck – Preveri, ali geslo vsebuje besede iz uporabnikovih nizov GECOS. (Podatki o uporabniku, tj. pravo ime, lokacija itd.) Privzeta vrednost je 0 (izklopljeno).
  • dictpath – Pojdimo na slovarje cracklib.
  • grde besede – Besede, ločene s presledki, ki so prepovedane v geslih (ime podjetja, beseda »geslo« itd.).

Če se koncept posojil sliši nenavadno, je v redu, to je normalno. O tem bomo več govorili v naslednjih razdelkih.

Konfiguracija pravilnika o geslu

Preden začnete urejati konfiguracijske datoteke, je dobro, da vnaprej zapišete osnovno politiko gesel. Na primer, uporabili bomo naslednja težavnostna pravila:

  • Geslo mora imeti najmanj 15 znakov.
  • Isti znak se v geslu ne sme ponoviti več kot dvakrat.
  • Razredi znakov se lahko v geslu ponovijo do štirikrat.
  • Geslo mora vsebovati znake iz vsakega razreda.
  • Novo geslo mora imeti 5 novih znakov v primerjavi s starim.
  • Omogoči preverjanje GECOS.
  • Prepovedati besede "geslo, prehod, beseda, putorius"

Zdaj, ko smo določili pravilnik, lahko uredimo datoteko /etc/security/pwquality.confpovečati zahteve glede zapletenosti gesel. Spodaj je primer datoteke s komentarji za boljše razumevanje.

# 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

Kot ste morda opazili, so nekateri parametri v naši datoteki odvečni. Na primer, parameter minclass je odveč, saj že uporabljamo vsaj dva znaka iz razreda, ki uporablja polja [u,l,d,o]credit. Tudi naš seznam besed, ki jih ni mogoče uporabiti, je odvečen, saj smo prepovedali ponavljanje katerega koli razreda 4-krat (vse besede na našem seznamu so napisane z malimi črkami). Te možnosti sem vključil samo zato, da pokažem, kako jih uporabiti za konfiguracijo pravilnika o geslu.
Ko ustvarite svojo politiko, lahko uporabnike prisilite, da spremenijo svoja gesla, ko se naslednjič prijavijo. sistema.

Druga čudna stvar, ki ste jo morda opazili, je, da polja [u,l,d,o]credit vsebujejo negativno število. To je zato, ker bodo številke, večje ali enake 0, dale zasluge za uporabo znaka v vašem geslu. Če polje vsebuje negativno število, to pomeni, da je potrebna določena količina.

Kaj so posojila?

Imenujem jih posojila, ker tako čim bolj natančno izražajo njihov namen. Če je vrednost parametra večja od 0, dolžini gesla dodate število "kreditov znakov", ki je enako "x". Na primer, če so vsi parametri (u,l,d,o)credit nastavljeno na 1 in zahtevana dolžina gesla je bila 6, potem boste potrebovali 6 znakov, da boste izpolnili zahtevo po dolžini, ker vam bo vsaka velika, mala črka, številka ali drug znak prinesel en kredit.

Če namestite dcredit pri 2 bi teoretično lahko uporabili geslo, ki je dolgo 9 znakov, in bi dobili 2 znaka kredita za številke, potem pa bi lahko bila dolžina gesla že 10.

Poglej ta primer. Dolžino gesla sem nastavil na 13, dcredit na 2 in vse ostalo na 0.

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

$ pwscore
 Th1sistwelve
 18

Moje prvo preverjanje ni uspelo, ker je bilo geslo krajše od 13 znakov. Naslednjič sem spremenil črko "I" v številko "1" in prejel dva kredita za številke, zaradi česar je bilo geslo enako 13.

Testiranje gesel

Paket libpwquality zagotavlja funkcionalnost, opisano v članku. Priložen je tudi program pwscore, ki je namenjen preverjanju kompleksnosti gesel. Uporabili smo ga zgoraj za preverjanje posojil.
Uporabnost pwscore bere iz stdin. Samo zaženite pripomoček in napišite svoje geslo, prikazalo se bo napaka ali vrednost od 0 do 100.

Ocena kakovosti gesla je povezana s parametrom minlen v konfiguracijski datoteki. Na splošno se rezultat, manjši od 50, šteje za "običajno geslo", rezultat nad njim pa za "močno geslo". Vsako geslo, ki prestane preverjanje kakovosti (zlasti prisilno preverjanje cracklib) mora prenesti napade iz slovarja in geslo z oceno nad 50 z nastavitvijo minlen tudi privzeto brute force napadi.

Zaključek

prilagoditev pwquality – je enostavno in preprosto v primerjavi z neprijetnostmi uporabe cracklib z neposrednim urejanjem datotek pam. V tem priročniku smo pokrili vse, kar boste potrebovali pri nastavitvi pravilnikov o geslih v sistemih Red Hat 7, CentOS 7 in celo Ubuntu. Pogovarjali smo se tudi o pojmu posojila, o katerem se redko podrobneje piše, zato je ta tema pogosto ostala nejasna tistim, ki se z njo še niso srečali.

Vir:

stran priročnika pwquality
stran priročnika pam_pwquality
stran s priročnikom pwscore

Koristne povezave:

Izbira varnih gesel – Bruce Schneier
Lorrie Faith Cranor razpravlja o svojem študiju gesel na CMU
Risanka The Infamous xkcd o Entropiji

Vir: www.habr.com

Dodaj komentar