Vytvorenie politiky hesiel v systéme Linux

Ahoj zas! Vyučovanie v novej skupine kurzov začína zajtra "Správca Linuxu", v tejto súvislosti uverejňujeme užitočný článok na túto tému.

Vytvorenie politiky hesiel v systéme Linux

V predchádzajúcom návode sme vám povedali, ako ho používať pam_cracklibaby boli heslá v systémoch zložitejšie Červený klobúk 6 alebo CentOS. V Red Hat 7 pam_pwquality vymenené cracklib ako pam predvolený modul na kontrolu hesiel. modul pam_pwquality podporované aj na Ubuntu a CentOS, ako aj na mnohých iných OS. Tento modul uľahčuje vytváranie politík hesiel, aby ste sa uistili, že používatelia akceptujú vaše štandardy sily hesiel.

Po dlhú dobu bol bežný prístup k heslám nútiť používateľa používať veľké, malé písmená, čísla alebo iné symboly. Tieto základné pravidlá pre zložitosť hesiel boli za posledných desať rokov široko propagované. Veľa sa diskutovalo o tom, či je to dobrá prax alebo nie. Hlavným argumentom proti nastaveniu takýchto zložitých podmienok bolo, že používatelia si heslá zapisujú na papieriky a neisto si ich uchovávajú.

Ďalšia zásada, ktorá bola nedávno spochybnená, núti používateľov meniť svoje heslá každých x dní. Uskutočnili sa niektoré štúdie, ktoré ukázali, že je to škodlivé aj pre bezpečnosť.

Na tému týchto diskusií bolo napísaných veľa článkov, ktoré podkladajú ten či onen uhol pohľadu. Ale to nie je to, o čom budeme diskutovať v tomto článku. Tento článok bude hovoriť o tom, ako správne nastaviť zložitosť hesla, a nie ako spravovať bezpečnostnú politiku.

Nastavenia zásad hesla

Nižšie uvidíte možnosti politiky hesiel a ich stručný popis. Mnohé z nich sú podobné parametrom v module cracklib. Tento prístup uľahčuje portovanie vašich politík zo starého systému.

  • Prepáč – Počet znakov vo vašom novom hesle, ktoré by NEMALI byť prítomné v starom hesle. (predvolená hodnota 5)
  • minlen – Minimálna dĺžka hesla. (predvolená hodnota 9)
  • ucredit – Maximálny počet kreditov za použitie veľkých písmen (ak parameter > 0), alebo minimálny požadovaný počet veľkých písmen (ak parameter < 0). Predvolená hodnota je 1.
  • lkredit — Maximálny počet kreditov za použitie malých písmen (ak parameter > 0) alebo minimálny požadovaný počet malých písmen (ak parameter < 0). Predvolená hodnota je 1.
  • úver — Maximálny počet kreditov za použitie číslic (ak parameter > 0) alebo minimálny požadovaný počet číslic (ak parameter < 0). Predvolená hodnota je 1.
  • on verí — Maximálny počet kreditov za použitie iných symbolov (ak parameter > 0), alebo minimálny požadovaný počet iných symbolov (ak parameter < 0). Predvolená hodnota je 1.
  • minclass – Nastavuje počet požadovaných tried. Triedy obsahujú vyššie uvedené parametre (veľké písmená, malé písmená, čísla, iné znaky). Predvolená hodnota je 0.
  • maxrepeat – Maximálny počet opakovaní znaku v hesle. Predvolená hodnota je 0.
  • maxclassrepeat — Maximálny počet po sebe nasledujúcich znakov v jednej triede. Predvolená hodnota je 0.
  • gecoscheck – Skontroluje, či heslo obsahuje nejaké slová z používateľských reťazcov GECOS. (Informácie o používateľovi, t. j. skutočné meno, poloha atď.) Predvolená hodnota je 0 (vypnuté).
  • diktatúra – Poďme na cracklibové slovníky.
  • zlé slová – Slová oddelené medzerou, ktoré sú v heslách zakázané (názov spoločnosti, slovo „heslo“ atď.).

Ak znie pojem pôžičky zvláštne, je to v poriadku, je to normálne. Viac si o tom povieme v nasledujúcich častiach.

Konfigurácia politiky hesiel

Predtým, ako začnete upravovať konfiguračné súbory, je dobrým zvykom vopred si zapísať základnú politiku hesiel. Použijeme napríklad nasledujúce pravidlá obtiažnosti:

  • Heslo musí mať minimálnu dĺžku 15 znakov.
  • Rovnaký znak by sa nemal v hesle opakovať viac ako dvakrát.
  • Triedy znakov sa môžu v hesle opakovať až štyrikrát.
  • Heslo musí obsahovať znaky z každej triedy.
  • Nové heslo musí mať 5 nových znakov v porovnaní so starým.
  • Povoliť kontrolu GECOS.
  • Zakázať slová „password, pass, word, putorius“

Teraz, keď sme stanovili politiku, môžeme súbor upraviť /etc/security/pwquality.confzvýšiť požiadavky na zložitosť hesla. Nižšie je uvedený príklad súboru s komentármi pre lepšie pochopenie.

# 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

Ako ste si mohli všimnúť, niektoré parametre v našom súbore sú nadbytočné. Napríklad parameter minclass je nadbytočné, pretože už používame aspoň dva znaky z triedy pomocou polí [u,l,d,o]credit. Náš zoznam slov, ktoré nemožno použiť, je tiež nadbytočný, pretože sme zakázali opakovať ktorúkoľvek triedu 4-krát (všetky slová v našom zozname sú napísané malými písmenami). Tieto možnosti som uviedol len preto, aby som ukázal, ako ich použiť na konfiguráciu vašej politiky hesiel.
Po vytvorení pravidiel môžete prinútiť používateľov, aby si pri ďalšom prihlásení zmenili svoje heslá. systému.

Ďalšia zvláštna vec, ktorú ste si mohli všimnúť, sú polia [u,l,d,o]credit obsahujú záporné číslo. Je to preto, že čísla väčšie alebo rovné 0 budú pripisovať kredit za použitie znaku vo vašom hesle. Ak pole obsahuje záporné číslo, znamená to, že je potrebné určité množstvo.

Čo sú pôžičky?

Hovorím im pôžičky, pretože to čo najpresnejšie vyjadruje ich účel. Ak je hodnota parametra väčšia ako 0, k dĺžke hesla pridáte počet "znakových kreditov" rovný "x". Napríklad, ak všetky parametre (u,l,d,o)credit nastavené na 1 a požadovaná dĺžka hesla bola 6, potom budete potrebovať 6 znakov na splnenie požiadavky na dĺžku, pretože každé veľké, malé, číslice alebo iný znak vám poskytne jeden kredit.

Ak nainštalujete dcredit na 2 by ste teoreticky mohli použiť heslo, ktoré má 9 znakov a získať 2 znakové kredity za čísla, a potom by dĺžka hesla už mohla byť 10.

Pozrite sa na tento príklad. Nastavil som dĺžku hesla na 13, dcredit na 2 a všetko ostatné na 0.

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

$ pwscore
 Th1sistwelve
 18

Moja prvá kontrola zlyhala, pretože heslo malo menej ako 13 znakov. Nabudúce som zmenil písmeno „I“ na číslo „1“ a dostal som dva kredity za čísla, čím sa heslo rovnalo 13.

Testovanie hesla

balíček libpwquality poskytuje funkcie opísané v článku. Dodáva sa aj s programom pwscore, ktorý je určený na kontrolu zložitosti hesla. Použili sme ho vyššie na kontrolu úverov.
Užitočnosť pwscore číta z stdin. Stačí spustiť obslužný program a napísať heslo, zobrazí sa chyba alebo hodnota od 0 do 100.

Skóre kvality hesla súvisí s parametrom minlen v konfiguračnom súbore. Vo všeobecnosti sa skóre nižšie ako 50 považuje za „normálne heslo“ a skóre nad ním sa považuje za „silné heslo“. Akékoľvek heslo, ktoré prejde kontrolami kvality (najmä núteným overením cracklib) musí vydržať slovníkové útoky a heslo so skóre nad 50 s nastavením minlen dokonca štandardne brute force útokov.

Záver

nastavenie pwquality - je to ľahké a jednoduché v porovnaní s nepohodlným používaním cracklib s priamou úpravou súborov pam. V tejto príručke sme pokryli všetko, čo budete potrebovať pri nastavovaní pravidiel hesiel v systémoch Red Hat 7, CentOS 7 a dokonca aj Ubuntu. Hovorili sme aj o koncepte pôžičiek, o ktorom sa málokedy podrobne píše, a tak táto téma zostávala často nejasná aj tým, ktorí sa s ňou predtým nestretli.

Zdroje:

manuálová stránka pwquality
manuálová stránka pam_pwquality
manuálová stránka pwscore

Užitočné odkazy:

Výber bezpečných hesiel – Bruce Schneier
Lorrie Faith Cranor diskutuje o štúdiu hesiel na CMU
Neslávna karikatúra xkcd o Entropii

Zdroj: hab.com

Pridať komentár