Kreye yon politik modpas nan Linux

Bonjou ankò! Klas nan nouvo gwoup kou a kòmanse demen "Administratè Linux", nan sans sa a, nou ap pibliye yon atik itil sou sijè a.

Kreye yon politik modpas nan Linux

Nan leson patikilye anvan an nou te di w kouman pou itilize pam_cracklibfè modpas sou sistèm yo pi konplèks Chapo Wouj 6 oswa CentOS. Nan Red Hat 7 pam_pwquality ranplase cracklib kòm pam modil default pou tcheke modpas yo. Modil pam_pwquality sipòte tou sou Ubuntu ak CentOS, osi byen ke anpil lòt OS. Modil sa a fè li fasil pou kreye politik modpas pou asire itilizatè yo aksepte estanda fòs modpas ou yo.

Pou yon tan long, apwòch komen nan modpas se te fòse itilizatè a sèvi ak majiskil, miniskil, nimewo, oswa lòt senbòl. Règ debaz sa yo pou konpleksite modpas yo te lajman ankouraje pandan dis ane ki sot pase yo. Te gen anpil diskisyon sou si sa a se yon bon pratik oswa ou pa. Agiman prensipal kont mete kondisyon sa yo konplèks se ke itilizatè yo ekri modpas sou moso papye epi estoke yo san sekirite.

Yon lòt politik ki dènyèman te rele nan kesyon fòse itilizatè yo chanje modpas yo chak x jou. Te gen kèk etid ki montre ke sa a tou prejidis pou sekirite.

Anpil atik yo te ekri sou sijè diskisyon sa yo, ki pwouve yon pwennvi oswa yon lòt. Men, se pa sa nou pral diskite nan atik sa a. Atik sa a pral pale sou ki jan yo kòrèkteman mete konpleksite modpas la olye ke jere politik sekirite a.

Anviwònman Règleman Modpas

Anba a ou pral wè opsyon politik modpas yo ak yon deskripsyon tou kout sou chak. Anpil nan yo sanble ak paramèt yo nan modil la cracklib. Apwòch sa a fè li pi fasil pou pò politik ou yo nan sistèm eritaj la.

  • difok – Kantite karaktè nan nouvo modpas ou a ki PA ta dwe prezan nan ansyen modpas ou a. (Default 5)
  • minlen - Minimòm longè modpas. (Default 9)
  • ukredi – Kantite maksimòm kredi pou itilize karaktè majiskil (si paramèt > 0), oswa kantite minimòm ki nesesè nan karaktè majiskil (si paramèt < 0). Default se 1.
  • lkredi — Kantite maksimòm kredi pou itilize karaktè miniskil (si paramèt > 0), oswa kantite minimòm ki nesesè nan karaktè miniskil (si paramèt < 0). Default se 1.
  • dkredi — Kantite maksimòm kredi pou itilize chif (si paramèt > 0), oswa kantite minimòm ki nesesè nan chif (si paramèt < 0). Default se 1.
  • okredi — Kantite maksimòm kredi pou itilize lòt senbòl (si paramèt > 0), oswa kantite minimòm lòt senbòl ki nesesè yo (si paramèt < 0). Default se 1.
  • minclass – Fikse kantite klas ki nesesè yo. Klas yo enkli paramèt ki anwo yo (karaktè majiskil, karaktè miniskil, nimewo, lòt karaktè). Default se 0.
  • maxrepeat – Kantite maksimòm fwa yon karaktè ka repete nan yon modpas. Default se 0.
  • maxclassrepeat — Kantite maksimòm karaktè youn apre lòt nan yon klas. Default se 0.
  • gecoscheck – Tcheke si modpas la gen nenpòt mo ki soti nan kòd GECOS itilizatè a. (Enfòmasyon itilizatè, sa vle di non reyèl, kote, elatriye) Default se 0 (off).
  • dictpath – Ann ale nan diksyonè cracklib.
  • mo move – Mo ki separe ak espas ki entèdi nan modpas (non konpayi an, mo "modpas la", elatriye).

Si konsèp prè son etranj, li oke, li nòmal. Nou pral pale plis sou sa a nan seksyon sa yo.

Modpas Règleman Konfigirasyon

Anvan ou kòmanse modifye fichye konfigirasyon, li se yon bon pratik pou ekri yon politik modpas debaz davans. Pou egzanp, nou pral sèvi ak règ difikilte sa yo:

  • Modpas la dwe gen yon longè minimòm de 15 karaktè.
  • Menm karaktè a pa ta dwe repete plis pase de fwa nan modpas la.
  • Klas karaktè yo ka repete jiska kat fwa nan yon modpas.
  • Modpas la dwe genyen karaktè nan chak klas.
  • Nouvo modpas la dwe gen 5 nouvo karaktè konpare ak ansyen an.
  • Pèmèt chèk GECOS.
  • Entèdi mo "modpas, pase, mo, putorius"

Kounye a ke nou te mete deyò politik la, nou ka edite fichye a /etc/security/pwquality.confpou ogmante kondisyon konpleksite modpas. Anba a se yon egzanp dosye ak kòmantè pou pi bon konpreyansyon.

# 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

Kòm ou ka remake, kèk paramèt nan dosye nou an se redondants. Pou egzanp, paramèt la minclass se redondants paske nou deja itilize omwen de karaktè nan klas la lè l sèvi avèk jaden [u,l,d,o]credit. Lis mo nou yo ki pa ka itilize yo se tou redondants, paske nou entèdi repete nenpòt klas 4 fwa (tout mo nan lis nou an ekri ak karaktè miniskil). Mwen te enkli opsyon sa yo sèlman pou montre kijan pou itilize yo pou konfigirasyon politik modpas ou.
Yon fwa ou te kreye politik ou a, ou ka fòse itilizatè yo chanje modpas yo pwochen fwa yo konekte. sistèm lan.

Yon lòt bagay etranj ou ka remake se ke jaden yo [u,l,d,o]credit genyen yon nimewo negatif. Sa a se paske nimewo ki pi gran pase oswa egal a 0 pral bay kredi pou itilize karaktè nan modpas ou a. Si jaden an gen yon nimewo negatif, sa vle di ke yon sèten kantite nesesè.

Ki sa ki prè?

Mwen rele yo prè paske sa transmèt objektif yo avèk presizyon ke posib. Si valè paramèt la pi gran pase 0, ou ajoute yon kantite "kredi karaktè" ki egal a "x" nan longè modpas la. Pou egzanp, si tout paramèt (u,l,d,o)credit mete sou 1 epi longè modpas obligatwa a te 6, Lè sa a, w ap bezwen 6 karaktè pou satisfè egzijans longè paske chak majiskil, miniskil, chif oswa lòt karaktè ap ba ou yon kredi.

Si ou enstale dcredit nan 2, ou ta ka teyorikman itilize yon modpas ki gen 9 karaktè epi jwenn 2 kredi karaktè pou nimewo, ak Lè sa a, longè modpas la ka deja 10.

Gade egzanp sa a. Mwen mete longè modpas la sou 13, mete dcredit sou 2, ak tout lòt bagay sou 0.

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

$ pwscore
 Th1sistwelve
 18

Premye chèk mwen an echwe paske modpas la te gen mwens pase 13 karaktè. Pwochenn fwa mwen chanje lèt "I" a nan nimewo "1" epi mwen te resevwa de kredi pou nimewo yo, ki te fè modpas la egal a 13.

Tès modpas

Pake libpwquality bay fonksyonalite ki dekri nan atik la. Li tou vini ak yon pwogram pwscore, ki fèt pou tcheke konpleksite modpas. Nou itilize li pi wo a pou tcheke prè.
Sèvis piblik pwscore li soti nan stdin. Jis kouri sèvis piblik la epi ekri modpas ou a, li pral montre yon erè oswa yon valè soti nan 0 a 100.

Nòt bon jan kalite modpas la gen rapò ak paramèt la minlen nan dosye konfigirasyon an. An jeneral, yon nòt ki mwens pase 50 konsidere kòm yon "modpas nòmal", epi yon nòt ki pi wo a konsidere kòm yon "modpas fò". Nenpòt modpas ki pase chèk kalite (sitou verifikasyon fòse cracklib) dwe kenbe tèt ak atak diksyonè, ak yon modpas ak yon nòt pi wo a 50 ak anviwònman an minlen menm pa default brute force atak.

Konklizyon

ajisteman pwquality - li fasil ak senp konpare ak deranjman nan itilize cracklib ak koreksyon dosye dirèk pam. Nan gid sa a, nou te kouvri tout sa w ap bezwen lè w ap mete règleman sou modpas yo sou Red Hat 7, CentOS 7, e menm sistèm Ubuntu. Nou menm tou nou te pale sou konsèp nan prè, ki se raman ekri sou an detay, kidonk sijè sa a souvan te rete klè pou moun ki pa te deja rankontre li.

Sous:

paj man pwquality
pam_pwquality man page
paj man pwscore

Lyen itil:

Chwazi modpas sekirite - Bruce Schneier
Lorrie Faith Cranor diskite sou etid modpas li nan CMU
Infamous xkcd desen ki pi ba a sou Entropi

Sous: www.habr.com

Add nouvo kòmantè