Halo lagi! Kelas akan dimulai besok di grup baru kursus
Administrator Linux , dan dalam hal ini kami menerbitkan artikel yang bermanfaat tentang topik tersebut.

Dalam tutorial terakhir, kami berbicara tentang cara menggunakan
pam_cracklib
untuk menyulitkan kata sandi pada sistem
Red Hat 6 atau CentOS. Di Red Hat 7,
pam_pwquality
menggantikan
cracklib
sebagai modul
pam
untuk verifikasi kata sandi. Modul
pam_pwquality
juga didukung di Ubuntu dan CentOS, serta pada banyak sistem operasi lainnya. Modul ini memudahkan pembuatan kebijakan kata sandi untuk memastikan bahwa pengguna menerima standar kompleksitas kata sandi Anda.
Untuk waktu yang lama, pendekatan yang biasa dilakukan pada kata sandi adalah memaksa pengguna untuk menggunakan huruf besar dan kecil, angka, atau karakter lain di dalamnya. Aturan kompleksitas kata sandi dasar ini telah dipromosikan secara aktif dalam sepuluh tahun terakhir. Ada banyak diskusi tentang apakah ini praktik yang baik atau tidak. Argumen utama yang menentang pengaturan kondisi sulit tersebut adalah bahwa pengguna menulis kata sandi di atas kertas dan menyimpannya dengan tidak aman.
Kebijakan lain yang baru-baru ini dipertanyakan memaksa pengguna untuk mengubah kata sandi mereka setiap x hari. Beberapa penelitian telah dilakukan yang menunjukkan bahwa ini juga merugikan keselamatan.
Banyak artikel telah ditulis pada topik diskusi ini yang membenarkan sudut pandang ini atau itu. Tapi ini bukan yang akan kita bahas di artikel ini. Artikel ini akan memberi tahu Anda cara mengatur kompleksitas kata sandi dengan benar, dan tidak mengelola kebijakan keamanan.
Pengaturan Kebijakan Kata SandiDi bawah ini Anda akan melihat pengaturan kebijakan kata sandi dan deskripsi singkat untuk masing-masingnya. Banyak dari mereka mirip dengan parameter dalam modul
cracklib
. Pendekatan ini memudahkan untuk mem-porting kebijakan Anda dari sistem yang lama.
- difok - Jumlah karakter dalam kata sandi baru Anda yang TIDAK boleh ada dalam kata sandi lama Anda. (Default adalah 5)
- minlen - Panjang kata sandi minimum. (Default adalah 9)
- ucredit - Jumlah maksimum kredit untuk menggunakan karakter huruf besar (jika parameter> 0), atau jumlah minimum yang diperlukan karakter huruf besar (jika parameter <0). Standarnya adalah 1.
- lcredit - Jumlah maksimum kredit untuk menggunakan karakter huruf kecil (jika parameter> 0), atau jumlah minimum yang dibutuhkan karakter huruf kecil (jika parameter <0). Standarnya adalah 1.
- dcredit - Jumlah maksimum kredit untuk menggunakan digit (jika parameter> 0), atau jumlah minimum digit yang diperlukan (jika parameter <0). Standarnya adalah 1.
- ocredit - Jumlah maksimum kredit untuk menggunakan simbol lain (jika parameter> 0), atau jumlah minimum yang diperlukan untuk simbol lainnya (jika parameter <0). Standarnya adalah 1.
- minclass - Menetapkan jumlah kelas yang diperlukan. Kelas termasuk parameter di atas (huruf besar, huruf kecil, angka, karakter lain). Standarnya adalah 0.
- maxrepeat - Frekuensi maksimum suatu karakter diulang dalam kata sandi. Standarnya adalah 0.
- maxclassrepeat - Jumlah maksimum karakter berturut-turut dalam satu kelas. Standarnya adalah 0.
- gecoscheck - Memeriksa apakah kata sandi berisi kata-kata dari baris GECOS pengguna. (Informasi pengguna, yaitu nama asli, lokasi, dll.) Default 0 (tidak aktif).
- dictpath - Biarkan kamus cracklib.
- badwords - Spasi- kata terpisah yang dilarang di kata sandi (nama perusahaan, kata "kata sandi", dll.).
Jika konsep pinjaman terdengar aneh, tidak apa-apa, tidak apa-apa. Kami akan membicarakan ini secara lebih rinci di bagian berikut.
Konfigurasi Kebijakan Kata SandiSebelum Anda mulai mengedit file konfigurasi, praktik yang baik untuk pra-menulis kebijakan kata sandi dasar. Misalnya, kami akan menggunakan aturan kompleksitas berikut:
- Kata sandi harus memiliki panjang minimum 15 karakter.
- Di kata sandi, karakter yang sama tidak boleh diulang lebih dari dua kali.
- Dalam kata sandi, kelas karakter dapat diulang hingga empat kali.
- Kata sandi harus mengandung karakter dari setiap kelas.
- Kata sandi baru harus memiliki 5 karakter baru dibandingkan dengan yang lama.
- Aktifkan Validasi GECOS.
- Tolak kata-kata "kata sandi, pass, word, putorius"
Sekarang, segera setelah kami menetapkan kebijakan, kami dapat mengedit file
/etc/security/pwquality.conf
untuk memperkuat persyaratan kompleksitas kata sandi. Di bawah ini adalah contoh file komentar untuk pemahaman yang lebih baik.
Seperti yang mungkin Anda perhatikan, beberapa parameter dalam file kami berlebihan. Misalnya, parameter
minclass
redundan, karena kita sudah menggunakan setidaknya dua karakter dari kelas menggunakan bidang
[u,l,d,o]credit
. Daftar kata-kata kami yang tidak dapat digunakan juga berlebihan, karena kami telah melarang pengulangan kelas 4 kali (semua kata dalam daftar kami ditulis dalam huruf kecil). Saya telah menyertakan opsi ini hanya untuk menunjukkan cara menggunakannya untuk mengkonfigurasi kebijakan kata sandi.
Setelah membuat kebijakan, Anda dapat memaksa pengguna untuk mengubah kata sandi saat mereka masuk berikutnya.
Hal aneh lain yang mungkin Anda perhatikan adalah bidang
[u,l,d,o]credit
berisi angka negatif. Ini karena angka yang lebih besar dari atau sama dengan 0 akan memberikan kredit untuk menggunakan karakter dalam kata sandi Anda. Jika bidang berisi angka negatif, itu berarti bahwa jumlah tertentu diperlukan.
Apa itu pinjaman?Saya menyebutnya pinjaman, karena secara akurat menyampaikan tujuan mereka. Jika nilai parameter lebih besar dari 0, Anda menambahkan jumlah "kredit per karakter" sama dengan "x" ke panjang kata sandi. Misalnya, jika semua parameter
(u,l,d,o)credit
ditetapkan ke 1, dan panjang kata sandi yang diperlukan adalah 6, maka Anda akan memerlukan 6 karakter untuk memenuhi persyaratan panjang, karena setiap karakter adalah huruf besar, huruf kecil, angka atau karakter lain akan memberi Anda satu pinjaman.
Jika Anda menetapkan
dcredit
ke 2, secara teoritis Anda bisa menggunakan kata sandi dengan panjang 9 karakter dan mendapatkan 2 kredit untuk karakter untuk angka, dan kata sandi sudah bisa 10.
Lihatlah contoh ini. Saya mengatur panjang kata sandi ke 13, mengatur dcredit ke 2, dan yang lainnya ke 0.
$ pwscore Thisistwelve Password quality check failed: The password is shorter than 13 characters $ pwscore Th1sistwelve 18
Pemeriksaan pertama saya gagal karena kata sandi kurang dari 13 karakter. Lain kali saya mengubah huruf "I" menjadi angka "1" dan menerima dua kredit untuk nomor tersebut, yang menyamakan kata sandi menjadi 13.
Pengujian Kata SandiPaket
libpwquality
menyediakan fungsionalitas yang dijelaskan dalam artikel. Itu juga dilengkapi dengan program
pwscore
, yang dirancang untuk memeriksa kompleksitas kata sandi. Kami menggunakannya di atas untuk memeriksa pinjaman.
Utilitas
pwscore
membaca dari
stdin . Cukup jalankan utilitas dan tulis kata sandi Anda, itu akan memberikan kesalahan atau nilai dari 0 hingga 100.
Skor kualitas kata sandi terkait dengan parameter
minlen
dalam file konfigurasi. Secara umum, indikator kurang dari 50 dianggap sebagai "kata sandi normal", dan di atas sebagai "kata sandi kuat". Kata sandi apa pun yang lolos pemeriksaan kualitas (terutama pemeriksaan paksa
cracklib
) harus tahan terhadap serangan kamus, dan kata sandi dengan skor lebih tinggi dari 50 dengan pengaturan
minlen
default bahkan
minlen
mengalami
brute force
.
KesimpulanMenyiapkan
pwquality
dan mudah dibandingkan dengan ketidaknyamanan menggunakan
cracklib
dengan pengeditan langsung file
pam
. Dalam panduan ini, kami telah membahas semua yang Anda perlukan untuk mengatur kebijakan kata sandi pada Red Hat 7, CentOS 7, dan bahkan sistem Ubuntu. Kami juga berbicara tentang konsep pinjaman, yang jarang ditulis secara terperinci, sehingga topik ini sering tidak dapat dipahami oleh mereka yang belum pernah menjumpainya.
Sumber:Halaman manual pwqualityhalaman manual pam_pwqualityHalaman manual pwscoreTautan yang bermanfaat:Memilih Kata Sandi Aman - Bruce SchneierLorrie Faith Cranor membahas studi kata sandi di CMUKartun xkcd terkenal di Entropy