CentOS Stream 9
Sponsored Link

Pwquality : パスワードルールを設定する2022/06/28

 
[pam_pwquality] を使用したパスワードルールの設定です。
[pam_pwquality] は RHEL/CentOS Stream 9 最小構成でもデフォルトでインストールされているはずですが、
もしインストールされていない場合は [# dnf install libpwquality] でインストール可能です。
[1] パスワードの有効期限を設定する。
ユーザーは設定した日数以内にパスワードを変更しなければならない。
当設定はアカウント新規作成時のみ有効で、既存のアカウントには影響しない。
当設定がされていない既存ユーザーに設定する場合は [chage -M 日数 ユーザー] で設定する。
[root@dlp ~]#
vi /etc/login.defs
# 131行目:パスワードの有効期限を設定 (下例は 60 日)

PASS_MAX_DAYS
60
[2] パスワードの最短利用日数を設定する。
ユーザーはパスワードを変更してからこの期間内はパスワードを変更できない。
当設定はアカウント新規作成時のみ有効で、既存のアカウントには影響しない。
当設定がされていない既存ユーザーに設定する場合は [chage -m 日数 ユーザー] で設定する。
[root@dlp ~]#
vi /etc/login.defs
# 132行目:パスワードの最短利用日数を設定 (下例は 1 日)

PASS_MIN_DAYS
1
[3] パスワードの有効期限が来る前に警告を発する期間の日数を設定する。
当設定はアカウント新規作成時のみ有効で、既存のアカウントには影響しない。
当設定がされていない既存ユーザーに設定する場合は [chage -W 日数 ユーザー] で設定する。
[root@dlp ~]#
vi /etc/login.defs
# 133行目:パスワードの有効期限が来る前に警告を発する期間の日数を設定 (下例は 7 日)

PASS_WARN_AGE
7
[4] 過去に使用したパスワードの使用を制限する。
ユーザーは設定された世代以内に同じパスワードを再び設定することができない。
# カスタムポリシーを作成して編集

[root@dlp ~]#
authselect current

Profile ID: sssd
Enabled features:
- with-fingerprint
- with-silent-lastlog
[root@dlp ~]#
authselect create-profile password-policy -b sssd

[root@dlp ~]#
authselect select custom/password-policy

[root@dlp ~]#
authselect current

Profile ID: custom/password-policy
Enabled features: None
[root@dlp ~]#
authselect apply-changes
[root@dlp ~]#
vi /etc/authselect/custom/password-policy/system-auth
# [password] セクションで [pam_pwquality.so] の次に追記 (下例は 5 世代)

password    requisite                                    pam_pwquality.so local_users_only
password    requisite                                    pam_pwhistory.so remember=5 use_authtok
password    sufficient                                   pam_unix.so yescrypt shadow {if not "without-nullok":nullok} use_authtok
password    sufficient                                   pam_sss.so use_authtok
password    required                                     pam_deny.so

# [password-auth] ファイルにも同様に設定

[root@dlp ~]#
vi /etc/authselect/custom/password-policy/password-auth
password    requisite                                    pam_pwquality.so local_users_only
password    requisite                                    pam_pwhistory.so remember=5 use_authtok
password    sufficient                                   pam_unix.so yescrypt shadow {if not "without-nullok":nullok} use_authtok
password    sufficient                                   pam_sss.so use_authtok
password    required                                     pam_deny.so

[root@dlp ~]#
authselect apply-changes
[5] パスワードの最低文字数を設定する。
ユーザーは設定された文字数未満のパスワードは設定できない。
[root@dlp ~]#
vi /etc/security/pwquality.conf
# 11行目:コメント解除して最低文字数を設定 (下例は 8 文字)

minlen =
8
[6] パスワードの最低文字種類数を設定する。(種類 ⇒ 大文字/小文字/数字/特殊文字)
ユーザーは設定された値未満の文字種しか含まれないパスワードは設定できない。
[root@dlp ~]#
vi /etc/security/pwquality.conf
# 34行目:コメント解除して最低文字種類数を設定 (下例は 2 種)

minclass =
2
[7] パスワードの最大連続文字数を設定する。
ユーザーは設定された値を超える連続同一文字が含まれるパスワードは設定できない。
[root@dlp ~]#
vi /etc/security/pwquality.conf
# 38行目:コメント解除して最大連続文字数を設定 (下例は 2 文字)

maxrepeat =
2
[8] パスワードの最大連続文字種類数を設定する。
ユーザーは設定された値を超える連続同一文字種が含まれるパスワードは設定できない。
[root@dlp ~]#
vi /etc/security/pwquality.conf
# 43行目:コメント解除して最大連続同一文字種類数を設定 (下例は 4 種)

maxclassrepeat =
4
[9] パスワードに小文字が含まれなければならない。
[root@dlp ~]#
vi /etc/security/pwquality.conf
# 25行目:コメント解除してパスワードに含むことを要求する小文字数を設定 (下例は 1 文字)

lcredit =
-1
[10] パスワードに大文字が含まれなければならない。
[root@dlp ~]#
vi /etc/security/pwquality.conf
# 20行目:コメント解除してパスワードに含むことを要求する大文字を設定 (下例は 1 文字)

ucredit =
-1
[11] パスワードに数字が含まれなければならない。
[root@dlp ~]#
vi /etc/security/pwquality.conf
# 15行目:コメント解除してパスワードに含むことを要求する数字を設定 (下例は 1 文字)

dcredit =
-1
[12] パスワードに特殊文字が含まれなければならない。
[root@dlp ~]#
vi /etc/security/pwquality.conf
# 30行目:コメント解除してパスワードに含むことを要求する特殊文字を設定 (下例は 1 文字)

ocredit =
-1
[13] 設定値よりも長い単調な文字列がパスワードに含まれてはならない。
(単調な例 ⇒ '12345', 'fedcb')
[root@dlp ~]#
vi /etc/security/pwquality.conf
# 最終行に追記 (下例は 2 文字まで許容)

maxsequence = 2
[14] 変更前のパスワードに含まれる文字が変更後のパスワードに N 文字以上含まれてはならない。
[root@dlp ~]#
vi /etc/security/pwquality.conf
# 6行目:コメント解除して設定 (下例は 5 文字)

difok =
5
[15] /etc/passwd 内の GECOS (コメント) フィールドに含まれる 3文字より長い文字列から成る単語が、パスワードに含まれてはならない。
[root@dlp ~]#
vi /etc/security/pwquality.conf
# 47行目:コメント解除して有効に設定

gecoscheck =
1
[16] 指定した文字列がパスワードに含まれてはならない。
[root@dlp ~]#
vi /etc/security/pwquality.conf
# 最終行に追記 (スペース区切りで単語を指定)

badwords = denywords1 denywords2 denywords3
関連コンテンツ