GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Kata Sandi Acak Ini Ditandai dengan Mengatakan Terlalu Sederhana/Sistematis?

Bagaimana string acak M1uG*xgRCthKWwjIjWc*010iSthY9buc terdeteksi terlalu sederhana/sistematis untuk kata sandi menurut passwd dan cracklib-check? Cobalah di mesin Anda dan lihat

echo "M1uG*xgRCthKWwjIjWc*010iSthY9buc" | cracklib-check

Perhatikan bahwa ini bukan kata sandi saya, tetapi string lain yang dibuat secara acak dari pembuat kata sandi acak yang sama yang menghasilkan hasil yang sama.

Jawaban yang Diterima:

Karena cracklib adalah open source, jawabannya dapat ditemukan di kode sumber.

“Terlalu sederhana/sistematis” berarti terlalu banyak karakter yang didahului oleh salah satu tetangga abjadnya. Oleh karena itu "ab" atau "ba" dianggap buruk, tetapi "ac" atau "ca" tidak masalah karena b dihilangkan.

Sebelum tambalan ini dari 2010-03-02, memungkinkan maksimal empat karakter yang menunjukkan sifat ini. Misalnya, "bar12345" akan gagal, karena karakter "a", "2", "3", "4" dan "5" adalah tetangga abjad dari karakter sebelumnya.

slm menemukan dalam jawabannya bahwa M1uG*xgRCthKWwjIjWc*010iS OK, sedangkan M1uG*xgRCthKWwjIjWc*010iSt tidak. Mari kita menganalisis. Berikut adalah karakter yang menurut cracklib-check sebagai indikasi kata sandi yang sistematis:

M1uG*xgRCthKWwjIjWc*010iS
               ^^    ^^

yang di bawah maksimal empat, tetapi menambahkan t:

M1uG*xgRCthKWwjIjWc*010iSt
               ^^    ^^  ^

mendorongnya di atas batas, karena T mengikuti S (tampaknya tes ini tidak peka huruf besar/kecil).

Patch mengubah batas maksimal sehingga tergantung pada panjang kata sandi total, untuk menghindari kesalahan positif seperti ini.


Linux
  1. Mengapa Mengarahkan Stderr Ke /dev/null Dilakukan Dengan Cara Ini?

  2. 8 cara untuk menghasilkan kata sandi acak di Linux

  3. Mengapa pipa shell ini keluar?

  1. Cara Membuat/Mengenkripsi/Mendekripsi Kata Sandi Acak di Linux

  2. Mengapa Vim menambahkan baris baru? Apakah ini konvensi?

  3. Mengapa saya tidak bisa mematikan proses ini di Linux?

  1. 10 cara untuk menghasilkan kata sandi acak di Linux

  2. Hashing Kata Sandi Dan Mengapa Kami Membutuhkannya

  3. Mengapa Tidak 'menemukan' Tampilkan File Ini??