Bună din nou! Deja mâine încep cursurile într-un nou grup al cursului , așa că publicăm un articol util pe această temă.

În tutorialul precedent, am discutat despre utilizarea pam_cracklib, pentru a complica parolele în sistemele sau CentOS. În Red Hat 7 pam_pwquality a înlocuit cracklib ca modul pam implicit pentru verificarea parolelor. Modulul pam_pwquality este, de asemenea, suportat în Ubuntu și CentOS, precum și în multe alte sisteme de operare. Acest modul facilitează crearea politicilor de parole, pentru a ne asigura că utilizatorii respectă standardele tale de complexitate a parolelor.
O lungă perioadă de timp, abordarea comună pentru parole a fost aceea de a-i obliga pe utilizatori să folosească atât caractere mari, cât și mici, cifre sau alte simboluri. Aceste reguli de bază de complexitate a parolelor sunt active promovate în ultimii zece ani. Au fost numeroase discuții despre cât de bună este această practică sau nu. Principalul argument împotriva impunerii acestor condiții dure a fost faptul că utilizatorii își scriu parolele pe hârtie și le stochează nesigur.
O altă politică, care a fost recent contestată, obligă utilizatorii să-și schimbe parolele la fiecare x zile. Au fost realizate câteva studii care au arătat că aceasta dăunează, de asemenea, securității.
Despre aceste discuții au fost scrise numeroase articole, care au justificat fiecare opinie. Dar aceasta nu este ceea ce vom discuta în acest articol. Acest articol va vorbi despre cum să stabilim corect complexitatea parolei, nu despre gestionarea politicii de securitate.
Parametrii politicii de parole
Mai jos veți vedea parametrii politicii de parole și o scurtă descriere a fiecăruia dintre ei. Mulți dintre ei sunt similari cu parametrii din modulul cracklib. Această abordare facilitează portarea politicilor tale din sistemul vechi.
- difok – Numărul de caractere din noua ta parolă care NU trebuie să fie prezente în vechea parolă. (Implicit 5)
- minlen – Lungimea minimă a parolei. (Implicit 9)
- ucredit – Numărul maxim de credite pentru utilizarea caracterelor mari (dacă parametrul > 0), sau numărul minim necesar de caractere mari (dacă parametrul < 0). Implicit 1.
- lcredit — Numărul maxim de credite pentru utilizarea caracterelor cu litere mici (dacă parametrul este > 0) sau numărul minim necesar de caractere cu litere mici (dacă parametrul este < 0). Implicit 1.
- dcredit — Numărul maxim de credite pentru utilizarea cifrelor (dacă parametrul este > 0) sau numărul minim necesar de cifre (dacă parametrul este < 0). Implicit 1.
- ocredit — Numărul maxim de credite pentru utilizarea altor caractere (dacă parametrul este > 0) sau numărul minim necesar de alte caractere (dacă parametrul este < 0). Implicit 1.
- minclass – Stabilește numărul de clase necesare. Clasele includ parametrii menționați anterior (caractere cu litere mari, litere mici, cifre, alte caractere). Implicit 0.
- maxrepeat – Numărul maxim de repetări al unui caracter în parolă. Implicit 0.
- maxclassrepeat — Numărul maxim de caractere consecutive dintr-o clasă. Implicit 0.
- gecoscheck – Verifică dacă parola conține vreo din cuvintele din liniile GECOS ale utilizatorului. (Informații despre utilizator, adică numele real, locația etc.) Implicit 0 (dezactivat).
- dictpath – Calea către dicționarele cracklib.
- badwords – Cuvinte interzise în parole (numele companiei, cuvântul „parolă” etc.).
Dacă conceptul de credite sună ciudat, nu este nicio problemă, este normal. Vom discuta acest lucru mai în detaliu în următoarele secțiuni.
Configurarea politicii parolilor
Înainte de a începe să editezi fișierele de configurare, este o bună practică să notezi în prealabil politica de bază a parolilor. De exemplu, vom folosi următoarele reguli de complexitate:
- Parola trebuie să aibă o lungime minimă de 15 caractere.
- În parolă, același caracter nu trebuie să se repete de mai mult de două ori.
- În parolă, clasele de caractere pot fi repetate de până la patru ori.
- Parola trebuie să conțină caractere din fiecare clasă.
- Noua parolă trebuie să aibă 5 caractere noi față de cea veche.
- Activare verificării GECOS.
- Interzice cuvintele „password, pass, word, putorius”
Acum, odată ce am expus politica, putem edita fișierul /etc/security/pwquality.conf, pentru a întări cerințele de complexitate ale parolei. Mai jos este un exemplu de fișier cu comentarii pentru o mai bună înțelegere.
# 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 putoriusAșa cum ai observat, unele parametrii din fișierul nostru sunt redundanți. De exemplu, parametrul minclass este redundant, deoarece deja folosim cel puțin doi simboli din clasă folosind câmpurile [u,l,d,o]credit. Lista noastră de cuvinte interzise este de asemenea redundantă, deoarece am interzis repetarea oricărei clase de 4 ori (toate cuvintele din lista noastră sunt scrise cu litere mici). Am inclus aceste opțiuni doar pentru a demonstra cum să le folosești pentru a personaliza politica de parole.
După ce ți-ai creat politica, poți forța utilizatorii să-și schimbe parolele la următoarea conectare în .
Un alt lucru ciudat pe care l-ai putea observa este că câmpurile [u,l,d,o]credit conțin un număr negativ. Acest lucru se datorează faptului că numerele mai mari sau egale cu 0 vor da credit pentru utilizarea simbolului în parola ta. Dacă un câmp conține un număr negativ, înseamnă că este necesar un anumit număr.
Ce sunt creditele (credit)?
Le numesc credite, deoarece exprimă cel mai bine scopul lor. Dacă valoarea parametrului este mai mare de 0, adaugi un număr de «credite pentru simboluri» egal cu «x» la lungimea parolei. De exemplu, dacă toate parametrii (u,l,d,o)credit sunt setați la 1, iar lungimea necesară a parolei a fost 6, atunci vei avea nevoie de 6 simboluri pentru a satisface cerința de lungime, deoarece fiecare simbol cu literă mare, literă mică, cifră sau alt simbol îți va oferi un credit.
Dacă setezi dcredit la 2, vei putea teoretic să folosești o parolă de 9 simboluri și să obții 2 credite pentru cifre, iar astfel lungimea parolei poate fi deja 10.
Uită-te la acest exemplu. Am setat lungimea parolei la 13, am setat dcredit la 2, iar toate celelalte la 0.
$ pwscore
Thisistwelve
Verificarea calității parolei a eșuat:
Parola este mai scurtă de 13 caractere
$ pwscore
Th1sistwelve
18Prima mea verificare a eșuat, deoarece lungimea parolei era mai mică de 13 simboluri. Data viitoare am schimbat litera “I” cu cifra “1” și am obținut două credite pentru cifre, ceea ce a echivalat parola la 13.
Testarea parolei
Pachet libpwquality oferă funcționalitatea descrisă în articol. De asemenea, vine cu programul pwscore, care este destinat verificării complexității parolei. L-am folosit mai sus pentru a verifica creditele.
Utilitarul pwscore citesc din . Pur și simplu rulează utilitarul și scrie parola ta, acesta va returna o eroare sau o valoare de la 0 la 100.
Indicatorul calității parolei este corelat cu parametrul minlen din fișierul de configurare. În general, un indicator sub 50 este considerat „parolă normală”, iar unul deasupra – „parolă puternică”. Orice parolă care trece testele de calitate (în special testul forțat cracklib) trebuie să reziste atacurilor de tip dicționar, iar o parolă cu un indicator mai mare de 50 cu setarea minlen implicit ar trebui să reziste chiar și atacurilor brute. atacuri.
Concluzie
Configurare pwquality – este simplă și ușoară în comparație cu neplăcerile utilizării cracklib editării directe a fișierelor. pamÎn acest ghid, am discutat despre tot ce aveți nevoie pentru a configura politicile parolelor în Red Hat 7, CentOS 7 și chiar în sistemele Ubuntu. De asemenea, am vorbit despre conceptul de credite, care rar este detaliat, de aceea acest subiect a rămas adesea neclar pentru cei care nu s-au întâlnit anterior cu el.
Surse:
Linkuri utile:
Sursa: habr.com
