Ṣiṣẹda Ilana Ọrọigbaniwọle kan ni Lainos

Hello lẹẹkansi! Awọn kilasi ni ẹgbẹ ikẹkọ tuntun bẹrẹ ni ọla "Alakoso Linux", Ni ọran yii, a ṣe atẹjade nkan ti o wulo lori koko-ọrọ naa.

Ṣiṣẹda Ilana Ọrọigbaniwọle kan ni Lainos

Ninu ikẹkọ iṣaaju a sọ fun ọ bi o ṣe le lo pam_crackliblati ṣe awọn ọrọigbaniwọle lori awọn ọna šiše eka sii fila pupa 6 tabi CentOS. Ninu Hat Pupa 7 pam_pwquality rọpo cracklib bi pam aiyipada module fun ayẹwo awọn ọrọigbaniwọle. Modulu pam_pwquality tun ṣe atilẹyin lori Ubuntu ati CentOS, ati ọpọlọpọ awọn OS miiran. Ẹya yii jẹ ki o rọrun lati ṣẹda awọn eto imulo ọrọ igbaniwọle lati rii daju pe awọn olumulo gba awọn iṣedede agbara ọrọ igbaniwọle rẹ.

Fun igba pipẹ, ọna ti o wọpọ si awọn ọrọ igbaniwọle ni lati fi ipa mu olumulo lati lo awọn lẹta nla, kekere, awọn nọmba, tabi awọn aami miiran. Awọn ofin ipilẹ wọnyi fun idiju ọrọ igbaniwọle ti ni igbega jakejado ni ọdun mẹwa sẹhin. Ọpọlọpọ ijiroro ti wa nipa boya eyi jẹ iṣe ti o dara tabi rara. Awọn ariyanjiyan akọkọ lodi si iṣeto iru awọn ipo idiju ni pe awọn olumulo kọ awọn ọrọ igbaniwọle silẹ lori awọn ege iwe ati tọju wọn ni aabo.

Ilana miiran ti o ti pe laipe sinu ibeere fi agbara mu awọn olumulo lati yi awọn ọrọ igbaniwọle wọn pada ni gbogbo ọjọ x. Awọn iwadi kan ti wa ti o fihan pe eyi tun jẹ ipalara si ailewu.

Ọpọlọpọ awọn nkan ni a ti kọ lori koko ti awọn ijiroro wọnyi, eyiti o ṣeduro aaye kan tabi omiiran. Ṣugbọn eyi kii ṣe ohun ti a yoo jiroro ninu nkan yii. Nkan yii yoo sọrọ nipa bii o ṣe le ṣeto idiju ọrọ igbaniwọle ni deede kuku ju ṣakoso eto imulo aabo.

Ọrọigbaniwọle Afihan Eto

Ni isalẹ iwọ yoo wo awọn aṣayan eto imulo ọrọ igbaniwọle ati apejuwe kukuru ti ọkọọkan. Ọpọlọpọ awọn ti wọn wa ni iru si awọn paramita ni module cracklib. Ọna yii jẹ ki o rọrun lati gbe awọn eto imulo rẹ silẹ lati inu eto ohun-ini.

  • difok - Nọmba awọn ohun kikọ ninu ọrọ igbaniwọle tuntun rẹ ti ko yẹ ki o wa ninu ọrọ igbaniwọle atijọ rẹ. (Ayipada 5)
  • minlen – Kere ọrọigbaniwọle ipari. (Ayipada 9)
  • gbese - Nọmba ti o pọ julọ ti awọn kirẹditi fun lilo awọn ohun kikọ nla (ti o ba jẹ paramita> 0), tabi nọmba ti o kere julọ ti awọn ohun kikọ oke-nla (ti o ba jẹ paramita <0). Aiyipada jẹ 1.
  • kredit - Nọmba ti o pọju ti awọn kirẹditi fun lilo awọn ohun kikọ kekere (ti o ba jẹ paramita> 0), tabi nọmba ti o kere julọ ti awọn ohun kikọ kekere ti a beere (ti o ba jẹ paramita <0). Aiyipada jẹ 1.
  • dcredit - Nọmba ti o pọju ti awọn kirẹditi fun lilo awọn nọmba (ti o ba jẹ paramita> 0), tabi nọmba ti o kere julọ ti awọn nọmba (ti o ba jẹ paramita <0). Aiyipada jẹ 1.
  • gbese - Nọmba ti o pọju ti awọn kirẹditi fun lilo awọn aami miiran (ti o ba jẹ paramita> 0), tabi nọmba ti o kere julọ ti awọn aami miiran (ti o ba jẹ paramita <0). Aiyipada jẹ 1.
  • minclass - Ṣeto nọmba awọn kilasi ti o nilo. Awọn kilasi pẹlu awọn paramita ti o wa loke (awọn ohun kikọ ọran oke, awọn ohun kikọ kekere, awọn nọmba, awọn ohun kikọ miiran). Aiyipada jẹ 0.
  • max tun - Nọmba ti o pọ julọ ti awọn akoko ohun kikọ le tun ṣe ni ọrọ igbaniwọle kan. Aiyipada jẹ 0.
  • maxclass tun - Nọmba ti o pọju ti awọn ohun kikọ itẹlera ni kilasi kan. Aiyipada jẹ 0.
  • gecoscheck - Ṣayẹwo boya ọrọ igbaniwọle ni eyikeyi awọn ọrọ lati awọn okun GECOS olumulo. (Alaye olumulo, ie orukọ gidi, ipo, ati bẹbẹ lọ) Aiyipada jẹ 0 (pa).
  • dictpath – Jẹ ká lọ si cracklib iwe itumo.
  • awọn ọrọ buburu - Awọn ọrọ ti o ya sọtọ aaye ti o jẹ eewọ ninu awọn ọrọ igbaniwọle (orukọ Ile-iṣẹ, ọrọ “ọrọigbaniwọle”, ati bẹbẹ lọ).

Ti imọran ti awọn awin ba dun ajeji, o dara, o jẹ deede. A yoo sọrọ diẹ sii nipa eyi ni awọn apakan atẹle.

Ọrọigbaniwọle Afihan iṣeto ni

Ṣaaju ki o to bẹrẹ ṣiṣatunṣe awọn faili atunto, o jẹ adaṣe ti o dara lati kọ eto imulo ọrọ igbaniwọle ipilẹ kan siwaju. Fun apẹẹrẹ, a yoo lo awọn ofin iṣoro wọnyi:

  • Ọrọigbaniwọle gbọdọ ni ipari to kere ju awọn ohun kikọ 15.
  • Ohun kikọ kanna ko yẹ ki o tun ṣe ju ẹẹmeji lọ ninu ọrọ igbaniwọle.
  • Awọn kilasi ohun kikọ le tun ṣe ni igba mẹrin ni ọrọ igbaniwọle kan.
  • Ọrọigbaniwọle gbọdọ ni awọn ohun kikọ lati kilasi kọọkan.
  • Ọrọigbaniwọle tuntun gbọdọ ni awọn ohun kikọ tuntun 5 ni akawe si ti atijọ.
  • Ṣiṣe ayẹwo GECOS.
  • Fi ofin de awọn ọrọ “ọrọ igbaniwọle, kọja, ọrọ, putorius”

Ni bayi ti a ti ṣeto eto imulo, a le ṣatunkọ faili naa /etc/security/pwquality.conflati mu awọn ibeere idiju ọrọ igbaniwọle pọ si. Ni isalẹ jẹ faili apẹẹrẹ pẹlu awọn asọye fun oye to dara julọ.

# 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

Bi o ṣe le ti ṣe akiyesi, diẹ ninu awọn paramita ninu faili wa jẹ apọju. Fun apẹẹrẹ, paramita minclass jẹ laiṣe niwon a ti lo o kere ju awọn ohun kikọ meji lati inu kilasi nipa lilo awọn aaye [u,l,d,o]credit. Atokọ awọn ọrọ wa ti a ko le lo tun jẹ apọju, nitori a ti ni idinamọ atunwi eyikeyi kilasi ni igba 4 (gbogbo awọn ọrọ inu atokọ wa ni a kọ sinu awọn kikọ kekere). Mo ti ṣafikun awọn aṣayan wọnyi nikan lati ṣafihan bi o ṣe le lo wọn lati tunto eto imulo ọrọ igbaniwọle rẹ.
Ni kete ti o ti ṣẹda eto imulo rẹ, o le fi ipa mu awọn olumulo lati yi awọn ọrọ igbaniwọle wọn pada nigbamii ti wọn wọle. eto naa.

Ohun ajeji miiran ti o le ti ṣe akiyesi ni pe awọn aaye [u,l,d,o]credit ni a odi nọmba. Eyi jẹ nitori awọn nọmba ti o tobi ju tabi dogba si 0 yoo funni ni kirẹditi fun lilo ohun kikọ ninu ọrọ igbaniwọle rẹ. Ti aaye naa ba ni nọmba odi kan, o tumọ si pe iye kan nilo.

Kini awọn awin?

Mo pe wọn ni awọn awin nitori iyẹn ṣafihan idi wọn ni deede bi o ti ṣee. Ti iye paramita ba tobi ju 0, o ṣafikun nọmba kan ti “awọn kirẹditi ohun kikọ” ti o dọgba si “x” si ipari ọrọ igbaniwọle. Fun apẹẹrẹ, ti gbogbo awọn paramita (u,l,d,o)credit ṣeto si 1, ati ipari ọrọ igbaniwọle ti o nilo jẹ 6, lẹhinna iwọ yoo nilo awọn ohun kikọ 6 lati ni itẹlọrun ibeere gigun, nitori pe lẹta nla kọọkan, kekere, nọmba, tabi ohun kikọ miiran yoo fun ọ ni kirẹditi kan.

Ti o ba fi sori ẹrọ dcredit ni 2, o le oṣeeṣe lo ọrọigbaniwọle ti o jẹ 9 kikọ gun ati ki o gba 2 ohun kikọ kirediti fun awọn nọmba, ati ki o si awọn ọrọigbaniwọle ipari le tẹlẹ jẹ 10.

Wo apẹẹrẹ yii. Mo ṣeto gigun ọrọ igbaniwọle si 13, ṣeto dcredit si 2, ati ohun gbogbo miiran si 0.

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

$ pwscore
 Th1sistwelve
 18

Ayẹwo akọkọ mi kuna nitori ọrọ igbaniwọle kere ju awọn kikọ 13 gun. Nigbamii ti Mo yi lẹta “I” pada si nọmba “1” ati gba awọn kirẹditi meji fun awọn nọmba naa, eyiti o jẹ ki ọrọ igbaniwọle dọgba si 13.

Idanwo ọrọ igbaniwọle

Apoti libpwquality pese awọn iṣẹ ti a sapejuwe ninu awọn article. O tun wa pẹlu eto kan pwscore, eyi ti a ṣe lati ṣayẹwo idiju ọrọ igbaniwọle. A lo o loke lati ṣayẹwo awọn awin.
IwUlO pwscore ka lati stdin. Kan ṣiṣẹ ohun elo naa ki o kọ ọrọ igbaniwọle rẹ, yoo ṣafihan aṣiṣe tabi iye kan lati 0 si 100.

Dimegilio didara ọrọ igbaniwọle jẹ ibatan si paramita naa minlen ninu faili iṣeto ni. Ni gbogbogbo, Dimegilio ti o kere ju 50 ni a gba si “ọrọ igbaniwọle deede”, ati Dimegilio loke rẹ ni a gba pe “ọrọ igbaniwọle to lagbara”. Eyikeyi ọrọ igbaniwọle ti o kọja awọn sọwedowo didara (paapaa ijẹrisi fi agbara mu cracklib) gbọdọ koju awọn ikọlu iwe-itumọ, ati ọrọ igbaniwọle pẹlu Dimegilio loke 50 pẹlu eto minlen ani nipa aiyipada brute force awọn ikọlu.

ipari

Ṣe akanṣe pwquality - o rọrun ati rọrun ni akawe si aibalẹ ti lilo cracklib pẹlu taara faili ṣiṣatunkọ pam. Ninu itọsọna yii, a ti bo ohun gbogbo ti iwọ yoo nilo nigbati o ba ṣeto awọn eto imulo ọrọ igbaniwọle lori Red Hat 7, CentOS 7, ati paapaa awọn eto Ubuntu. A tun ti sọrọ nipa awọn Erongba ti awọn awin, eyi ti o ti wa ni ṣọwọn kọ nipa ninu awọn apejuwe, ki yi koko igba wa koyewa si awon ti o ti ko ba pade tẹlẹ.

Awọn orisun:

pwquality eniyan iwe
pam_pwquality okunrin
pwscore eniyan iwe

Awọn ọna asopọ to wulo:

Yiyan Awọn ọrọ igbaniwọle to ni aabo - Bruce Schneier
Lorrie Faith Cranor jiroro lori awọn ẹkọ ọrọ igbaniwọle rẹ ni CMU
Aworan efe xkcd olokiki lori Entropy

orisun: www.habr.com

Fi ọrọìwòye kun