Red Hat Enterprise Linux 6 の pam_cracklib のパスワード辞書によってチェックされる単語のリストに単語を追加するにはどうすればよいですか?
PAM クラック ライブラリとは
Red Hat Enterprise Linux は、パスワードが簡単に推測できないことを確認するように設定できます。 Red Hat Enterprise Linux では、このチェックは Pluggable Authentication Module (PAM) /lib/security/pam_cracklib.so によって実行されます。 .パスワードが最小限の長さであることを確認し、辞書にパスワードが含まれていないことを確認します。
このモジュールで使用される辞書は /usr/lib/ にあります そしてcracklib形式です。デフォルトでは、各辞書ファイルには cracklib_dict というファイル名がプレフィックスとして付けられます .
このモジュールにはいくつかのパラメータがあり、より便利なものを以下に示します:
パラメータ | 説明 |
---|---|
ミンレン | アカウントに許可される最小の長さを指定します |
ディフォク | 以前のパスワードと異なる必要がある最小文字数を指定します |
これの実装例は、次の行を /etc/pam.d/system-auth ファイルに追加することです:
password required /lib/security/pam_cracklib.so retry=3 type= minlen=8 difok=3注意 :このパラメーターを定義する場合を除き、type=引数には値は必要ありません。これを定義すると、ユーザーへのプロンプトとして出力されるメッセージが変更されます。
pam_cracklib モジュールに関する追加情報は、システム ドキュメント (/usr/share/doc/pam-
cracklib 辞書への新しい単語の追加
以下の手順に従って、単語を辞書に追加して、既知の辞書の単語に対してパスワードを検証するために cracklib が使用します。
1. CentOS/RHEL/Fedora サーバーに以下の rpm がインストールされていることを確認します。
pam-1.1.1-22.0.1.el6.x86_64 cracklib-2.8.16-4.el6.x86_64 cracklib-dicts-2.8.16-4.el6.x86_64 words-3.0-17.el6.noarch
rpm のバージョンは、OS のバージョンによって異なります。
2.辞書に追加する新しい単語が辞書に既に存在するかどうかを確認します。
# echo "pwd1234@" | cracklib-check pwd1234@: OK
出力の「OK」は、新しい単語がまだ辞書に含まれていないことを示します。
3. /usr/share/dict/linux.words を変更します 最後に「pwd1234@」を追加してください。
# vi /usr/share/dict/linux.words pwd1234@
3. エントリが追加されたファイルを確認します。
# tail /usr/share/dict/linux.words Zyzomys Zyzzogeton zyzzyva zyzzyvas ZZ Zz zZt ZZZ pwd1234@
4. 以下のコマンドで cracklib ディクショナリを更新します:
# create-cracklib-dict /usr/share/dict/linux.words
5. 同じものが辞書に追加されているかどうかをもう一度確認しますか?
# echo "pwd1234@" | cracklib-check pwd1234@: it is based on a dictionary word
上記の出力からわかるように、新しい単語は既に辞書に登録されています。
6. 次に、ユーザーからの同じパスワードも試してください
$ passwd Changing password for user test. Changing password for test. (current) UNIX password: New password: >>>>>>>>>>>>> Input pwd1234@ BAD PASSWORD: it is based on a dictionary word
上記の出力からわかるように、辞書に追加された新しい単語は現在パスワードとして使用できません。