Pershendetje perseri! Mësimet në grupin e kursit të ri fillojnë nesër
Në tutorialin e mëparshëm ju thamë se si ta përdorni pam_cracklib
për t'i bërë fjalëkalimet në sisteme më komplekse pam_pwquality
zëvendësohet cracklib
si pam
moduli i paracaktuar për kontrollin e fjalëkalimeve. Moduli pam_pwquality
gjithashtu mbështetet në Ubuntu dhe CentOS, si dhe shumë OS të tjerë. Ky modul e bën të lehtë krijimin e politikave të fjalëkalimit për të siguruar që përdoruesit të pranojnë standardet e fuqisë së fjalëkalimit tuaj.
Për një kohë të gjatë, qasja e zakonshme ndaj fjalëkalimeve ishte të detyronte përdoruesin të përdorte shkronja të mëdha, të vogla, numra ose simbole të tjera. Këto rregulla bazë për kompleksitetin e fjalëkalimit janë promovuar gjerësisht gjatë dhjetë viteve të fundit. Ka pasur shumë diskutime nëse kjo është praktikë e mirë apo jo. Argumenti kryesor kundër vendosjes së kushteve të tilla komplekse ishte që përdoruesit të shkruajnë fjalëkalimet në copa letre dhe t'i ruajnë ato në mënyrë të pasigurt.
Një politikë tjetër që është vënë në pikëpyetje së fundmi i detyron përdoruesit të ndryshojnë fjalëkalimet e tyre çdo x ditë. Ka pasur disa studime që kanë treguar se kjo është gjithashtu e dëmshme për sigurinë.
Për temën e këtyre diskutimeve janë shkruar shumë artikuj, të cilët vërtetojnë një këndvështrim apo një tjetër. Por kjo nuk është ajo që do të diskutojmë në këtë artikull. Ky artikull do të flasë se si të vendosni saktë kompleksitetin e fjalëkalimit në vend që të menaxhoni politikën e sigurisë.
Cilësimet e politikës së fjalëkalimit
Më poshtë do të shihni opsionet e politikës së fjalëkalimit dhe një përshkrim të shkurtër të secilit. Shumë prej tyre janë të ngjashëm me parametrat në modul cracklib
. Kjo qasje e bën më të lehtë transferimin e politikave tuaja nga sistemi i vjetër.
- difok – Numri i karaktereve në fjalëkalimin tuaj të ri që NUK duhet të jenë të pranishëm në fjalëkalimin tuaj të vjetër. (E parazgjedhur 5)
- minlen – Gjatësia minimale e fjalëkalimit. (E parazgjedhur 9)
- ukrediti – Numri maksimal i krediteve për përdorimin e shkronjave të mëdha (nëse parametri > 0), ose numri minimal i kërkuar i karaktereve të mëdha (nëse parametri < 0). Parazgjedhja është 1.
- lkredi — Numri maksimal i krediteve për përdorimin e karaktereve të vogla (nëse parametri > 0), ose numri minimal i kërkuar i karaktereve të vogla (nëse parametri < 0). Parazgjedhja është 1.
- dkredit — Numri maksimal i krediteve për përdorimin e shifrave (nëse parametri > 0), ose numri minimal i kërkuar i shifrave (nëse parametri < 0). Parazgjedhja është 1.
- kreditimi — Numri maksimal i krediteve për përdorimin e simboleve të tjera (nëse parametri > 0), ose numri minimal i kërkuar i simboleve të tjera (nëse parametri < 0). Parazgjedhja është 1.
- minklasë – Vendos numrin e klasave të kërkuara. Klasat përfshijnë parametrat e mësipërm (karaktere të mëdha, shkronja të vogla, numra, karaktere të tjera). Parazgjedhja është 0.
- maxpërsërit – Numri maksimal i herëve që një karakter mund të përsëritet në një fjalëkalim. Parazgjedhja është 0.
- maxclasspërsëritje — Numri maksimal i karaktereve të njëpasnjëshme në një klasë. Parazgjedhja është 0.
- gecoscheck – Kontrollon nëse fjalëkalimi përmban ndonjë fjalë nga vargjet GECOS të përdoruesit. (Informacioni i përdoruesit, p.sh. emri i vërtetë, vendndodhja, etj.) Parazgjedhja është 0 (off).
- rrugë diktimi – Le të shkojmë te fjalorët cracklib.
- fjale te keqija – Fjalë të ndara në hapësirë që janë të ndaluara në fjalëkalime (Emri i kompanisë, fjala “fjalëkalim” etj.).
Nëse koncepti i kredisë tingëllon i çuditshëm, është në rregull, është normale. Ne do të flasim më shumë për këtë në seksionet në vijim.
Konfigurimi i politikës së fjalëkalimit
Përpara se të filloni të redaktoni skedarët e konfigurimit, është një praktikë e mirë të shkruani paraprakisht një politikë bazë fjalëkalimi. Për shembull, ne do të përdorim rregullat e mëposhtme të vështirësisë:
- Fjalëkalimi duhet të ketë një gjatësi minimale prej 15 karakteresh.
- I njëjti karakter nuk duhet të përsëritet më shumë se dy herë në fjalëkalim.
- Klasat e karaktereve mund të përsëriten deri në katër herë në një fjalëkalim.
- Fjalëkalimi duhet të përmbajë karaktere nga çdo klasë.
- Fjalëkalimi i ri duhet të ketë 5 karaktere të reja në krahasim me atë të vjetër.
- Aktivizo kontrollin GECOS.
- Ndaloni fjalët "fjalëkalim, kalim, fjalë, putorius"
Tani që kemi përcaktuar politikën, mund ta modifikojmë skedarin /etc/security/pwquality.conf
për të rritur kërkesat e kompleksitetit të fjalëkalimit. Më poshtë është një skedar shembull me komente për ta kuptuar më mirë.
# 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
Siç mund ta keni vënë re, disa parametra në skedarin tonë janë të tepërt. Për shembull, parametri minclass
është e tepërt pasi ne përdorim tashmë të paktën dy karaktere nga klasa duke përdorur fushat [u,l,d,o]credit
. Lista jonë e fjalëve që nuk mund të përdoren është gjithashtu e tepërt, pasi ne kemi ndaluar përsëritjen e çdo klase 4 herë (të gjitha fjalët në listën tonë janë të shkruara me shkronja të vogla). Unë i kam përfshirë këto opsione vetëm për të demonstruar se si t'i përdorni ato për të konfiguruar politikën tuaj të fjalëkalimit.
Pasi të keni krijuar politikën tuaj, mund t'i detyroni përdoruesit të ndryshojnë fjalëkalimet e tyre herën tjetër që të identifikohen.
Një tjetër gjë e çuditshme që mund të keni vënë re është se fushat [u,l,d,o]credit
përmbajnë një numër negativ. Kjo është për shkak se numrat më të mëdhenj ose të barabartë me 0 do të japin kredi për përdorimin e karakterit në fjalëkalimin tuaj. Nëse fusha përmban një numër negativ, do të thotë që kërkohet një sasi e caktuar.
Çfarë janë kreditë?
Unë i quaj kredi sepse kjo e përcjell qëllimin e tyre sa më saktë. Nëse vlera e parametrit është më e madhe se 0, ju shtoni një numër "kreditash karakteresh" të barabartë me "x" në gjatësinë e fjalëkalimit. Për shembull, nëse të gjithë parametrat (u,l,d,o)credit
vendoset në 1 dhe gjatësia e kërkuar e fjalëkalimit ishte 6, atëherë do t'ju duhen 6 karaktere për të plotësuar kërkesën për gjatësinë sepse çdo shkronja e madhe, e vogël, shifër ose karakter tjetër do t'ju japë një kredit.
Nëse instaloni dcredit
në 2, ju mund të përdorni teorikisht një fjalëkalim me gjatësi 9 karaktere dhe të merrni 2 kredite karakteresh për numrat, dhe më pas gjatësia e fjalëkalimit mund të jetë tashmë 10.
Shikoni këtë shembull. Vendosa gjatësinë e fjalëkalimit në 13, vendosa dcredit në 2 dhe gjithçka tjetër në 0.
$ pwscore
Thisistwelve
Password quality check failed:
The password is shorter than 13 characters
$ pwscore
Th1sistwelve
18
Kontrolli im i parë dështoi sepse fjalëkalimi ishte më pak se 13 karaktere. Herën tjetër që ndryshova shkronjën "I" në numrin "1" dhe mora dy kredite për numrat, gjë që e bëri fjalëkalimin të barabartë me 13.
Testimi i fjalëkalimit
paketë libpwquality
ofron funksionalitetin e përshkruar në artikull. Ajo vjen edhe me një program pwscore
, i cili është krijuar për të kontrolluar kompleksitetin e fjalëkalimit. Ne e përdorëm atë më lart për të kontrolluar kreditë.
Shërbim pwscore
lexohet nga
Rezultati i cilësisë së fjalëkalimit lidhet me parametrin minlen
në skedarin e konfigurimit. Në përgjithësi, një pikë më pak se 50 konsiderohet një "fjalëkalim normal", dhe një pikë mbi të konsiderohet një "fjalëkalim i fortë". Çdo fjalëkalim që kalon kontrollet e cilësisë (veçanërisht verifikimi i detyruar cracklib
) duhet të përballojë sulmet e fjalorit dhe një fjalëkalim me një rezultat mbi 50 me cilësimin minlen
edhe si parazgjedhje brute force
sulmet.
Përfundim
rregullim pwquality
- është e lehtë dhe e thjeshtë në krahasim me shqetësimin e përdorimit cracklib
me redaktim të drejtpërdrejtë të skedarëve pam
. Në këtë udhëzues, ne kemi mbuluar gjithçka që ju nevojitet kur vendosni politikat e fjalëkalimit në sistemet Red Hat 7, CentOS 7 dhe madje edhe Ubuntu. Folëm edhe për konceptin e kredisë, për të cilin rrallëherë shkruhet në detaje, ndaj kjo temë shpeshherë mbetej e paqartë për ata që nuk e kishin hasur më parë.
Burimet:
Lidhje të dobishme:
Burimi: www.habr.com