Membuat Kebijakan Kata Sandi di Linux

Halo lagi! Kelas dalam kelompok kursus baru dimulai besok "Pengelola Linux", dalam hal ini, kami menerbitkan artikel bermanfaat tentang topik tersebut.

Membuat Kebijakan Kata Sandi di Linux

Dalam tutorial sebelumnya kami telah memberi tahu Anda cara menggunakannya pam_cracklibuntuk membuat kata sandi pada sistem menjadi lebih kompleks Topi Merah 6 atau CentOS. Di Topi Merah 7 pam_pwquality diganti cracklib sebagai pam modul default untuk memeriksa kata sandi. Modul pam_pwquality juga didukung di Ubuntu dan CentOS, serta banyak OS lainnya. Modul ini memudahkan pembuatan kebijakan kata sandi untuk memastikan bahwa pengguna menerima standar kekuatan kata sandi Anda.

Untuk waktu yang lama, pendekatan umum terhadap kata sandi adalah memaksa pengguna menggunakan huruf besar, huruf kecil, angka, atau simbol lainnya. Aturan dasar kompleksitas kata sandi ini telah dipromosikan secara luas selama sepuluh tahun terakhir. Ada banyak diskusi mengenai apakah ini praktik yang baik atau tidak. Argumen utama yang menentang penetapan kondisi rumit seperti itu adalah pengguna menuliskan kata sandi di selembar kertas dan menyimpannya dengan tidak aman.

Kebijakan lain yang baru-baru ini dipertanyakan memaksa pengguna mengubah kata sandi mereka setiap x hari. Ada beberapa penelitian yang menunjukkan bahwa hal ini juga merugikan keselamatan.

Banyak artikel telah ditulis tentang topik diskusi ini, yang mendukung satu sudut pandang atau sudut pandang lainnya. Namun bukan itu yang akan kita bahas pada artikel kali ini. Artikel ini akan membahas tentang cara mengatur kompleksitas kata sandi dengan benar daripada mengelola kebijakan keamanan.

Pengaturan Kebijakan Kata Sandi

Di bawah ini Anda akan melihat opsi kebijakan kata sandi dan penjelasan singkat masing-masing opsi. Banyak di antaranya yang mirip dengan parameter dalam modul cracklib. Pendekatan ini mempermudah pemindahan kebijakan Anda dari sistem lama.

  • difok – Jumlah karakter dalam kata sandi baru Anda yang TIDAK boleh ada dalam kata sandi lama Anda. (Bawaan 5)
  • minlen – Panjang kata sandi minimum. (Bawaan 9)
  • kredit – Jumlah maksimum kredit untuk menggunakan karakter huruf besar (jika parameter > 0), atau jumlah minimum karakter huruf besar yang diperlukan (jika parameter < 0). Standarnya adalah 1.
  • kredit β€” Jumlah maksimum kredit untuk menggunakan karakter huruf kecil (jika parameter > 0), atau jumlah minimum karakter huruf kecil yang diperlukan (jika parameter < 0). Standarnya adalah 1.
  • kredit β€” Jumlah kredit maksimum untuk penggunaan digit (jika parameter > 0), atau jumlah digit minimum yang diperlukan (jika parameter < 0). Standarnya adalah 1.
  • kredit β€” Jumlah maksimum kredit untuk menggunakan simbol lain (jika parameter > 0), atau jumlah minimum simbol lain yang diperlukan (jika parameter < 0). Standarnya adalah 1.
  • kelas kecil – Menetapkan jumlah kelas yang dibutuhkan. Kelas menyertakan parameter di atas (karakter huruf besar, karakter huruf kecil, angka, karakter lainnya). Standarnya adalah 0.
  • ulangi maksimal – Berapa kali maksimum karakter dapat diulang dalam kata sandi. Standarnya adalah 0.
  • maxclassrepeat β€” Jumlah maksimum karakter berurutan dalam satu kelas. Standarnya adalah 0.
  • periksa Gecos – Memeriksa apakah kata sandi berisi kata apa pun dari string GECOS pengguna. (Informasi pengguna, yaitu nama asli, lokasi, dll.) Defaultnya adalah 0 (mati).
  • jalur diktat – Ayo buka kamus cracklib.
  • kata-kata buruk – Kata-kata yang dipisahkan spasi yang dilarang dalam kata sandi (Nama perusahaan, kata β€œkata sandi”, dll.).

Kalau konsep pinjaman terdengar aneh, tidak apa-apa, biasa saja. Kami akan membicarakan hal ini lebih lanjut di bagian berikut.

Konfigurasi Kebijakan Kata Sandi

Sebelum Anda mulai mengedit file konfigurasi, sebaiknya tuliskan kebijakan kata sandi dasar terlebih dahulu. Misalnya, kita akan menggunakan aturan kesulitan berikut:

  • Kata sandi harus memiliki panjang minimal 15 karakter.
  • Karakter yang sama tidak boleh diulang lebih dari dua kali dalam kata sandi.
  • Kelas karakter dapat diulang hingga empat kali dalam satu kata sandi.
  • Kata sandi harus berisi karakter dari setiap kelas.
  • Kata sandi baru harus memiliki 5 karakter baru dibandingkan dengan yang lama.
  • Aktifkan pemeriksaan GECOS.
  • Melarang kata-kata β€œpassword, pass, word, putorius”

Sekarang kita telah menyusun kebijakannya, kita dapat mengedit file tersebut /etc/security/pwquality.confuntuk meningkatkan persyaratan kompleksitas kata sandi. Di bawah ini adalah contoh file dengan komentar untuk pemahaman yang lebih baik.

# 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

Seperti yang mungkin Anda ketahui, beberapa parameter dalam file kami berlebihan. Misalnya saja parameternya minclass mubazir karena kita sudah menggunakan setidaknya dua karakter dari kelas yang menggunakan kolom [u,l,d,o]credit. Daftar kata yang tidak dapat kami gunakan juga mubazir, karena kami melarang pengulangan kelas sebanyak 4 kali (semua kata dalam daftar kami ditulis dengan huruf kecil). Saya menyertakan opsi ini hanya untuk menunjukkan cara menggunakannya untuk mengonfigurasi kebijakan kata sandi Anda.
Setelah Anda membuat kebijakan, Anda dapat memaksa pengguna untuk mengubah kata sandi mereka saat mereka masuk lagi. sistem.

Hal aneh lainnya yang mungkin Anda perhatikan adalah ladangnya [u,l,d,o]credit mengandung angka negatif. Ini karena angka yang lebih besar atau sama dengan 0 akan memberikan kredit atas penggunaan karakter tersebut dalam kata sandi Anda. Jika kolom berisi angka negatif, berarti diperlukan jumlah tertentu.

Apa itu pinjaman?

Saya menyebutnya pinjaman karena hal itu menyampaikan tujuannya seakurat mungkin. Jika nilai parameter lebih besar dari 0, Anda menambahkan sejumlah "kredit karakter" yang sama dengan "x" ke panjang kata sandi. Misalnya jika semua parameter (u,l,d,o)credit disetel ke 1 dan panjang kata sandi yang diperlukan adalah 6, maka Anda memerlukan 6 karakter untuk memenuhi persyaratan panjang karena setiap huruf besar, huruf kecil, angka, atau karakter lain akan memberi Anda satu kredit.

Jika Anda menginstal dcredit di 2, secara teoritis Anda dapat menggunakan kata sandi yang panjangnya 9 karakter dan mendapatkan kredit 2 karakter untuk angka, dan panjang kata sandi sudah bisa menjadi 10.

Lihatlah contoh ini. Saya mengatur panjang kata sandi menjadi 13, mengatur kredit menjadi 2, dan yang lainnya menjadi 0.

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

$ pwscore
 Th1sistwelve
 18

Pemeriksaan pertama saya gagal karena panjang kata sandinya kurang dari 13 karakter. Kali berikutnya saya mengubah huruf β€œI” menjadi angka β€œ1” dan menerima dua kredit untuk angka tersebut, sehingga kata sandinya sama dengan 13.

Pengujian kata sandi

Paket libpwquality menyediakan fungsionalitas yang dijelaskan dalam artikel. Itu juga dilengkapi dengan sebuah program pwscore, yang dirancang untuk memeriksa kerumitan kata sandi. Kami menggunakannya di atas untuk memeriksa pinjaman.
Π° pwscore membaca dari stdin. Jalankan saja utilitasnya dan tulis kata sandi Anda, itu akan menampilkan kesalahan atau nilai dari 0 hingga 100.

Skor kualitas kata sandi terkait dengan parameter minlen dalam file konfigurasi. Secara umum, skor kurang dari 50 dianggap sebagai β€œkata sandi normal”, dan skor di atas dianggap sebagai β€œkata sandi kuat”. Kata sandi apa pun yang lolos pemeriksaan kualitas (terutama verifikasi paksa cracklib) harus tahan terhadap serangan kamus, dan kata sandi dengan skor di atas 50 dengan pengaturannya minlen bahkan secara default brute force serangan.

Kesimpulan

pengaturan pwquality – mudah dan sederhana dibandingkan dengan ketidaknyamanan penggunaan cracklib dengan pengeditan file langsung pam. Dalam panduan ini, kami telah membahas semua yang Anda perlukan saat mengatur kebijakan kata sandi pada sistem Red Hat 7, CentOS 7, dan bahkan Ubuntu. Kami juga berbicara tentang konsep pinjaman, yang jarang ditulis secara rinci, sehingga topik ini sering kali masih belum jelas bagi mereka yang belum pernah menjumpainya.

Sumber:

halaman manual kualitas pw
halaman manual kualitas pam_pw
halaman manual pwscore

Tautan yang bermanfaat:

Memilih Kata Sandi yang Aman – Bruce Schneier
Lorrie Faith Cranor mendiskusikan studi kata sandinya di CMU
Kartun xkcd terkenal di Entropy

Sumber: www.habr.com

Tambah komentar