@tooljpさんをフォロー

Redhat Linux Enterprise Linux 4 / 5 / 6 パスワードの強化

RHEL4,5,6におけるパスワード強化の設定、動作をまとめました。基本的に設定変更後のOS再起動は不要です。

設定内容 設定ファイル / コマンド 設定パラメータ 設定例 備考
1 パスワードの長さ /etc/pam.d/system-auth
(設定ファイル)
password requisite /lib/security/$ISA/pam_cracklib.so を追加しminlen= で最短のパスワードの長さを指定する 以下の例ではパスワードの最短文字数を8文字に設定しています。
password requisite /lib/security/$ISA/pam_cracklib.so retry=3 type= minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
・minlenに関わらず最低5文字は必要です。
・短いパスワードに変更した場合以下が表示されます。
BAD PASSWORD: is too simple
2 パスワードに指定した文字を含む /etc/pam.d/system-auth
(設定ファイル)
password requisite /lib/security/$ISA/pam_cracklib.so を追加し以下の設定を行う。
dcredit=-N (数字がN文字以上)
ucredit=-N (英大文字がN文字以上)
lcredit=-N (英語小文字がN文字以上)
ocredit=-N (特殊文字がN文字以上)
以下の例ではパスワードに数字、英大文字、英小文字、特殊文字をそれぞれ1文字含むことを強制します。
password requisite /lib/security/$ISA/pam_cracklib.so retry=3 type= minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
3 パスワードの履歴を記録し同一パスワードを禁止 /etc/pam.d/system-auth
(設定ファイル)
password sufficient pam_unix.soを追加し以下の設定を行う。
remember= でパスワードの履歴数。
以下の例ではパスワードの履歴を5回分記憶します。
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
4 パスワードの有効期間 /etc/login.defs
(設定ファイル)
PASS_MAX_DAYS PASS_MAX_DAYS 100
で有効期間は100日となります。
5 パスワードの変更禁止期間 /etc/login.defs
(設定ファイル)
PASS_MIN_DAYS PASS_MIN_DAYS 7
で7日間はパスワードの変更が不可となります。
6 有効期間の前にユーザに警告する /etc/login.defs
(設定ファイル)
PASS_WARN_AGE PASS_WARN_AGE 7
パスワード有効期限一週間前からログオン時にパスワードを変更するよう警告を出力します。
7 初回ログオン時に強制変更させる 以下のコマンドを実行
chage -d 0 <ユーザ名>
- chage -d 0 testuser 初回ログオン直後に以下が表示されます。
You are required to change your password immediately
8 WHEELグループユーザのみ su コマンドを許可する /etc/pam.d/su
(設定ファイル)
以下の行を追加する。
auth required pam_wheel.so use_uid
・元々コメント化されている場合にはコメント外すだけです。
・WHEELグループ以外のユーザがログオンすると「su: パスワードが違います」と表示されます。
9 パスワード切れからパスワード無効化までの期間 以下のコマンドを実行
chage -I <日数> <ユーザ名>
- ユーザ "testuser" はパスワードが切れてから100日後にアカウントが無効化されます。
chage -I 100 testuser
無効化された場合、ユーザはログオンできません。無効化される前ではログオン直後にパスワードを変更すればログオンすることが可能です。

[redhat linux 技術ドキュメント トップ]
[FAQ CENTER トップ]