パスワードポリシー
OSユーザーのパスワードポリシーを強化します。
パスワードの最小文字数変更
パスワードの最小文字数を8文字に変更します。
# vi /etc/login.defs
PASS_MIN_LEN 8
認証フローの厳格化
パスワード認証に失敗10回した場合にユーザーを120秒ロックします。
またパスワード設定時に「英語大文字」「英語小文字」「数字」「記号」などを利用するように制限します。
# vim /etc/pam.d/system-auth-ac
auth required pam_env.so
auth required pam_tally2.so onerr=fail deny=10 unlock_time=120
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so
password requisite pam_cracklib.so try_first_pass retry=10 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=1
password required pam_deny.so
- 各パラメータ値
パラメータ名 | 説明 |
---|---|
retry=N | N回まで失敗が許されます。 |
type=XXX | プロンプトに使われる文字列。 |
difok=N | 現在のパスワードと N文字以上異なれば許可。 |
minlen=N | パスワードが N文字以上だと許可。 |
dcredit=-N | 数字が N文字以上含まれていれば許可。 |
ucredit=-N | 大文字が N文字以上含まれていれば許可。 |
lcredit=-N | 小文字が N文字以上含まれていれば許可。 |
ocredit=-N | その他の文字が N文字以上含まれていれば許可。 |
またSSH等のサービスはsystem-auth-ac
ではなくpassword-auth-ac
をPAMで読み込んでいるため、
同様に変更を行う。
同名のシンボリックリンクファイルがありますが、それはシステムツールが管理するファイルになり、
変更を記述しても元に修正されてしまいます。
上記ファイルを手動で編集したい場合はacファイルを編集するか、acファイルを作成して編集する必要があります。