Salasanakäytännön luominen Linuxissa

Hei taas! Huomenna alkavat tunnit uudessa kurssiryhmässä "Linux-järjestelmänvalvoja", tässä suhteessa julkaisemme hyödyllisen artikkelin aiheesta.

Salasanakäytännön luominen Linuxissa

Edellisessä opetusohjelmassa kerroimme, kuinka sitä käytetään pam_cracklibtehdä järjestelmien salasanoista monimutkaisempia Red Hat 6 tai CentOS. Red Hatissa 7 pam_pwquality vaihdettu cracklib kuin pam oletusmoduuli salasanojen tarkistamiseen. Moduuli pam_pwquality tuettu myös Ubuntussa ja CentOS:ssä sekä monissa muissa käyttöjärjestelmissä. Tämän moduulin avulla on helppo luoda salasanakäytäntöjä sen varmistamiseksi, että käyttäjät hyväksyvät salasanasi vahvuusstandardit.

Pitkään yleinen lähestymistapa salasanoihin oli pakottaa käyttäjä käyttämään isoja, pieniä kirjaimia, numeroita tai muita symboleja. Näitä salasanan monimutkaisuuden perussääntöjä on edistetty laajasti viimeisen kymmenen vuoden aikana. Siitä, onko tämä hyvä käytäntö vai ei, on keskusteltu paljon. Pääargumentti näin monimutkaisten ehtojen asettamista vastaan ​​oli se, että käyttäjät kirjoittavat salasanat paperille ja säilyttävät niitä epävarmasti.

Toinen äskettäin kyseenalaistettu käytäntö pakottaa käyttäjät vaihtamaan salasanansa x päivän välein. Jotkut tutkimukset ovat osoittaneet, että tämä on myös haitallista turvallisuudelle.

Näiden keskustelujen aiheesta on kirjoitettu monia artikkeleita, jotka tukevat yhtä tai toista näkökulmaa. Mutta tästä emme keskustele tässä artikkelissa. Tässä artikkelissa kerrotaan, kuinka salasanan monimutkaisuus asetetaan oikein suojauskäytännön hallinnan sijaan.

Salasanakäytännön asetukset

Alla näet salasanakäytäntövaihtoehdot ja lyhyen kuvauksen niistä. Monet niistä ovat samanlaisia ​​kuin moduulin parametrit cracklib. Tämä lähestymistapa helpottaa käytäntöjesi siirtämistä vanhasta järjestelmästä.

  • olen pahoillani – Uuden salasanasi merkkien määrä, jota EI pitäisi olla vanhassa salasanassasi. (oletus 5)
  • Minlen – Salasanan vähimmäispituus. (Oletus 9)
  • luotto – Isojen kirjainten käytön enimmäismäärä (jos parametri > 0) tai isojen kirjainten vähimmäismäärä (jos parametri < 0). Oletusarvo on 1.
  • luotto — Pienten kirjainten käytön enimmäismäärä (jos parametri > 0) tai pienin vaadittu määrä pienten kirjainten käyttöä (jos parametri < 0). Oletusarvo on 1.
  • luotto — Numeroiden käytön enimmäismäärä (jos parametri > 0) tai vähimmäismäärä numeroita (jos parametri < 0). Oletusarvo on 1.
  • hän uskoo — Muiden symbolien käytön enimmäismäärä (jos parametri > 0) tai muiden symbolien vähimmäismäärä (jos parametri < 0). Oletusarvo on 1.
  • minluokka – Asettaa tarvittavien luokkien määrän. Luokat sisältävät yllä olevat parametrit (isot kirjaimet, pienet kirjaimet, numerot, muut merkit). Oletusarvo on 0.
  • max toisto – Suurin määrä kertoja, kuinka monta kertaa merkkiä voidaan toistaa salasanassa. Oletusarvo on 0.
  • max luokan toisto — Peräkkäisten merkkien enimmäismäärä yhdessä luokassa. Oletusarvo on 0.
  • gecoscheck – Tarkistaa, sisältääkö salasana sanat käyttäjän GECOS-merkkijonoista. (Käyttäjätiedot, eli oikea nimi, sijainti jne.) Oletus on 0 (pois päältä).
  • sanelupolku – Mennään cracklib-sanakirjoihin.
  • BADWORDS – Välilyönnillä erotetut sanat, jotka ovat kiellettyjä salasanoissa (yrityksen nimi, sana "salasana" jne.).

Jos lainan käsite kuulostaa oudolta, se on okei, se on normaalia. Puhumme tästä lisää seuraavissa osioissa.

Salasanakäytännön määritys

Ennen kuin aloitat määritystiedostojen muokkaamisen, on hyvä kirjoittaa muistiin perussalasanakäytäntö etukäteen. Käytämme esimerkiksi seuraavia vaikeussääntöjä:

  • Salasanan tulee olla vähintään 15 merkkiä pitkä.
  • Sama merkki ei saa toistua useammin kuin kahdesti salasanassa.
  • Hahmoluokat voidaan toistaa jopa neljä kertaa salasanassa.
  • Salasanan tulee sisältää merkkejä jokaisesta luokasta.
  • Uudessa salasanassa on oltava 5 uutta merkkiä verrattuna vanhaan.
  • Ota GECOS-tarkistus käyttöön.
  • Estä sanat "salasana, salasana, sana, putorius"

Nyt kun olemme laatineet käytännön, voimme muokata tiedostoa /etc/security/pwquality.conflisätäksesi salasanan monimutkaisuusvaatimuksia. Alla on esimerkkitiedosto, jossa on kommentteja ymmärtämisen helpottamiseksi.

# 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

Kuten olet ehkä huomannut, jotkin tiedostomme parametrit ovat tarpeettomia. Esimerkiksi parametri minclass on tarpeeton, koska käytämme jo vähintään kahta merkkiä luokasta käyttämällä kenttiä [u,l,d,o]credit. Luettelomme sanoista, joita ei voida käyttää, on myös tarpeeton, koska olemme kieltäneet minkä tahansa luokan toistamisen 4 kertaa (kaikki sanat luettelossamme on kirjoitettu pienillä kirjaimilla). Olen sisällyttänyt nämä vaihtoehdot vain osoittaakseni, kuinka niitä käytetään salasanakäytännön määrittämiseen.
Kun olet luonut käytäntösi, voit pakottaa käyttäjät vaihtamaan salasanansa seuraavan sisäänkirjautumisen yhteydessä. järjestelmä.

Toinen outo asia, jonka olet ehkä huomannut, on se, että kentät [u,l,d,o]credit sisältää negatiivisen luvun. Tämä johtuu siitä, että numerot, jotka ovat suurempia tai yhtä suuria kuin 0, antavat tunnustusta merkin käyttämisestä salasanassasi. Jos kentässä on negatiivinen luku, se tarkoittaa, että tietty määrä vaaditaan.

Mitä lainat ovat?

Kutsun niitä lainoiksi, koska se ilmaisee niiden tarkoituksen mahdollisimman tarkasti. Jos parametrin arvo on suurempi kuin 0, lisäät salasanan pituuteen "x":n verran "merkkipisteitä". Esimerkiksi jos kaikki parametrit (u,l,d,o)credit asetettu arvoon 1 ja vaadittu salasanan pituus oli 6, tarvitset 6 merkkiä täyttääksesi pituusvaatimuksen, koska jokainen iso, pieni, numero tai muu merkki antaa sinulle yhden tunnustuksen.

Jos asennat dcredit 2:lla voisi teoriassa käyttää 9 merkkiä pitkää salasanaa ja saada numeroista 2 merkkiä, jolloin salasanan pituus voisi olla jo 10.

Katso tämä esimerkki. Asetin salasanan pituudeksi 13, dcreditiksi 2 ja kaiken muun arvoon 0.

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

$ pwscore
 Th1sistwelve
 18

Ensimmäinen tarkistus epäonnistui, koska salasana oli alle 13 merkkiä pitkä. Seuraavalla kerralla vaihdoin I-kirjaimen numeroon 1 ja sain numeroista kaksi hyvitystä, jolloin salasanaksi tuli 13.

Salasanan testaus

paketti libpwquality tarjoaa artikkelissa kuvatut toiminnot. Sen mukana tulee myös ohjelma pwscore, joka on suunniteltu tarkistamaan salasanan monimutkaisuus. Käytimme sitä yllä lainojen tarkistamiseen.
Apuohjelma pwscore lukee alkaen stdin. Suorita vain apuohjelma ja kirjoita salasanasi, se näyttää virheilmoituksen tai arvon 0-100.

Salasanan laatupisteet liittyvät parametriin minlen asetustiedostossa. Yleensä alle 50 pistettä pidetään "normaalina salasanana", ja sen yläpuolella olevaa pistettä pidetään "vahvana salasanana". Mikä tahansa salasana, joka läpäisee laatutarkastukset (erityisesti pakotettu vahvistus cracklib) on kestettävä sanakirjahyökkäykset ja salasana, jonka pistemäärä on yli 50 asetuksella minlen jopa oletuksena brute force hyökkäyksiä.

Johtopäätös

säätö pwquality – se on helppoa ja yksinkertaista verrattuna käytön haittoihin cracklib suoralla tiedostomuokkauksella pam. Tässä oppaassa olemme käsitelleet kaiken, mitä tarvitset salasanakäytäntöjen määrittämiseen Red Hat 7-, CentOS 7- ja jopa Ubuntu-järjestelmissä. Puhuimme myös lainan käsitteestä, josta harvoin kirjoitetaan yksityiskohtaisesti, joten tämä aihe jäi usein epäselväksi niille, jotka eivät olleet siihen aiemmin törmänneet.

Lähteet:

pwquality man -sivu
pam_pwquality man-sivu
pwscore man -sivu

Hyödyllisiä linkkejä:

Turvallisten salasanojen valitseminen – Bruce Schneier
Lorrie Faith Cranor keskustelee salasanaopinnoistaan ​​CMU:ssa
Surullisen xkcd-sarjakuva Entropysta

Lähde: will.com

Lisää kommentti