web-dev-qa-db-ja.com

/etc/pam.d/password-authのポリシーが実施されていません

Login.defsとpassword-authを更新して、パスワードに最小長(12)を含めましたが、passwdを使用してユーザーのパスワードを変更しようとしたときに、minlenが適用されていません。

パスワードの大文字と小文字のポリシーは適用されていません。 「aaaa1234」を有効であるが脆弱で短すぎるパスワードとして入力できます。 「パスワード」などの辞書の単語を入力することもできます。同じパスワードを再利用できます。

要約すると、/etc/pam.d/password-authは認識されているようです。

次のコマンドで入力するパスワードはblue1234

# passwd testy
Changing password for user testy.
New password: 
BAD PASSWORD: it is based on a dictionary Word
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.

ログインした内容は次のとおりです/var/log/secure上記の操作から。これはイベントの唯一の行です。

Apr  1 11:41:37 myserver passwd: pam_unix(passwd:chauthtok): password changed for testy

構成ファイル

# login.defs

# 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     12
#       PASS_WARN_AGE   Number of days warning given before a password expires.
#
PASS_MAX_DAYS   30
PASS_MIN_DAYS   1
PASS_MIN_LEN     12
PASS_WARN_AGE   14

# /etc/pam.d/password-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
auth        [default=die] pam_faillock.so authfail deny=3 unlock_time=604800 fail_interval=900
auth        required      pam_faillock.so authsucc deny=3 unlock_time=604800 fail_interval=900

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 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 minlen=12
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

なぜpamパスワードポリシーが適用されないのですか?

PS:これは最小限のインストールです。

6
a coder

/etc/pam.d/passwdまたは/etc/pam.d/password-authが含まれている場合は/etc/pam.d/system-authファイルを確認し、含まれているファイルで必要な変更を行う必要があります。

要するに:
PAMを使用するアプリケーションは、/etc/pam.d/にその名前が付いた構成ファイルを持つことができます。ファイルが存在する場合、アプリケーションがPAM認証関数を呼び出すたびに、そのファイル内のルールが処理されます。

/etc/pam.d/system-authのようなファイルと、より大きな範囲の/etc/pam.d/password-authは、ディストリビューションによって多少異なります。 「system-auth」または「password-auth」として自分自身を識別するアプリケーションがないため、これらのファイルが実際に単独で呼び出されることはありません。代わりに、これらのファイルの内容は、「include」ディレクティブを使用して他のPAM構成ファイルに取り込まれます。これにより、複数のアプリケーションの共通設定を1つのファイルに保存できます。

6
taliezin