CentOS6VPSでパスワードポリシーを設定する方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンのCentOSについて説明します。 現在CentOS6を実行しているサーバーを運用している場合は、サポートされているバージョンのCentOSにアップグレードまたは移行することを強くお勧めします。
理由: CentOS 6は、2020年11月30日に保守終了(EOL)に達しました and no longer receives security patches or updates. For this reason, this guide is no longer maintained.
代わりに参照してください:
このガイドは参照として役立つ場合がありますが、他のCentOSリリースでは機能しない場合があります。 可能な場合は、使用しているCentOSのバージョン用に作成されたガイドを使用することを強くお勧めします。
パスワードポリシーについて
パスワードポリシーは、システムユーザーがパスワードを設定するときに満たす必要のある一連のルールです。 ユーザーパスワードがコンピュータシステムのセキュリティ違反の主な理由であることが多すぎるため、パスワードポリシーはコンピュータセキュリティの重要な要素です。 これが、ほとんどの企業や組織がパスワードポリシーを会社の公式規制に組み込んでいる理由です。 すべてのユーザーとユーザーパスワードは、会社の公式パスワードポリシーに準拠している必要があります。
パスワードポリシーは通常、以下を定義します。
- パスワードエージング
- パスワードの長さ
- パスワードの複雑さ
- ログイン失敗の数
- 拒否するために再利用されたパスワードの数
ステップ1:/etc/login.defsの構成—エージングと長さ
パスワードのエージングコントロールとパスワードの長さは、/ etc/login.defsファイルで定義されています。 パスワードエージングとは、パスワードを使用できる最大日数、パスワード変更の間に許可される最小日数、およびパスワードの有効期限が切れるまでの警告日数を指します。 パスワードの長さは、パスワードを許可するために必要な文字数を指します。 パスワードエージングコントロールとパスワードの長さを設定するには、/ etc / login.defsファイルを編集し、会社のパスワードポリシーに従ってPASS値を設定します。
パスワードエージングコントロールとパスワードの長さは既存のユーザーには影響せず、新しく作成されたユーザーにのみ影響します。
- PASS_MAX_DAYS-パスワードを使用できる最大日数。
- PASS_MIN_DAYS-パスワード変更の間に許可される最小日数。
- PASS_MIN_LEN-許容可能な最小パスワード長。
- PASS_WARN_AGE-パスワードの有効期限が切れる前に警告が表示される日数。
構成ファイルの例/etc/login.defs:
# # Please note that the parameters in this configuration file control the # behavior of the tools from the shadow-utils component. None of these # tools uses the PAM mechanism, and the utilities that use PAM (such as the # passwd command) should therefore be configured elsewhere. Refer to # /etc/pam.d/system-auth for more information. #
# *REQUIRED* # Directory where mailboxes reside, _or_ name of file, relative to the # home directory. If you _do_ define both, MAIL_DIR takes precedence. # QMAIL_DIR is for Qmail # #QMAIL_DIR Maildir MAIL_DIR /var/spool/mail #MAIL_FILE .mail
# Password aging controls: # # PASS_MAX_DAYS Maximum number of days a password may be used. # PASS_MIN_DAYS Minimum number of days allowed between password changes. # PASS_MIN_LEN Minimum acceptable password length. # PASS_WARN_AGE Number of days warning given before a password expires. # PASS_MAX_DAYS 90 PASS_MIN_DAYS 2 PASS_MIN_LEN 9 PASS_WARN_AGE 14
...
ステップ2:/etc/pam.d/system-authの構成—複雑さと再利用されたパスワード
/etc/pam.d/system-auth構成ファイルを編集することにより、パスワードの複雑さと、拒否するために再利用されるパスワードの数を構成できます。 パスワードの複雑さは、パスワードで使用される文字の複雑さを指し、拒否するために再利用されるパスワードの数は、ユーザーが過去に使用したパスワードの望ましい数を拒否することを指します。 パスワードの複雑さを設定することにより、ユーザーにパスワードに必要な数の大文字、小文字、数字、記号を使用させることができます。 パスワードの複雑さの基準が満たされていない場合、パスワードはシステムによって受け入れられません。
- パスワードに大文字を強制する-ucredit= -X、ここでXはパスワードに必要な大文字の数です
- パスワードに小文字を強制する-lcredit= -X、ここでXはパスワードに必要な小文字の数です
- パスワードに番号を強制する-dcredit= -X、ここでXはパスワードに必要な番号です
- パスワードでの記号の使用を強制する-ocredit= -X、ここでXはパスワードに必要な記号の数です
password requisite pam_cracklib.so try_first_pass retry=3 type= ucredit=-2 lcredit=-2 dcredit=-2 ocredit=-2
- 再利用されたパスワードの拒否-remember= X、ここでXは拒否する過去のパスワードの数です
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
構成ファイルの例/etc/pam.d/system-auth:
#%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth required pam_deny.so
account required pam_unix.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 500 quiet account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3 type= dcredit=-2 ucredit=-2 lcredit=-2 ocredit=-2 password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5 password required pam_deny.so
session optional pam_keyinit.so revoke session required pam_limits.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so
手順3:/etc/pam.d/password-authの構成—ログインの失敗
ログイン失敗の数は、/ etc / pam.d/password-authファイルに設定されています。 ログイン失敗の数は、アカウントがロックアウトされる前にユーザーが実行できるログインの失敗の数を指します。 アカウントがロックアウトされると、システム管理者はアカウントのロックを解除できます。 ログイン失敗の数を設定するには、2つの新しい行を/etc/pam.d/password-authファイルに追加する必要があります。 パラメータ「deny=X」(Xはログイン失敗の数)は、アカウントがロックされる前に許可されるログイン失敗の数を設定します。
auth required pam_tally2.so deny=3 account required pam_tally2.so
構成ファイルの例/etc/pam.d/system-auth:
#%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth required pam_tally2.so deny=3 auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth required pam_deny.so
account required pam_unix.so account required pam_tally2.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 500 quiet account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3 type= password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password required pam_deny.so
session optional pam_keyinit.so revoke session required pam_limits.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so