Linuxda parol siyosatini yaratish

Yana bir bor salom! Yangi kurs guruhida darslar ertaga boshlanadi "Linux administratori", shu munosabat bilan biz mavzu bo'yicha foydali maqolani nashr etmoqdamiz.

Linuxda parol siyosatini yaratish

Oldingi qo'llanmada biz sizga qanday foydalanishni aytdik pam_cracklibtizimlardagi parollarni murakkabroq qilish Qizil shapka 6 yoki CentOS. Red Hat 7 da pam_pwquality almashtirildi cracklib sifatda pam parollarni tekshirish uchun standart modul. Modul pam_pwquality Ubuntu va CentOS, shuningdek, boshqa ko'plab operatsion tizimlarda ham qo'llab-quvvatlanadi. Ushbu modul foydalanuvchilar parolingiz kuch standartlarini qabul qilishlarini ta'minlash uchun parol siyosatlarini yaratishni osonlashtiradi.

Uzoq vaqt davomida parollarga umumiy yondashuv foydalanuvchini katta, kichik harflar, raqamlar yoki boshqa belgilardan foydalanishga majbur qilish edi. Parol murakkabligi bo'yicha ushbu asosiy qoidalar so'nggi o'n yil ichida keng targ'ib qilingan. Bu yaxshi amaliyotmi yoki yo'qmi haqida ko'p muhokamalar bo'ldi. Bunday murakkab shartlarni o'rnatishga qarshi asosiy dalil foydalanuvchilar parollarni qog'oz bo'laklariga yozib olishlari va ularni xavfsiz saqlashlari edi.

Yaqinda so'roq ostida qolgan yana bir siyosat foydalanuvchilarni har x kunda o'z parollarini o'zgartirishga majbur qiladi. Ba'zi tadqiqotlar shuni ko'rsatdiki, bu xavfsizlikka ham zarar etkazishi mumkin.

Ushbu munozaralar mavzusida u yoki bu nuqtai nazarni asoslaydigan ko'plab maqolalar yozilgan. Ammo bu biz ushbu maqolada muhokama qiladigan narsa emas. Ushbu maqola xavfsizlik siyosatini boshqarishdan ko'ra parol murakkabligini qanday qilib to'g'ri o'rnatish haqida gapiradi.

Parol siyosati sozlamalari

Quyida siz parol siyosati variantlarini va har birining qisqacha tavsifini ko'rasiz. Ularning ko'pchiligi moduldagi parametrlarga o'xshash cracklib. Ushbu yondashuv eski tizimdan siyosatlaringizni ko'chirishni osonlashtiradi.

  • Uzr so'rayman - Yangi parolingizdagi eski parolingizda bo'lmasligi kerak bo'lgan belgilar soni. (Standart 5)
  • minlen - Minimal parol uzunligi. (Birlamchi 9)
  • kredit – Katta harflardan foydalanish uchun maksimal kreditlar soni (parametr > 0 bo'lsa) yoki katta harflarning minimal talab qilinadigan soni (parametr < 0 bo'lsa). Standart 1.
  • kredit — Kichik harflardan foydalanish uchun maksimal kreditlar soni (agar parametr > 0 bo'lsa) yoki kichik harflarning minimal talab qilinadigan soni (parametr < 0 bo'lsa). Standart 1.
  • kredit — Raqamlardan foydalanish uchun maksimal kreditlar soni (agar parametr > 0 bo'lsa) yoki minimal talab qilinadigan raqamlar soni (agar parametr < 0 bo'lsa). Standart 1.
  • u ishonadi — Boshqa belgilardan foydalanish uchun maksimal kreditlar soni (agar parametr > 0 bo'lsa) yoki boshqa belgilarning minimal talab qilinadigan soni (agar parametr < 0 bo'lsa). Standart 1.
  • kichik sinf – Kerakli sinflar sonini belgilaydi. Sinflar yuqoridagi parametrlarni (katta harflar, kichik harflar, raqamlar, boshqa belgilar) o'z ichiga oladi. Standart 0.
  • maksimal takrorlash – Parolda belgi takrorlanishi mumkin bo‘lgan maksimal soni. Standart 0.
  • maxclassrepeat — Bitta sinfdagi ketma-ket belgilarning maksimal soni. Standart 0.
  • gekoshka – Parolda foydalanuvchining GECOS satrlaridan biron-bir so‘z bor yoki yo‘qligini tekshiradi. (Foydalanuvchi ma'lumotlari, ya'ni haqiqiy ism, joylashuv va boshqalar) Standart 0 (o'chirilgan).
  • diktpath – Keling, cracklib lug'atlariga boraylik.
  • yomon so'zlar – Parollarda taqiqlangan boʻshliqlar bilan ajratilgan soʻzlar (Kompaniya nomi, “parol” soʻzi va boshqalar).

Agar kredit tushunchasi g'alati tuyulsa, bu yaxshi, bu normal holat. Bu haqda keyingi bo'limlarda ko'proq gaplashamiz.

Parol siyosati konfiguratsiyasi

Konfiguratsiya fayllarini tahrirlashni boshlashdan oldin, asosiy parol siyosatini oldindan yozib qo'yish yaxshi amaliyotdir. Masalan, biz quyidagi qiyinchilik qoidalaridan foydalanamiz:

  • Parol kamida 15 belgidan iborat bo'lishi kerak.
  • Parolda bir xil belgi ikki martadan ortiq takrorlanmasligi kerak.
  • Belgilar sinflari parolda to'rt martagacha takrorlanishi mumkin.
  • Parol har bir sinfdagi belgilarni o'z ichiga olishi kerak.
  • Yangi parol eskisiga nisbatan 5 ta yangi belgidan iborat bo'lishi kerak.
  • GECOS tekshiruvini yoqing.
  • "Parol, o'tish, so'z, putorius" so'zlarini taqiqlang

Endi biz siyosatni belgilab oldik, faylni tahrirlashimiz mumkin /etc/security/pwquality.confparol murakkabligi talablarini oshirish. Quyida yaxshiroq tushunish uchun sharhlar bilan fayl namunasi keltirilgan.

# 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

E'tibor bergan bo'lsangiz kerak, faylimizdagi ba'zi parametrlar ortiqcha. Masalan, parametr minclass ortiqcha, chunki biz allaqachon maydonlar yordamida sinfdan kamida ikkita belgi ishlatamiz [u,l,d,o]credit. Foydalanish mumkin bo'lmagan so'zlar ro'yxati ham ortiqcha, chunki biz har qanday sinfni 4 marta takrorlashni taqiqlaganmiz (bizning ro'yxatdagi barcha so'zlar kichik harflar bilan yozilgan). Men bu opsiyalarni faqat parol siyosatingizni sozlash uchun ulardan qanday foydalanishni ko‘rsatish uchun kiritdim.
Siyosatingizni yaratganingizdan so'ng, foydalanuvchilarni keyingi safar tizimga kirishlarida parollarini o'zgartirishga majburlashingiz mumkin. tizim.

Yana bir g'alati narsa siz payqagan bo'lishi mumkin, bu dalalar [u,l,d,o]credit manfiy raqamni o'z ichiga oladi. Buning sababi, 0 dan katta yoki unga teng raqamlar parolingizdagi belgidan foydalanish uchun kredit beradi. Agar maydonda manfiy raqam bo'lsa, bu ma'lum miqdor talab qilinishini anglatadi.

Kreditlar nima?

Men ularni kreditlar deb atayman, chunki bu ularning maqsadlarini iloji boricha aniqroq etkazadi. Agar parametr qiymati 0 dan katta bo'lsa, siz parol uzunligiga "x" ga teng "belgi kreditlari" sonini qo'shasiz. Misol uchun, agar barcha parametrlar bo'lsa (u,l,d,o)credit 1 ga o'rnating va kerakli parol uzunligi 6 bo'lsa, uzunlik talabini qondirish uchun sizga 6 ta belgi kerak bo'ladi, chunki har bir katta, kichik harf, raqam yoki boshqa belgilar sizga bitta kredit beradi.

Agar o'rnatsangiz dcredit 2-da siz nazariy jihatdan 9 belgidan iborat paroldan foydalanishingiz va raqamlar uchun 2 belgi kreditini olishingiz mumkin, keyin parol uzunligi allaqachon 10 bo'lishi mumkin.

Bu misolga qarang. Men parol uzunligini 13 ga, dcreditni 2 ga, qolganlarini esa 0 ga qo'ydim.

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

$ pwscore
 Th1sistwelve
 18

Mening birinchi tekshiruvim muvaffaqiyatsiz tugadi, chunki parol 13 ta belgidan kam edi. Keyingi safar men "I" harfini "1" raqamiga o'zgartirdim va raqamlar uchun ikkita kredit oldim, bu parolni 13 ga teng qildi.

Parol sinovi

Paket libpwquality maqolada tasvirlangan funksionallikni ta'minlaydi. Bundan tashqari, dastur bilan birga keladi pwscore, bu parol murakkabligini tekshirish uchun mo'ljallangan. Biz yuqorida kreditlarni tekshirish uchun foydalandik.
Qulaylik pwscore dan o'qiydi STDIN. Faqat yordamchi dasturni ishga tushiring va parolingizni yozing, u xato yoki 0 dan 100 gacha bo'lgan qiymatni ko'rsatadi.

Parol sifati ko'rsatkichi parametr bilan bog'liq minlen konfiguratsiya faylida. Umuman olganda, 50 dan kam ball “oddiy parol”, undan yuqori ball esa “kuchli parol” hisoblanadi. Sifat tekshiruvidan o'tgan har qanday parol (ayniqsa majburiy tekshirish cracklib) lug'at hujumlariga bardosh berishi kerak va sozlamalar bilan 50 balldan yuqori ballga ega parol minlen hatto sukut bo'yicha ham brute force hujumlar.

xulosa

moslashish pwquality - foydalanishning noqulayligi bilan solishtirganda oson va sodda cracklib to'g'ridan-to'g'ri fayllarni tahrirlash bilan pam. Ushbu qo'llanmada biz Red Hat 7, CentOS 7 va hatto Ubuntu tizimlarida parol siyosatini o'rnatishda kerak bo'ladigan hamma narsani ko'rib chiqdik. Biz, shuningdek, kamdan-kam hollarda batafsil yoziladigan kreditlar tushunchasi haqida gapirdik, shuning uchun bu mavzu ko'pincha ilgari duch kelmaganlar uchun tushunarsiz bo'lib qoldi.

Manbalar:

pwquality man sahifasi
pam_pwquality man sahifasi
pwscore man sahifasi

Foydali havolalar:

Xavfsiz parollarni tanlash - Bryus Shnayer
Lorri Faith Cranor CMUda parolni o'rganishni muhokama qiladi
Entropiya bo'yicha badnom xkcd multfilmi

Manba: www.habr.com

a Izoh qo'shish