Linux-da şifrə siyasətinin yaradılması

Salam! Yarın yeni qrupun dərsləri başlayır. «Linux Administratoru», buna görə də mövzu ilə bağlı faydalı bir məqalə təqdim edirik.

Linux-da şifrə siyasətinin yaradılması

Ötən dərsimizdə biz pam_cracklib, sistemlərdə şifrələri çətinləşdirmək üçün necə istifadə edəcəyimizi izah etdik. Red Hat 6 və ya CentOS. Red Hat 7-də pam_pwquality əvəz etdi cracklib olarak pam şifrələrin yoxlanılması üçün varsayılan modul. Bu modul pam_pwquality Ubuntu və CentOS-da, habelə bir çox digər əməliyyat sistemlərində dəstəklənir. Bu modul, istifadəçilərin şifrə çətinlik standartlarınızı qəbul etməsini təmin etmək üçün şifrə siyasətlərinin yaradılmasını asanlaşdırır.

Uzun müddət şifrə üçün adi yanaşma istifadəçini böyük və kiçik hərf, rəqəmlər və ya digər simvollar istifadə etməyə məcbur etmək idi. Bu əsas şifrə çətinlik qaydaları son on ildə fəal olaraq təbliğ edilir. Bu yaxınlarda bunun yaxşı bir təcrübə olub-olmaması ilə bağlı çox sayda müzakirələr aparıldı. Belə çətin şərtləri qoymamağın əsas arqumenti, istifadəçilərin şifrələrini kağızda yazması və təhlükəsiz saxlamamasıdır.

Təqdim olunan digər bir siyasət isə, istifadəçiləri hər x gündən bir şifrəni dəyişdirməyə məcbur edir. Bəzi tədqiqatlar göstərir ki, bu da təhlükəsizliyə zərər verir.

Bu müzakirələrlə bağlı çox sayda məqalələr yazılıb ki, onlardan biri və ya digərinin mövqeyini müdafiə edir. Ancaq bunu bu məqalədə müzakirə etməyəcəyik. Bu məqalə düzgün şifrə çətinliyini necə təyin etmək haqqında olacaq, təhlükəsizlik siyasətini idarə etmədən.

Şifrə siyasəti parametrləri

Aşağıda şifrə siyasəti parametrləri və hər birinin qısa təsviri verilir. Bir çoxu cracklibmodulundakı parametrlərlə oxşardır. Bu yanaşma, köhnə sistemdən siyasətlərin köçürülməsini asanlaşdırır.

  • difok – Yeni şifrənizdə VAR olmaması lazım olan simvolların sayı. (Varsayılan 5)
  • minlen – Şifrənin minimum uzunluğu. (Varsayılan 9)
  • ucredit – Böyük hərflərin istifadəsinə görə maksimum kredit sayı (əgər parametr > 0), ya da böyük hərflərin minimum tələbi (əgər parametr < 0). Varsayılan 1.
  • lcredit — İstifadə olunan kiçik hərflərin maksimum kredit sayı (parametr > 0 olduqda), ya da kiçik hərflər üçün tələb olunan minimum simvol sayı (parametr < 0 olduqda). Standard olaraq 1-dir.
  • dcredit — İstifadə olunan rəqəmlərin maksimum kredit sayı (parametr > 0 olduqda), ya da rəqəmlər üçün tələb olunan minimum simvol sayı (parametr < 0 olduqda). Standard olaraq 1-dir.
  • ocredit — İstifadə olunan digər simvolların maksimum kredit sayı (parametr > 0 olduqda), ya da digər simvollar üçün tələb olunan minimum sayı (parametr < 0 olduqda). Standard olaraq 1-dir.
  • minclass – Tələb olunan siniflərin sayını müəyyən edir. Siniflər yuxarıda qeyd olunan parametrləri (böyük hərflər, kiçik hərflər, rəqəmlər, digər simvollar) əhatə edir. Standard olaraq 0-dır.
  • maxrepeat – Paroldakı simvolun maksimum təkrarlanma sayı. Standard olaraq 0-dır.
  • maxclassrepeat — Eyni sinifdəki maksimum ardıcıl simvolların sayı. Standard olaraq 0-dır.
  • gecoscheck – Parolda istifadəçinin GECOS sətirlərindən hər hansı bir sözün olub-olmadığını yoxlayır. (İstifadəçi haqqında məlumat, yəni, tam ad, yer və s.) Standard olaraq 0-dır (söndürülüb).
  • dictpath – cracklib lüğətləri üçün yol.
  • badwords – Parollarda qadağan edilən boşluqla ayrılmış sözlər (şirkət adı, "parol" sözü və s.).

Əgər kredit anlayışı qəribə görünürsə, narahat olmayın, bu normaldır. Biz bununla bağlı daha çox danışacağıq.

Parol siyasətinin konfiqurasiyası

Konfiqurasiya fayllarını redaktə etməyə başlamazdan əvvəl, parol siyasətini əvvəlcədən yazmaq yaxşı bir praktika hesab edilir. Məsələn, biz aşağıdakı mürəkkəblik qaydalarından istifadə edəcəyik:

  • Parolun minimum uzunluğu 15 simvol olmalıdır.
  • Parolda eyni simvol iki dəfədən çox təkrarlanmamalıdır.
  • Parolda simvol sinifləri dörd dəfə təkrarlana bilər.
  • Parolda hər sinifdən simvollar olmalıdır.
  • Yeni parol köhnə ilə müqayisədə 5 yeni simvola malik olmalıdır.
  • GECOS yoxlanmasını aktiv edin.
  • «password, pass, word, putorius» sözlərini qadağan edin.

İndi, siyasətimizi açıqladıqdan sonra, parol mürəkkəblik tələblərini gücləndirmək üçün /etc/security/pwquality.conffaylını redaktə edə bilərik. Aşağıda daha yaxşı başa düşmək üçün şərhlərlə dolu bir faylın nümunəsi təqdim olunur.

# 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

Gördüyünüz kimi, bəzi parametrlər bizim faylımızda artıqdır. Məsələn, parametr minclass artıqdır, çünki biz artıq iki simvolu istifadə edirik, sinifdən olanları istifadə edərək [u,l,d,o]credit. İstifadə etməyə icazə verilən sözlərin siyahısı da artıqdır, çünki biz hər hansı bir sinifi 4 dəfə təkrar etməyə qadağa qoymuşuq (siyahımızdakı bütün sözlər kiçik hərflərlə yazılmışdır). Bu parametrləri yalnız şifrələr siyasətini tənzimləmək üçün necə istifadə etməyi nümayiş etdirmək məqsədilə əlavə etdim.
Siyasətinizi yaratdıqdan sonra, istifadəçiləri növbəti girişdə şifrələrini dəyişməyə məcbur edə bilərsiniz sistemə.

Bəlkə də diqqət etdiyiniz başqa bir qəribə şey odur ki, sahələr [u,l,d,o]credit mənfi ədəd var. Bu, 0 və ya daha böyük ədədlərin şifrənizdə simvol istifadəsinə kredit verəcəyi mənasındadır. Əgər sahə mənfi ədəd saxlayırsa, bu, müəyyən sayda tələb olunduğunu göstərir.

Kreditlər (credit) nədir?

Mən onlara kreditlər deyirəm, çünki bu, onların məqsədini ən dəqiq şəkildə ifadə edir. Əgər parametrin dəyəri 0-dan böyükdürsə, siz şifrənin uzunluğuna "x" qədər "simvol krediti" əlavə edirsiniz. Məsələn, əgər bütün parametrlər (u,l,d,o)credit 1-ə quraşdırılırsa və tələblər 6 simvol idisə, deməli, uzunluq tələblərinə cavab vermək üçün 6 simvola ehtiyacınız olacaq, çünki hər bir böyük hərf, kiçik hərf, rəqəm və ya başqa simvol sizə bir kredit verəcək.

Əgər siz bunu dcredit 2-ə qursanız, nəzəri cəhətdən 9 simvolluq bir şifrə istifadə edə bilərsiniz və rəqəmlər üçün 2 kredit əldə edərsiniz, beləliklə uzunluğu 10 simvol ola bilər.

Bu nümunəyə baxın. Mən şifrənin uzunluğunu 13 olaraq təyin etdim, dcredit-i 2 olaraq təyin etdim, qalan hər şeyi isə 0 olaraq müəyyən etdim.

$ pwscore
 Thisistwelve
 Şifrə keyfiyyət yoxlaması uğursuz oldu:
  Şifrə 13 simvoldan qısa

$ pwscore
 Th1sistwelve
 18

Mənim ilk yoxlamam uğursuz oldu, çünki şifrənin uzunluğu 13 simvoldan qısa idi. Növbəti dəfə "I" hərfini "1" rəqəmi ilə dəyişdim və rəqəmlər üçün iki kredit aldım, bu da şifrəni 13-ə bərabərləşdirdi.

Şifrəni sınaqdan keçirmək

Paket libpwquality yuxarıda təqdim edilmiş funksiyaları təmin edir. Həmçinin, onunla birlikdə pwscore, şifrənin mürəkkəbliyini yoxlamaq üçün nəzərdə tutulmuş bir proqram təqdim edilir. Biz onu yuxarıda kreditləri yoxlamaq üçün istifadə etdik.
Araç pwscore bu saxdır stdin. Sadəcə bu istifadəni işə salın və şifrənizi yazın, o, bir səhv və ya 0-dan 100-ə qədər bir dəyər təqdim edəcək.

Şifrənin keyfiyyət göstəricisi parametr ilə müqayisə olunur minlen konfiqurasiya faylında. Ümumilikdə, 50-dən aşağı olan göstərici "normal şifrə" kimi, 50-dən yuxarı olan isə "güclü şifrə" kimi qəbul edilir. Keyfiyyət yoxlamalarından (xüsusilə məcburi yoxlama) keçən hər hansı bir şifrə cracklib) lüğət hücumlarına dözməli, 50-dən yuxarı olan şifrə isə konfiqurasiya ilə minlen standart olaraq brute force hücumlarına.

Nəticə

Konfiqurasiya pwquality birbaşa faylların redaktə edilməsinin yaratdığı narahatlıqlarla müqayisədə bu, asan və sadədir cracklib . Bu bələdçidə Red Hat 7, CentOS 7 və hətta Ubuntu sistemlərində parol siyasətləri konfiqurasiya edərkən lazım olan hər şeyi əhatə etdik. Eyni zamanda, daha az yazılan kredit anlayışını müzakirə etdik, buna görə də bu mövzu daha əvvəl rastlaşmayanlar üçün tez-tez qeyri-müəyyən qalmışdır. pampwquality bakısı

Mənbələr:

pam_pwquality bakısı
pwscore bakısı
Güclü Şifrələrin Seçimi – Bruce Schneier

Faydalı bağlantılar:

Lorrie Faith Cranor CMU-da şifrə tədqiqatlarını müzakirə edir
İnfamous xkcd Entropiya karikaturası
Əməliyyat Sistemləri: Üç Asan Parça. 4-cü hissə: Cədvəlçiyə giriş (tərcümə)

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster