Saluton denove! La klasoj en la nova kursgrupo komenciĝas morgaŭ
En la antaŭa lernilo ni diris al vi kiel uzi pam_cracklib
fari pasvortojn en sistemoj pli kompleksaj pam_pwquality
anstataŭigita cracklib
kiel pam
defaŭlta modulo por kontroli pasvortojn. Modulo pam_pwquality
ankaŭ subtenata sur Ubuntu kaj CentOS, same kiel multaj aliaj OS-oj. Ĉi tiu modulo faciligas krei pasvortpolitikojn por certigi, ke uzantoj akceptas viajn pasvortfortajn normojn.
Dum longa tempo, la komuna aliro al pasvortoj devis devigi la uzanton uzi majusklojn, minusklojn, nombrojn aŭ aliajn simbolojn. Ĉi tiuj bazaj reguloj por pasvortkomplekseco estis vaste reklamitaj dum la lastaj dek jaroj. Estis multe da diskuto pri ĉu tio estas bona praktiko aŭ ne. La ĉefa argumento kontraŭ starigo de tiaj kompleksaj kondiĉoj estis, ke uzantoj skribas pasvortojn sur paperpecoj kaj konservas ilin nesekure.
Alia politiko, kiu lastatempe estis pridubita, devigas uzantojn ŝanĝi siajn pasvortojn ĉiujn x tagojn. Estis iuj studoj, kiuj montris, ke ĉi tio ankaŭ estas malutila al sekureco.
Pri la temo de ĉi tiuj diskutoj estis verkitaj multaj artikoloj, kiuj fundamentas unu aŭ alian vidpunkton. Sed ĉi tio ne estas kion ni diskutos en ĉi tiu artikolo. Ĉi tiu artikolo parolos pri kiel ĝuste agordi la pasvortkompleksecon prefere ol administri la sekurecan politikon.
Agordoj pri Pasvortaj Politiko
Malsupre vi vidos la eblojn pri pasvortaj politikoj kaj mallongan priskribon de ĉiu. Multaj el ili similas al la parametroj en la modulo cracklib
. Ĉi tiu aliro faciligas porti viajn politikojn de la hereda sistemo.
- mi bedaŭras – La nombro da signoj en via nova pasvorto, kiuj NE devus ĉeesti en via malnova pasvorto. (Defaŭlte 5)
- minlen - Minimuma pasvorta longeco. (Defaŭlte 9)
- ukredito – La maksimuma nombro da kreditoj por uzado de majuskloj (se parametro > 0), aŭ la minimuma postulata nombro da majuskloj (se parametro < 0). Defaŭlte estas 1.
- lkredito — La maksimuma nombro da kreditoj por uzado de minusklaj signoj (se parametro > 0), aŭ la minimuma postulata nombro da minuskloj (se parametro < 0). Defaŭlte estas 1.
- krediton — La maksimuma nombro da kreditoj por uzado de ciferoj (se parametro > 0), aŭ la minimuma postulata nombro da ciferoj (se parametro < 0). Defaŭlte estas 1.
- li kredas — La maksimuma nombro da kreditoj por uzado de aliaj simboloj (se parametro > 0), aŭ la minimuma postulata nombro de aliaj simboloj (se parametro < 0). Defaŭlte estas 1.
- minclass – Agordas la nombron da klasoj bezonataj. Klasoj inkluzivas la suprajn parametrojn (majusklaj signoj, minusklaj signoj, nombroj, aliaj signoj). Defaŭlte estas 0.
- maxrepeat – La maksimuma nombro da fojoj signo povas esti ripetita en pasvorto. Defaŭlte estas 0.
- maxclassrepeat — La maksimuma nombro da sinsekvaj signoj en unu klaso. Defaŭlte estas 0.
- gecoscheck – Kontrolas ĉu la pasvorto enhavas iujn vortojn el la GECOS-ĉenoj de la uzanto. (Uzantinformoj, t.e. reala nomo, loko, ktp.) Defaŭlte estas 0 (malŝaltita).
- dictpath – Ni iru al cracklib-vortaroj.
- malbonaj vortoj – Spac-disigitaj vortoj, kiuj estas malpermesitaj en pasvortoj (firmaa nomo, la vorto "pasvorto", ktp.).
Se la koncepto de pruntoj sonas strange, estas bone, estas normale. Ni parolos pli pri tio en la sekvaj sekcioj.
Agordo de Pasvorta Politiko
Antaŭ ol vi komencas redakti agordajn dosierojn, estas bona praktiko antaŭskribi bazan pasvortigan politikon. Ekzemple, ni uzos la jenajn malfacilajn regulojn:
- La pasvorto devas havi minimuman longon de 15 signoj.
- La sama signo ne devas esti ripetita pli ol dufoje en la pasvorto.
- Karakterklasoj povas esti ripetitaj ĝis kvar fojojn en pasvorto.
- La pasvorto devas enhavi signojn de ĉiu klaso.
- La nova pasvorto devas havi 5 novajn signojn kompare kun la malnova.
- Ebligu GECOS-kontrolon.
- Malpermesu la vortojn "pasvorto, pasu, vorto, putorius"
Nun kiam ni elmetis la politikon, ni povas redakti la dosieron /etc/security/pwquality.conf
por pliigi pasvortkompleksecpostulojn. Malsupre estas ekzempla dosiero kun komentoj por pli bona kompreno.
# 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
Kiel vi eble rimarkis, iuj parametroj en nia dosiero estas superfluaj. Ekzemple, la parametro minclass
estas redunda ĉar ni jam uzas almenaŭ du signojn de la klaso uzante kampojn [u,l,d,o]credit
. Nia listo de vortoj ne uzeblaj ankaŭ estas superflua, ĉar ni malpermesis ripeti ajnan klason 4 fojojn (ĉiuj vortoj en nia listo estas skribitaj per minusklaj signoj). Mi inkluzivis ĉi tiujn opciojn nur por montri kiel uzi ilin por agordi vian pasvortpolitikon.
Post kiam vi kreis vian politikon, vi povas devigi uzantojn ŝanĝi siajn pasvortojn la venontan fojon kiam ili ensalutos.
Alia stranga afero, kiun vi eble rimarkis, estas ke la kampoj [u,l,d,o]credit
enhavas negativan nombron. Ĉi tio estas ĉar nombroj pli grandaj ol aŭ egalaj al 0 donos krediton por uzi la signon en via pasvorto. Se la kampo enhavas negativan nombron, tio signifas, ke necesas certa kvanto.
Kio estas pruntoj?
Mi nomas ilin pruntoj ĉar tio transdonas ilian celon kiel eble plej precize. Se la parametrovaloro estas pli granda ol 0, vi aldonas kelkajn "karakterkreditojn" egalajn al "x" al la pasvorta longo. Ekzemple, se ĉiuj parametroj (u,l,d,o)credit
agordu al 1 kaj la bezonata pasvortlongo estis 6, tiam vi bezonos 6 signojn por kontentigi la longecon, ĉar ĉiu majuskla, minuskla, cifero aŭ alia signo donos al vi unu krediton.
Se vi instalas dcredit
ĉe 2, vi teorie povus uzi pasvorton longan de 9 signojn kaj akiri 2 signajn kreditojn por nombroj, kaj tiam la pasvorton longo povus esti jam 10.
Rigardu ĉi tiun ekzemplon. Mi starigis la pasvorton al 13, dcredit al 2, kaj ĉion alian al 0.
$ pwscore
Thisistwelve
Password quality check failed:
The password is shorter than 13 characters
$ pwscore
Th1sistwelve
18
Mia unua kontrolo malsukcesis ĉar la pasvorto estis malpli ol 13 signojn longa. La venontan fojon mi ŝanĝis la literon "I" al la numero "1" kaj ricevis du kreditojn por la nombroj, kiuj igis la pasvorton egala al 13.
Testado de pasvorto
Pako libpwquality
provizas la funkciojn priskribitajn en la artikolo. Ĝi ankaŭ venas kun programo pwscore
, kiu estas dizajnita por kontroli pasvortkompleksecon. Ni uzis ĝin supre por kontroli pruntojn.
Utileco pwscore
legas de
La pasvorta kvalita poentaro rilatas al la parametro minlen
en la agorda dosiero. Ĝenerale, poentaro de malpli ol 50 estas konsiderata "normala pasvorto", kaj poentaro super ĝi estas konsiderata "forta pasvorto". Ajna pasvorto, kiu trapasas kvalitajn kontrolojn (precipe devigan konfirmon cracklib
) devas elteni vortarajn atakojn, kaj pasvorton kun poentaro super 50 kun la agordo minlen
eĉ defaŭlte brute force
atakoj.
konkludo
alĝustigo pwquality
- ĝi estas facila kaj simpla kompare kun la malkomforto de uzo cracklib
kun rekta dosierredaktado pam
. En ĉi tiu gvidilo, ni kovris ĉion, kion vi bezonos kiam vi agordas pasvortajn politikojn sur Red Hat 7, CentOS 7, kaj eĉ Ubuntu-sistemoj. Ni ankaŭ parolis pri la koncepto de pruntoj, pri kiu malofte estas detale skribita, do ĉi tiu temo ofte restis neklara por tiuj, kiuj antaŭe ne renkontis ĝin.
Fontoj:
Utilaj ligoj:
fonto: www.habr.com