Stvaranje pravila za lozinku u Linuxu

Bok opet! Nastava u novoj grupi tečajeva počinje sutra "Linux administrator", u tom smislu objavljujemo koristan članak na tu temu.

Stvaranje pravila za lozinku u Linuxu

U prethodnom vodiču rekli smo vam kako koristiti pam_cracklibkako bi lozinke na sustavima bile složenije Crveni šešir 6 ili CentOS. U Red Hatu 7 pam_pwquality zamijenjen cracklib kao pam zadani modul za provjeru lozinki. Modul pam_pwquality također podržan na Ubuntu i CentOS, kao i mnogim drugim operativnim sustavima. Ovaj modul olakšava stvaranje pravila zaporke kako bi se osiguralo da korisnici prihvaćaju vaše standarde jačine zaporke.

Dugo je vremena uobičajeni pristup lozinkama bio prisiljavanje korisnika da koristi velika, mala slova, brojeve ili druge simbole. Ova osnovna pravila za složenost lozinki naširoko su promovirana u posljednjih deset godina. Bilo je dosta rasprava o tome je li to dobra praksa ili nije. Glavni argument protiv postavljanja tako složenih uvjeta bio je da korisnici zapisuju lozinke na papiriće i čuvaju ih na nesigurno mjesto.

Druga politika koja je nedavno dovedena u pitanje prisiljava korisnike da mijenjaju svoje lozinke svakih x dana. Bilo je nekih studija koje su pokazale da je to također štetno za sigurnost.

O temi ovih rasprava napisano je mnogo članaka koji potkrepljuju jedno ili drugo gledište. Ali to nije ono o čemu ćemo raspravljati u ovom članku. Ovaj će članak govoriti o tome kako ispravno postaviti složenost lozinke, a ne upravljati sigurnosnom politikom.

Postavke pravila za lozinku

Ispod ćete vidjeti opcije politike lozinki i kratak opis svake od njih. Mnogi od njih slični su parametrima u modulu cracklib. Ovaj pristup olakšava prijenos vaših pravila iz naslijeđenog sustava.

  • difok – Broj znakova u vašoj novoj lozinci koji NE bi trebali biti prisutni u vašoj staroj lozinci. (zadano 5)
  • minlen – Minimalna duljina lozinke. (zadano 9)
  • ucredit – Maksimalan broj kredita za korištenje velikih slova (ako je parametar > 0) ili minimalni potreban broj velikih slova (ako je parametar < 0). Zadano je 1.
  • lkredit — Maksimalan broj kredita za korištenje malih slova (ako je parametar > 0) ili najmanji potreban broj malih slova (ako je parametar < 0). Zadano je 1.
  • dcredit — Maksimalni broj kredita za korištenje znamenki (ako je parametar > 0) ili najmanji potreban broj znamenki (ako je parametar < 0). Zadano je 1.
  • okreditirati — Maksimalan broj kredita za korištenje drugih simbola (ako je parametar > 0) ili najmanji potreban broj drugih simbola (ako je parametar < 0). Zadano je 1.
  • minclass – Postavlja broj potrebnih razreda. Klase uključuju gore navedene parametre (velika slova, mala slova, brojeve, druge znakove). Zadana vrijednost je 0.
  • maxrepeat – Maksimalni broj puta koji se znak može ponoviti u lozinci. Zadana vrijednost je 0.
  • maxclassrepeat — Najveći broj uzastopnih znakova u jednoj klasi. Zadana vrijednost je 0.
  • gecoscheck – Provjerava da li lozinka sadrži riječi iz GECOS nizova korisnika. (Podaci o korisniku, tj. pravo ime, lokacija, itd.) Zadana vrijednost je 0 (isključeno).
  • dictpath – Idemo na cracklib rječnike.
  • loše riječi – Riječi odvojene razmakom koje su zabranjene u lozinkama (naziv tvrtke, riječ „lozinka“ itd.).

Ako koncept kredita zvuči čudno, u redu je, to je normalno. O tome ćemo više govoriti u sljedećim odjeljcima.

Konfiguracija pravila za lozinku

Prije nego što počnete uređivati ​​konfiguracijske datoteke, dobro je unaprijed zapisati osnovna pravila za lozinke. Na primjer, koristit ćemo sljedeća pravila težine:

  • Lozinka mora imati minimalnu duljinu od 15 znakova.
  • Isti znak ne smije se ponoviti više od dva puta u lozinci.
  • Klase znakova mogu se ponoviti do četiri puta u lozinci.
  • Lozinka mora sadržavati znakove iz svake klase.
  • Nova lozinka mora imati 5 novih znakova u odnosu na staru.
  • Omogući GECOS provjeru.
  • Zabraniti riječi "password, pass, word, putorius"

Sada kada smo postavili pravila, možemo urediti datoteku /etc/security/pwquality.confpovećati zahtjeve za složenošću lozinke. Ispod je primjer datoteke s komentarima za bolje razumijevanje.

# 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

Kao što ste možda primijetili, neki parametri u našoj datoteci su suvišni. Na primjer, parametar minclass je suvišan budući da već koristimo najmanje dva znaka iz klase koja koristi polja [u,l,d,o]credit. Naš popis riječi koje se ne mogu koristiti također je suvišan, jer smo zabranili ponavljanje bilo kojeg razreda 4 puta (sve riječi na našem popisu napisane su malim slovima). Uključio sam ove opcije samo da pokažem kako ih koristiti za konfiguriranje pravila zaporke.
Nakon što stvorite svoju politiku, možete prisiliti korisnike da promijene svoje lozinke sljedeći put kada se prijave. sustav.

Još jedna čudna stvar koju ste možda primijetili je da polja [u,l,d,o]credit sadrže negativan broj. To je zato što će brojevi veći ili jednaki 0 ​​dati kredit za korištenje znaka u vašoj zaporci. Ako polje sadrži negativan broj, to znači da je potrebna određena količina.

Što su krediti?

Zovem ih zajmovima jer to najtočnije prenosi njihovu svrhu. Ako je vrijednost parametra veća od 0, dodajete broj "kredita znakova" jednak "x" duljini lozinke. Na primjer, ako su svi parametri (u,l,d,o)credit postavljen na 1, a potrebna duljina lozinke bila je 6, tada će vam trebati 6 znakova da zadovoljite zahtjev duljine jer će vam svako veliko, malo slovo, znamenka ili drugi znak dati jedan kredit.

Ako instalirate dcredit na 2, teoretski biste mogli koristiti lozinku koja ima 9 znakova i dobiti kredite od 2 znaka za brojeve, a tada bi duljina lozinke već mogla biti 10.

Pogledajte ovaj primjer. Postavio sam duljinu lozinke na 13, dcredit na 2, a sve ostalo na 0.

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

$ pwscore
 Th1sistwelve
 18

Moja prva provjera nije uspjela jer je lozinka bila manja od 13 znakova. Sljedeći put sam promijenio slovo “I” u broj “1” i dobio dva kredita za brojeve, što je lozinku učinilo jednakom 13.

Testiranje lozinke

paket libpwquality pruža funkcionalnost opisanu u članku. Uz njega dolazi i program pwscore, koji je dizajniran za provjeru složenosti lozinke. Koristili smo ga gore za provjeru kredita.
Korisnost pwscore čita iz stdin. Samo pokrenite uslužni program i napišite svoju lozinku, prikazat će pogrešku ili vrijednost od 0 do 100.

Ocjena kvalitete zaporke povezana je s parametrom minlen u konfiguracijskoj datoteci. Općenito, rezultat manji od 50 smatra se "normalnom lozinkom", a rezultat iznad smatra se "jakom lozinkom". Svaka lozinka koja prolazi provjere kvalitete (posebno prisilnu provjeru cracklib) mora izdržati napade rječnikom i lozinku s rezultatom iznad 50 s postavkom minlen čak i standardno brute force napadi.

Zaključak

podešavanje pwquality – lako je i jednostavno u usporedbi s neugodnošću korištenja cracklib s izravnim uređivanjem datoteka pam. U ovom smo vodiču pokrili sve što će vam trebati prilikom postavljanja pravila zaporke na sustavima Red Hat 7, CentOS 7, pa čak i Ubuntu. Razgovarali smo i o pojmu kredita, o kojem se rijetko detaljnije piše, pa je ova tema često ostajala nejasna onima koji se s njom ranije nisu susreli.

Izvori:

pwquality man stranica
pam_pwquality man stranica
pwscore man stranica

Korisni linkovi:

Odabir sigurnih lozinki – Bruce Schneier
Lorrie Faith Cranor govori o svojim studijama lozinki na CMU-u
Zloglasni xkcd crtić na Entropiju

Izvor: www.habr.com

Dodajte komentar