Halo maneh! Kelas ing grup kursus anyar diwiwiti sesuk
Ing tutorial sadurunge, kita ngandhani carane nggunakake pam_cracklib
kanggo nggawe sandhi ing sistem luwih rumit pam_pwquality
diganti cracklib
minangka pam
modul standar kanggo mriksa sandhi. Modul pam_pwquality
uga didhukung ing Ubuntu lan CentOS, uga akeh OS liyane. Modul iki nggampangake nggawe kabijakan sandhi kanggo mesthekake yen pangguna nampa standar kekuatan sandi.
Kanggo wektu sing suwe, pendekatan umum kanggo tembung sandhi yaiku kanggo meksa pangguna nggunakake huruf gedhe, huruf cilik, angka, utawa simbol liyane. Aturan dhasar kanggo kerumitan tembung sandhi iki wis akeh dipromosikan sajrone sepuluh taun kepungkur. Ana akeh diskusi babagan apa iki praktik apik utawa ora. Argumentasi utama kanggo nyetel kahanan sing rumit yaiku pangguna nulis sandhi ing kertas lan nyimpen kanthi ora aman.
Kabijakan liyane sing bubar ditakokake meksa pangguna ngganti tembung sandhi saben dina x. Ana sawetara panaliten sing nuduhake manawa iki uga mbebayani kanggo safety.
Akeh artikel sing wis ditulis babagan topik diskusi iki, sing ndhukung siji utawa liyane sudut pandang. Nanging iki dudu sing bakal kita bahas ing artikel iki. Artikel iki bakal ngomong babagan carane nyetel kerumitan sandhi kanthi bener tinimbang ngatur kabijakan keamanan.
Setelan Kebijakan Sandi
Ing ngisor iki sampeyan bakal bisa ndeleng opsi kabijakan sandhi lan katrangan ringkes saben. Akeh sing padha karo paramèter ing modul kasebut cracklib
. Pendekatan iki nggampangake port kabijakan sampeyan saka sistem warisan.
- Nuwun sewu β Jumlah karakter ing sandi anyar sing ngirim ora ana ing sandi lawas. (Default 5)
- minlen β dawa sandi minimal. (Default 9)
- ucredit β Jumlah kridit maksimal kanggo nggunakake karakter huruf gedhe (yen parameter > 0), utawa jumlah minimal karakter huruf gedhe sing dibutuhake (yen parameter < 0). Default yaiku 1.
- kredit β Jumlah kridit maksimal kanggo nggunakake karakter huruf cilik (yen parameter > 0), utawa jumlah minimal karakter huruf cilik sing dibutuhake (yen parameter < 0). Default yaiku 1.
- kredit β Jumlah maksimum kridit kanggo nggunakake digit (yen parameter > 0), utawa nomer minimal sing dibutuhake digit (yen parameter < 0). Default yaiku 1.
- dheweke pracaya β Jumlah maksimum kridit kanggo nggunakake simbol liyane (yen parameter > 0), utawa nomer minimal dibutuhake simbol liyane (yen parameter < 0). Default yaiku 1.
- kelas min - Nyetel jumlah kelas sing dibutuhake. Kelas kalebu paramèter ing ndhuwur (karakter gedhe, karakter cilik, angka, karakter liyane). Default yaiku 0.
- maxrepeat β Jumlah maksimum kaping karakter bisa bola ing sandi. Default yaiku 0.
- maxclassrepeat - Jumlah maksimum karakter consecutive ing siji kelas. Default yaiku 0.
- gecoscheck β Priksa manawa tembung sandhi ngemot tembung saka senar GECOS pangguna. (Informasi pangguna, yaiku jeneng asli, lokasi, lsp.) Default yaiku 0 (mati).
- dictpath β Ayo menyang kamus cracklib.
- badwords - Tembung sing dipisahake spasi sing dilarang ing sandhi (Jeneng perusahaan, tembung "sandi", lsp).
Nek konsep utangan kok aneh-aneh ya ora apa-apa, lumrah. Kita bakal ngomong luwih lengkap babagan iki ing bagean ing ngisor iki.
Konfigurasi Kebijakan Sandi
Sadurunge miwiti nyunting file konfigurasi, luwih becik nulis kabijakan sandhi dhasar sadurunge. Contone, kita bakal nggunakake aturan kangelan ing ngisor iki:
- Tembung sandhi kudu dawane minimal 15 karakter.
- Karakter sing padha ora kudu diulang luwih saka kaping pindho ing sandhi.
- Kelas karakter bisa diulang nganti kaping papat ing sandhi.
- Tembung sandhi kudu ngemot karakter saka saben kelas.
- Tembung sandhi anyar kudu duwe 5 karakter anyar dibandhingake karo sing lawas.
- Aktifake mriksa GECOS.
- Larang tembung "sandi, pass, tembung, putorius"
Saiki kita wis nyetel kabijakan, kita bisa ngowahi file kasebut /etc/security/pwquality.conf
kanggo nambah syarat kerumitan sandi. Ing ngisor iki minangka conto file kanthi komentar kanggo pangerten sing luwih apik.
# 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
Kaya sing sampeyan ngerteni, sawetara paramèter ing file kita keluwih. Contone, parameter minclass
keluwih amarga kita wis nggunakake paling ora rong karakter saka kelas nggunakake kolom [u,l,d,o]credit
. Dhaptar tembung sing ora bisa digunakake uga keluwih, amarga kita wis nglarang mbaleni kelas 4 kaping (kabeh tembung ing dhaptar ditulis nganggo aksara cilik). Aku wis kalebu pilihan iki mung kanggo nduduhake carane nggunakake kanggo ngatur kabijakan sandi.
Sawise nggawe kabijakan sampeyan, sampeyan bisa meksa pangguna kanggo ngganti tembung sandhi nalika mlebu log.
Bab aneh liyane sing bisa dingerteni yaiku sawah [u,l,d,o]credit
ngemot nomer negatif. Iki amarga nomer luwih saka utawa padha karo 0 bakal menehi kredit kanggo nggunakake karakter ing sandi. Yen kolom kasebut ngemot nomer negatif, tegese jumlah tartamtu dibutuhake.
Apa utangan?
Aku nyebat dheweke utangan amarga menehi tujuane kanthi akurat. Yen nilai parameter luwih saka 0, sampeyan nambahake sawetara "kredit karakter" padha karo "x" kanggo dawa sandi. Contone, yen kabeh paramèter (u,l,d,o)credit
disetel kanggo 1 lan dawa sandi dibutuhake 6, banjur sampeyan kudu 6 karakter kanggo gawe marem requirement dawa amarga saben huruf gedhe, cilik, digit utawa karakter liyane bakal menehi siji kredit.
Yen sampeyan nginstal dcredit
ing 2, sampeyan bisa kanthi teori nggunakake tembung sandhi sing dawane 9 karakter lan entuk 2 kridit karakter kanggo nomer, banjur dawa tembung sandhi bisa uga 10.
Deleng conto iki. Aku nyetel dawa sandi kanggo 13, nyetel dcredit kanggo 2, lan kabeh liyane kanggo 0.
$ pwscore
Thisistwelve
Password quality check failed:
The password is shorter than 13 characters
$ pwscore
Th1sistwelve
18
Priksa pisanan gagal amarga tembung sandhi kurang saka 13 karakter. Sabanjure aku ngganti huruf "I" dadi nomer "1" lan nampa rong kridit kanggo nomer kasebut, sing nggawe tembung sandhi padha karo 13.
Tes sandhi
Paket libpwquality
nyedhiyakake fungsi sing diterangake ing artikel kasebut. Iku uga nerangake karo program pwscore
, sing dirancang kanggo mriksa kerumitan tembung sandhi. Kita digunakake ing ndhuwur kanggo mriksa silihan.
Utilitas pwscore
maca saka
Skor kualitas sandi ana gandhengane karo parameter kasebut minlen
ing file konfigurasi. UmumΓ©, skor kurang saka 50 dianggep minangka "sandi normal", lan skor ing ndhuwur dianggep minangka "sandi kuwat". Tembung sandhi apa wae sing ngliwati pemeriksaan kualitas (utamane verifikasi paksa cracklib
) kudu tahan serangan kamus, lan sandi karo skor ndhuwur 50 karo setelan minlen
malah kanthi gawan brute force
serangan.
kesimpulan
imbuhan pwquality
- iku gampang lan prasaja dibandhingake karo ora nyaman saka nggunakake cracklib
karo editing file langsung pam
. Ing pandhuan iki, kita wis nyakup kabeh sing dibutuhake nalika nyetel kabijakan sandhi ing Red Hat 7, CentOS 7, lan uga sistem Ubuntu. Kita uga ngomong babagan konsep silihan, sing jarang ditulis kanthi rinci, mula topik iki asring tetep ora jelas kanggo wong-wong sing durung nate nemoni.
Sumber:
Link migunani:
Source: www.habr.com