- PR -

PAMでパスワード文字の制限をかけたいのですが。。。

1
投稿者投稿内容
jammin
会議室デビュー日: 2006/10/12
投稿数: 3
投稿日時: 2006-10-17 20:36
お世話になります。

表題の件で質問させてください。

Redhat Enterprise Linux ES3 Update3環境下で一般ユーザのパスワード制限をかけたいと考えています。pamのバージョンは「pam-0.75-58」です。
今回の検証では、OSを新規にインストールした状態です。
パスワードの制約条件は以下の通りです。
・最低長は8文字
・最低長は数字、大文字、小文字、その他各2文字

以下の設定を/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 /lib/security/$ISA/pam_env.so
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth required /lib/security/$ISA/pam_deny.so

account required /lib/security/$ISA/pam_unix.so

password required /lib/security/$ISA/pam_cracklib.so minlen=8 dcredit=-2 ucredit=-2 lcredit=-2 ocredit=-2
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password required /lib/security/$ISA/pam_deny.so

session required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so
---------------------------------------------------------------------------

この状態でテストユーザを作成しました。
最低長の8文字をクリアしないとエラーメッセージが表示されます。(BAD PASSWORD: is too simple)
ところが、数字、大文字、その他の文字に関してはまったく反応してくれません。
※小文字のみでパスワードを作成できます。


おかしいと思い、別のLinuxをインストールしてテストしました。
RedHat Enterprise Linux AS4 Update3です。
PAMのバージョンは今わからないので調べて後述します。

同じように/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 /lib/security/$ISA/pam_env.so
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth required /lib/security/$ISA/pam_deny.so

account required /lib/security/$ISA/pam_unix.so
account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet
account required /lib/security/$ISA/pam_permit.so

password requisite /lib/security/$ISA/pam_cracklib.so minlen=8 dcredit=-2 ucredit=-2 lcredit=-2 ocredit=-2
#password requisite /lib/security/$ISA/pam_cracklib.so retry=3
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password required /lib/security/$ISA/pam_deny.so

session required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so
------------------------------------------------------------------------------------

結果、こちらでは思ったとおりのエラーが起こりました。
・パスワードは最低8文字
・大文字、数字、その他の文字を各2文字ずつ入力しないとパスワードを作成できない。

上記2つの /etc/pam.d/system-authが異なっていますが、これはデフォルトのsystem-authが異なるためです。書き換えたのは「pam_cracklib.so」が記載されている行のみです。
ちなみに、うまくいった方の(Redhat 4)のsystem-authもそのままコピーして使用してみましたが、正常に動作してくれませんでした。(小文字のみのパスワードを許可しました。)

いろいろと調べてみたのですが、答えが見つからず暗礁に乗り上げてしまった感があります。もしかして、PAMのバージョンで動作の違いとかあるのでしょうか?

もしご存知の方がいらっしゃいましたら、ご教示願います。

長くなってしまいましたが、どうぞよろしくお願いいたします。

jammin
会議室デビュー日: 2006/10/12
投稿数: 3
投稿日時: 2006-10-17 22:19
追記です。

Redhat Enterprise Linux AS 4 Update 3の方にInstallされている
PAMのバージョンを確認しました。

pam-0.77-66.14

になります。
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2006-10-17 22:47
引用:

jamminさんの書き込み (2006-10-17 20:36) より:
いろいろと調べてみたのですが、答えが見つからず暗礁に乗り上げてしまった感があります。もしかして、PAMのバージョンで動作の違いとかあるのでしょうか?


該当の処理部分はredhatのパッチ(pam-0.75-cracklib-negcredit.patch)があたっています。そして、良く仕様が変わりますw

多分、↓の時に直っているんじゃないですか?
http://www.jp.redhat.com/support/errata/RHBA/RHBA-2004-551J.html
※その後もアップデートされてますから当然仕様は変わっている可能性があります。

製品はメーカーに聞くのが一番ですよ。
_________________
桃李不言 下自成蹊
jammin
会議室デビュー日: 2006/10/12
投稿数: 3
投稿日時: 2006-10-17 23:05
anights様

ご回答ありがとうございます。

Redhatのサイトは調べてませんでした。。
ありがとうございます。今後は自分で調べるように心がけます。

ちなみに、Redhat Enterprise Linux ES3 Update8にしてやってみたら
正常に動作しました。pam-0.75-69です。
anights様のご指摘通りです。

どうもありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)