Hei taas! Huomenna alkavat tunnit uudessa kurssiryhmässä
Edellisessä opetusohjelmassa kerroimme, kuinka sitä käytetään pam_cracklib
tehdä järjestelmien salasanoista monimutkaisempia 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.conf
lisä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ä.
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
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:
Hyödyllisiä linkkejä:
Lähde: will.com