Halo lagi! Kelas dalam kelompok kursus baru dimulai besok
Dalam tutorial sebelumnya kami telah memberi tahu Anda cara menggunakannya pam_cracklib
untuk membuat kata sandi pada sistem menjadi lebih kompleks 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.conf
untuk 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.
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
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:
Tautan yang bermanfaat:
Sumber: www.habr.com