Ubuntu 20.04
Sponsored Link

パスワードルールを設定する2020/09/07

 
企業のコンプライアンスが求められる中で、パスワードの設定は重要です。 簡易なパスワードを設定しないようにルールで定めてはいても、システムでの強制力がなければ なかなか守られません。パスワードのルールはシステム側の設定で対応しましょう。
[1] パスワード品質チェックライブラリをインストールしておきます。
root@dlp:~#
apt -y install libpam-pwquality
[2] パスワードの有効期限を設定する。ユーザーは設定した日数以内にパスワードを変更しなければならない。
ただし、この設定はアカウント新規作成時のみ有効。既存のアカウントには影響しない。
当設定がされていない既存ユーザーに設定する場合は [chage -M 日数 ユーザー] で設定する。
root@dlp:~#
vi /etc/login.defs
# 160行目:パスワードの有効期限を設定 (下例は 60 日)

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

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

PASS_WARN_AGE
7
[5] 過去に使用したパスワードの使用を制限する。ユーザーは設定された世代以内に同じパスワードを再び設定することができない。
root@dlp:~#
vi /etc/pam.d/common-password
# 26行目:[remember=*] を追記 (下例は 5 世代)

password        [success=1 default=ignore]      pam_unix.so obscure use_authtok try_first_pass sha512 remember=5
[6] パスワードの最低文字数を設定する。
ユーザーは設定された文字数未満のパスワードは設定できない。
root@dlp:~#
vi /etc/security/pwquality.conf
# 11行目:コメント解除して最低文字数を設定 (下例は 8 文字)

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

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

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

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

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

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

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

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

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

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

gecoscheck =
1
[17] 指定した文字列がパスワードに含まれてはならない。(cracklib デフォルト辞書プラスアルファの設定)
root@dlp:~#
vi /etc/security/pwquality.conf
# 最終行に追記 (スペース区切りで単語を指定)

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