Linux ичинде сырсөз саясатын түзүү

Дагы бир жолу салам! Жаңы курс группасында сабактар ​​эртең башталат "Linux администратору", ушуга байланыштуу биз темага пайдалуу макаланы жарыялап жатабыз.

Linux ичинде сырсөз саясатын түзүү

Мурунку окуу куралында биз кантип колдонуу керектигин айтканбыз pam_cracklibсистемалардагы сырсөздөрдү татаалыраак кылуу Кызыл калпак 6 же CentOS. Red Hat 7 pam_pwquality алмаштырылган cracklib катары pam сырсөздөрдү текшерүү үчүн демейки модул. Модуль pam_pwquality ошондой эле Ubuntu жана CentOS, ошондой эле көптөгөн башка ОСларда колдоого алынат. Бул модул колдонуучулар сиздин сырсөзүңүздүн күч стандарттарын кабыл алышын камсыз кылуу үчүн сырсөз саясатын түзүүнү жеңилдетет.

Узак убакыт бою сырсөздөрдүн жалпы ыкмасы колдонуучуну чоң, кичине тамгаларды, сандарды же башка символдорду колдонууга мажбурлоо болгон. Сырсөздүн татаалдыгы үчүн бул негизги эрежелер акыркы он жылдын ичинде кеңири жайылтылды. Бул жакшы практикабы же жокпу деген көп талкуулар болду. Мындай татаал шарттарды коюуга каршы негизги аргумент колдонуучулар паролдорду кагаз бетине жазып алып, кооптуу сактаганы болду.

Жакында суроо жараткан дагы бир саясат колдонуучуларды сырсөздөрүн ар бир x күн сайын алмаштырууга мажбурлайт. Бул да коопсуздукка зыян экенин көрсөткөн кээ бир изилдөөлөр бар.

Бул талкуулардын темасы боюнча тигил же бул көз карашты негиздеген көптөгөн макалалар жазылды. Бирок бул биз бул макалада талкуулай турган нерсе эмес. Бул макалада коопсуздук саясатын башкаруунун ордуна сырсөз татаалдыгын кантип туура орнотуу керектиги жөнүндө сөз болот.

Сырсөз саясатынын жөндөөлөрү

Төмөндө сиз сырсөз саясатынын параметрлерин жана ар биринин кыскача сүрөттөмөсүн көрөсүз. Алардын көбү модулдагы параметрлерге окшош cracklib. Бул ыкма саясаттарыңызды эски тутумдан көчүрүүнү жеңилдетет.

  • difok – Жаңы сырсөзүңүздө эски сырсөзүңүздө БОЛБОГОН символдордун саны. (Демейки 5)
  • минлен – Минималдуу сырсөз узундугу. (Демейки 9)
  • кредит – Чоң тамгаларды колдонуу үчүн кредиттердин максималдуу саны (эгер параметр > 0 болсо) же чоң тамгалардын минималдуу талап кылынган саны (эгерде параметр < 0 болсо). Демейки 1.
  • кредит — Кичи тамгаларды колдонуу үчүн кредиттердин максималдуу саны (эгер параметр > 0 болсо), же кичине тамгалардын минималдуу талап кылынган саны (эгер параметр < 0 болсо). Демейки 1.
  • dcredit — Сандарды колдонуу үчүн кредиттердин максималдуу саны (эгер параметр > 0 болсо) же цифралардын минималдуу талап кылынган саны (эгер параметр < 0 болсо). Демейки 1.
  • кредит — Башка символдорду колдонуу үчүн кредиттердин максималдуу саны (эгер параметр > 0 болсо) же башка символдордун минималдуу талап кылынган саны (эгерде параметр < 0 болсо). Демейки 1.
  • минкласс – Керектүү класстардын санын белгилейт. Класстар жогорудагы параметрлерди камтыйт (жогорку тамгалар, кичине тамгалар, сандар, башка символдор). Демейки 0.
  • maxrepeat – Сырсөздө белгини канча жолу кайталаса болот. Демейки 0.
  • maxclassrepeat — Бир класстагы ырааттуу символдордун максималдуу саны. Демейки 0.
  • gecoscheck – Сырсөздө колдонуучунун GECOS саптарынан кандайдыр бир сөздөр бар же жок экенин текшерет. (Колдонуучунун маалыматы, б.а. чыныгы аты, жайгашкан жери, ж.б.) Демейки 0 (өчүрүү).
  • dictpath - Келгиле cracklib сөздүктөрүнө баралы.
  • жаман сөздөр – Паролдордо тыюу салынган боштук менен бөлүнгөн сөздөр (компаниянын аталышы, “пароль” сөзү ж.б.).

Эгерде кредит деген түшүнүк кызыктай угулса, анда эч нерсе жок, бул нормалдуу көрүнүш. Бул тууралуу кийинки бөлүмдөрдө көбүрөөк сүйлөшөбүз.

Сырсөз саясатынын конфигурациясы

Конфигурация файлдарын түзөтүүнү баштоодон мурун, негизги сырсөз саясатын алдын ала жазып алуу жакшы практика. Мисалы, биз төмөнкү кыйынчылык эрежелерин колдонобуз:

  • Сырсөз эң аз 15 белгиден турушу керек.
  • Сырсөздө бир эле белги эки жолудан ашык кайталанбашы керек.
  • Символ класстары сырсөздө төрт жолуга чейин кайталанышы мүмкүн.
  • Сырсөз ар бир класстын символдорун камтышы керек.
  • Жаңы сырсөз эскиге салыштырмалуу 5 жаңы символдон турушу керек.
  • GECOS текшерүүсүн иштетүү.
  • "пароль, өтүү, сөз, путориус" деген сөздөргө тыюу салуу

Эми саясатты аныктагандан кийин, биз файлды түзөтө алабыз /etc/security/pwquality.confсырсөз татаалдыгын жогорулатуу үчүн. Төмөндө жакшыраак түшүнүү үчүн комментарийлер менен файлдын үлгүсү келтирилген.

# 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

Сиз байкагандай, биздин файлдагы кээ бир параметрлер ашыкча. Мисалы, параметр minclass ашыкча, анткени биз талааларды колдонуп класстын жок дегенде эки символун колдонобуз [u,l,d,o]credit. Биздин колдонууга болбой турган сөздөрдүн тизмеси да ашыкча, анткени биз кайсы бир классты 4 жолу кайталоого тыюу салганбыз (биздин тизмедеги бардык сөздөр кичине тамгалар менен жазылган). Мен бул опцияларды сырсөз саясатыңызды конфигурациялоо үчүн аларды кантип колдонууну көрсөтүү үчүн гана киргиздим.
Саясатыңызды түзгөндөн кийин, колдонуучуларды кийинки жолу киргенде сырсөздөрүн өзгөртүүгө мажбурлай аласыз. систему.

Сиз байкаган дагы бир кызык нерсе, талаалар [u,l,d,o]credit терс санды камтыйт. Себеби 0дөн чоң же барабар сандар сырсөзүңүздөгү символду колдонуу үчүн кредит берет. Эгер талаа терс санды камтыса, бул белгилүү бир сан керек экенин билдирет.

Кредиттер деген эмне?

Мен аларды насыя деп атайм, анткени бул алардын максатын мүмкүн болушунча так көрсөтөт. Параметрдин мааниси 0дөн чоң болсо, сырсөздүн узундугуна "x" ге барабар бир катар "белги кредиттерин" кошосуз. Мисалы, бардык параметрлери болсо (u,l,d,o)credit 1ге коюлса жана талап кылынган сырсөз узундугу 6 болсо, анда узундук талабын канааттандыруу үчүн сизге 6 белги керек болот, анткени ар бир чоң, кичине тамга, цифра же башка символ сизге бир кредит берет.

Эгер орнотсоңуз dcredit 2де, теориялык жактан 9 белгиден турган сырсөздү колдонуп, сандар үчүн 2 символдук кредиттерди ала аласыз, андан кийин сырсөздүн узундугу 10 болушу мүмкүн.

Бул мисалды карагыла. Мен сырсөздүн узундугун 13 деп койдум, dcredit 2ге, калганын 0гө койдум.

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

$ pwscore
 Th1sistwelve
 18

Менин биринчи текшерүүм ишке ашпай калды, анткени сырсөз 13 белгиден азыраак болчу. Кийинки жолу мен "I" тамгасын "1" санына алмаштырдым жана паролду 13кө барабар кылган сандар үчүн эки кредит алдым.

Сырсөздү текшерүү

таңгак libpwquality макалада сүрөттөлгөн функцияларды камсыз кылат. Ал ошондой эле программа менен келет pwscore, бул сырсөз татаалдыгын текшерүү үчүн иштелип чыккан. Биз аны насыяларды текшерүү үчүн колдондук.
Коммуналдык pwscore тартып окуйт stdin. Жөн гана утилитаны иштетип, сырсөзүңүздү жазыңыз, ал ката же 0дөн 100гө чейинки маанини көрсөтөт.

Сырсөздүн сапат упайы параметрге байланыштуу minlen конфигурация файлында. Жалпысынан алганда, 50дөн аз балл "кадимки сырсөз", ал эми андан жогору балл "күчтүү сырсөз" болуп эсептелет. Сапатты текшерүүдөн өткөн ар кандай сырсөз (өзгөчө мажбурлап текшерүү cracklib) сөздүк чабуулдарына туруштук бериши керек жана орнотуу менен 50 баллдан жогору болгон сырсөз minlen демейки боюнча да brute force кол салуулар.

жыйынтыктоо

тууралоо pwquality - бул колдонуунун ыңгайсыздыгына салыштырмалуу жеңил жана жөнөкөй cracklib түз файл түзөтүү менен pam. Бул колдонмодо биз Red Hat 7, CentOS 7, жада калса Ubuntu системаларында сырсөз саясатын орнотууда сизге керек болгон нерселердин бардыгын карап чыктык. Биз ошондой эле сейрек майда-чүйдөсүнө чейин жазылган кредиттер түшүнүгү жөнүндө сөз кылдык, ошондуктан бул тема көп учурда аны менен жолукпагандар үчүн түшүнүксүз бойдон калууда.

булагы:

pwquality адам баракчасы
pam_pwquality адам баракчасы
pwscore адам баракчасы

Пайдалуу шилтемелер:

Коопсуз сырсөздөрдү тандоо - Брюс Шнайер
Лорри Фэйт Кранор CMUдеги сырсөз изилдөөсүн талкуулап жатат
Энтропия боюнча Infamous xkcd мультфильм

Source: www.habr.com

Комментарий кошуу