パスワードポリシーを設定する2016/01/20 |
企業のコンプライアンスが求められる中で、パスワードの設定は重要です。
簡易なパスワードを設定しないようにルールで定めてはいても、システムでの強制力がなければ
なかなか守られません。パスワードのルールはシステム側の設定で対応しましょう。
|
|
[1] | パスワード品質チェックライブラリをインストールしておきます。 |
root@dlp:~# apt-get -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行目:パスワードの最短利用日数を2日に設定 PASS_MIN_DAYS 2
|
[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行目:過去5世代のパスワードの再利用を禁止する
password [success=1 default=ignore] pam_unix.so obscure use_authtok \
try_first_pass sha512 remember=5
|
[6] | パスワードの最低文字数を設定する。 ユーザーは設定された文字数未満のパスワードは設定できない。 |
root@dlp:~#
vi /etc/pam.d/common-password # 25行目:パスワードの最低文字数を8文字に設定する
password requisite pam_pwquality.so retry=3 minlen=8
|
[7] | パスワードの最低文字種類数を設定する。(種類 ⇒ 大文字/小文字/数字/特殊文字) ユーザーは設定された値未満の文字種しか含まれないパスワードは設定できない。 |
root@dlp:~#
vi /etc/pam.d/common-password # 25行目:パスワードの最低文字種類数を2種に設定する
password requisite pam_pwquality.so retry=3 minclass=2
|
[8] | パスワードの最大連続文字数を設定する。 ユーザーは設定された値を超える連続同一文字が含まれるパスワードは設定できない。 |
root@dlp:~#
vi /etc/pam.d/common-password # 25行目:パスワードの最大連続文字数を2に設定する
password requisite pam_pwquality.so retry=3 maxrepeat=2
|
[9] | パスワードの最大連続文字種類数を設定する。 ユーザーは設定された値を超える連続同一文字種が含まれるパスワードは設定できない。 |
root@dlp:~#
vi /etc/pam.d/common-password # 25行目:パスワードの最大連続同一文字種類数を4に設定する
password requisite pam_pwquality.so retry=3 maxclassrepeat=4
|
[10] | パスワードに小文字が含まれなければならない。 |
root@dlp:~#
vi /etc/pam.d/common-password # 25行目:パスワードに最低 1文字の小文字を要求する
password requisite pam_pwquality.so retry=3 lcredit=-1
|
[11] | パスワードに大文字が含まれなければならない。 |
root@dlp:~#
vi /etc/pam.d/common-password # 25行目:パスワードに最低 1文字の大文字を要求する
password requisite pam_pwquality.so retry=3 ucredit=-1
|
[12] | パスワードに数字が含まれなければならない。 |
root@dlp:~#
vi /etc/pam.d/common-password # 25行目:パスワードに最低 1文字の数字を要求する
password requisite pam_pwquality.so retry=3 dcredit=-1
|
[13] | パスワードに特殊文字が含まれなければならない。 |
root@dlp:~#
vi /etc/pam.d/common-password # 25行目:パスワードに最低 1文字の特殊文字を要求する
password requisite pam_pwquality.so retry=3 ocredit=-1
|
[14] | 設定値よりも長い単調な文字列がパスワードに含まれてはならない。(単調な例 ⇒ '12345', 'fedcb') |
root@dlp:~#
vi /etc/pam.d/common-password # 25行目:単調な文字列は3文字までを要求する
password requisite pam_pwquality.so retry=3 maxsequence=3
|
[15] | 変更前のパスワードに含まれる文字が変更後のパスワードに N 文字以上含まれてはならない。 |
root@dlp:~#
vi /etc/pam.d/common-password # 25行目:同一文字を5文字以上含めないことを要求する
password requisite pam_pwquality.so retry=3 difok=5
|
[16] | /etc/passwd 内の GECOS (コメント) フィールドに含まれる 3文字より長い文字列から成る単語が、パスワードに含まれてはならない。 |
root@dlp:~#
vi /etc/pam.d/common-password # 25行目:GECOS チェックを有効にする
password requisite pam_pwquality.so retry=3 gecoscheck=1
|
[17] | パスワードの暗号化方式を設定する。 既存アカウントには当設定変更後の初回パスワード変更時に設定が適用される。 「chage -d 0 user」とすれば、次回ログイン時に強制的に user にパスワード変更させることが可能。 |
root@dlp:~#
vi /etc/pam.d/common-password # 26行目:sha512 に設定 (デフォルト その他 md5, bigcrypt 等)
password [success=1 default=ignore] pam_unix.so obscure use_authtok \
try_first_pass sha512
|
|