Vytvorenie politiky hesiel v systéme Linux

Ahoj znova! Už zajtra začínajú hodiny v novej skupine kurzu „Administrátor Linuxu“, a z tohto dôvodu zverejňujeme užitočný článok na tému.

Vytvorenie politiky hesiel v systéme Linux

V predchádzajúcom tutoriále sme sa zaoberali tým, ako používať pam_cracklib, aby sme skomplikovali heslá v systémoch Red Hat 6 alebo CentOS. V Red Hat 7 pam_pwquality nahradila cracklib ako pam ako predvolený modul na kontrolu hesiel. Tento modul je tiež podporovaný v Ubuntu a CentOS, ako aj v mnohých ďalších OS. Tento modul uľahčuje vytváranie politík hesiel, aby sa zabezpečilo, že používatelia prijímajú vaše štandardy zložitosti hesiel. pam_pwquality Dlhú dobu bola bežnou praktikou, že sa od používateľov vyžaduje, aby používali vo svojich heslách veľké a malé písmená, čísla alebo iné znaky. Tieto základné pravidlá zložitosti hesiel sa aktívne propagovali v posledných desiatich rokoch. Prebehlo množstvo diskusií o tom, či je to dobrá prax alebo nie. Hlavným argumentom proti nastavovaniu takýchto prísnych podmienok bolo to, že používatelia si zapisujú heslá na papieriky a nebezpečne ich uchovávajú.

Iná politika, ktorá bola nedávno spochybnená, núti používateľov meniť svoje heslá každých x dní. Boli vykonané niektoré výskumy, ktoré ukázali, že to tiež poškodzuje bezpečnosť.

O týchto diskusiách bolo napísaných mnoho článkov, ktoré obhajovali tu alebo tamto stanovisko. Ale o tom nebudeme diskutovať v tomto článku. Tento článok sa zameriava na to, ako správne nastaviť zložitosť hesla, nie na správu bezpečnostnej politiky.

Parametre politiky hesiel

Nižšie uvidíte parametre politiky hesiel a krátky popis každého z nich. Mnohé z nich sú podobné parametrom v module

. Tento prístup uľahčuje portovanie vašich politík zo starej sústavy. cracklibdifok

  • – Počet znakov vo vašom novom hesle, ktoré NESMÚ byť prítomné vo vašom starom hesle. (Predvolene 5) minlen
  • – Minimálna dĺžka hesla. (Predvolene 9) ucredit
  • – Maximálny počet kreditov za použitie veľkých písmen (ak je parameter > 0), alebo minimálny požadovaný počet veľkých písmen (ak je parameter < 0). Predvolene 1. lcredit
  • lcredit — Maximálne množstvo kreditov za používanie znakov malého písmena (ak je parameter > 0), alebo minimálne požadovaný počet znakov malého písmena (ak je parameter < 0). Predvolene 1.
  • dcredit — Maximálne množstvo kreditov za používanie číslic (ak je parameter > 0), alebo minimálne požadovaný počet číslic (ak je parameter < 0). Predvolene 1.
  • ocredit — Maximálne množstvo kreditov za používanie iných znakových typov (ak je parameter > 0), alebo minimálne požadovaný počet iných znakov (ak je parameter < 0). Predvolene 1.
  • minclass – Nastavuje požadovaný počet tried. Triedy zahŕňajú vyššie uvedené parametre (znaky veľkého písmena, malého písmena, čísla, iné znaky). Predvolene 0.
  • maxrepeat – Maximálny počet opakovaní znaku v hesle. Predvolene 0.
  • maxclassrepeat — Maximálne množstvo po sebe idúcich znakov v jednej triede. Predvolene 0.
  • gecoscheck – Kontroluje, či heslo obsahuje akékoľvek slová z riadkov GECOS používateľa. (Informácie o používateľovi, t.j. skutočné meno, umiestnenie atď.) Predvolene 0 (vypnuté).
  • dictpath – Cesta k slovníkom cracklib.
  • badwords – Slová zakázané v heslách oddelené medzerou (názov spoločnosti, slovo „heslo“ atď.).

Ak vám pojem kreditov znie divne, nebojte sa, je to v poriadku. O tom sa podrobnejšie porozprávame v nasledujúcich sekciách.

Konfigurácia politiky hesiel

Predtým, ako začneme upravovať konfiguračné súbory, je dobré si vopred zaznamenať základnú politiku hesiel. Napríklad, budeme používať nasledujúce pravidlá zložitosti:

  • Heslo musí mať minimálnu dĺžku 15 znakov.
  • V hesle sa ten istý znak nemôže opakovať viac ako dvakrát.
  • V hesle sa triedy znakov môžu 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 prezentovali politiku, môžeme upraviť súbor /etc/security/pwquality.conf, aby sme posilnili 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, využívajúc pole [u,l,d,o]credit. Náš zoznam zakázaných slov je tiež nadbytočný, pretože zakazujeme opakovanie akéhokoľvek znaku 4-krát (všetky slová v našom zozname sú napísané malými písmenami). Tieto parametre som zahrnul iba na demonštráciu, ako ich používať na prispôsobenie politiky hesiel.
Akonáhle ste vytvorili svoju politiku, môžete nútiť používateľov zmeniť si svoje heslá pri ich nasledujúcom prihlásení do systému.

Ďalšou zvláštnou vecou, ktorú ste si možno všimli, sú polia [u,l,d,o]credit obsahujúce záporné číslo. Je to preto, že čísla väčšie alebo rovné 0 poskytujú kredit za použitie znaku vo vašom hesle. Ak pole obsahuje záporné číslo, znamená to, že je potrebné splniť určité množstvo.

Čo sú kredity (credit)?

Nazývam ich kreditmi, pretože to najpresnejšie vyjadruje ich účel. Ak je hodnota parametra väčšia ako 0, pridávate počet „kreditov na znaky“ rovný „x“ k dĺžke hesla. Napríklad, ak sú všetky parametre (u,l,d,o)credit nastavené na 1 a požadovaná dĺžka hesla je 6, budete potrebovať 6 znakov na splnenie požiadavky na dĺžku, pretože každý znak veľkého písmena, malého písmena, číslo alebo iný znak vám prinesie jeden kredit.

Ak nastavíte dcredit na 2, teoreticky môžete použiť heslo dlhé 9 znakov a získať 2 kredity za znaky pre čísla a dĺžka hesla môže byť už 10.

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

$ pwscore
 Thisistwelve
 Kontrola kvality hesla zlyhala:
  Heslo je kratšie ako 13 znakov

$ pwscore
 Th1sistwelve
 18

Moja prvá kontrola zlyhala, pretože dĺžka hesla bola menej ako 13 znakov. Nabudúce som zmenil písmeno “I” na číslo “1” a získal dva kredity za čísla, čo vyrovnalo heslo na 13.

Testovanie hesla

Balík libpwquality poskytuje funkčnosť opísanú v článku. Rovnako s ním pribúda program pwscore, ktorý je určený na kontrolu hesla na zložitosti. Použili sme ho vyššie na kontrolu kreditov.
Nástroj pwscore číta z stdin. Jednoducho spustite utilitu a zadajte svoje heslo, vráti chybu alebo hodnotu od 0 do 100.

Ukazovateľ kvality hesla súvisí s parametrom – Minimálna dĺžka hesla. (Predvolene 9) v konfiguračnom súbore. Všeobecne sa ukazovateľ pod 50 považuje za „normálne heslo“, zatiaľ čo vyššie hodnoty sa považujú za „silné heslo“. Akékoľvek heslo, ktoré prejde kontrolami kvality (najmä povinnou kontrolou cracklib) by malo odolávať slovníkovým útokom, pričom heslo s ukazovateľom nad 50 s nastavením – Minimálna dĺžka hesla. (Predvolene 9) predvolene, dokonca brutálne útoky. Útoky.

Záver

Nastavenie pwquality – to je ľahké a jednoduché v porovnaní s ťažkosťami pri použití cracklib priameho úpravy súborov pam. V tejto príručke sme prešli všetko, čo budete potrebovať pri nastavovaní politík hesiel v Red Hat 7, CentOS 7 a dokonca aj systémoch Ubuntu. Taktiež sme hovorili o koncepte kreditov, o ktorých sa zriedka píše podrobne, preto sa táto téma často ostávala nejasná pre tých, ktorí sa s ňou predtým nestretli.

Zdroje:

manuál pwquality
manuál pam_pwquality
manuál pwscore

Užitočné odkazy:

Výber bezpečných hesiel – Bruce Schneier
Lorrie Faith Cranor hovorí o svojich štúdiách hesiel na CMU
Slávny xkcd kreslený vtip o entropii

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster