EN JA
PAM_PASSWDQC(8)
PAM_PASSWDQC(8) FreeBSD System Manager's Manual PAM_PASSWDQC(8)

名称

pam_passwdqcパスワード品質制御 PAM モジュール

書式

[ service-name] module-type control-flag pam_passwdqc [ options]

解説

pam_passwdqc モジュールは PAM のための簡単なパスワード強度チェックモジュールです。通常のパスワードのチェックに加えて、パスフレーズのためのサポートを提供して、ランダム生成パスワードを提供することができます。

pam_passwdqc モジュールは 1 つの PAM カテゴリだけのための機能を提供します: パスワード変更。 module-type パラメータに関して、これは“ password”の特徴です。

pam_chauthtok() サービス関数は、ユーザに新しいパスワードを問い合わせて、特定の最低基準を満たしているかを検証します。選ばれたパスワードが不十分であるなら、サービス関数は PAM_AUTHTOK_ERR を返します。

次のオプションが認証モジュールに渡されます:

min= N0, N1, N2, N3, N4
( min= disabled,24,12,8,7) パスワード/パスフレーズのさまざまな種類の許された最小のパスワードの長さ。キーワード disabled は、パスワードの長さにかかわらず与えられた種類のパスワードを許可しないために使用することができます。その後の各数は、前のものより大きくならないようにすることが要求されます。

N0 は、ただ 1 つの文字クラスが提供してい文字から成るパスワードのために使用されます。文字クラスは次の通りです: 数字、小文字 (アルファベット)、大文字 (アルファベット)、と他の文字。クラス分けすることができない、非-ASCII 文字のための特別なクラスもありますが、文字ではないと仮定されます。

N1 は、パスフレーズのための要件を満たさない、2 つの文字クラスが提供している文字から成るパスワードのために使用されます。

N2 はパスフレーズのために使用されます。パスフレーズは、十分なワードから成らなければなりません (下記の passphrase オプションを参照)。

N3N4 は、それぞれ 3 つと 4 つの文字クラスが提供している文字から成るパスワードのために使用されます。

文字クラスの数を計算するとき、最初の文字として使用される大文字とパスワードの最後の文字として使用される数字は数えられません。

十分長いことに加えて、パスワードは、文字クラスのために十分異なった文字とそれらをチェックしてある最小の長さを含むことが要求されます。

max= N
( max=40) パスワードとして許された最大の長さ。ユーザがいくつかのシステムサービスで長過ぎるパスワードを設定することを防ぐためにこれを使用することができます。特に、値 8 が取り扱われます: max が 8 に設定されるなら、8 文字より長いパスワードは、拒絶されますが、強さチェックのために 8 文字に切り詰められ、ユーザは警告されます。これは、8 文字にパスワードを切り詰める、伝統的な DES パスワードハッシュの互換性のためのものです。

利用者が伝統的なハッシュを使用するか、いくつかの弱いパスワードがチェックをパスするなら、 max=8 を設定することは重要です。

passphrase= N
( passphrase=3) ワード数はパスフレーズを必要とするか、または 0 はパスフレーズのサポートを無効にします。
match= N
( match=4) 共通の部分文字列の長さは、パスワードが少なくともに部分的文字列で見つけられた情報に基づいていることの判断を下すために必要です。 0 は部分文字列検索を無効にします。弱い部分文字列がいったん見つけられるとパスワードは拒絶されないことに注意してください。弱い部分文字列が取り除かれて普通の強さの要件に従って代わりとなります。

部分文字列検索は、大文字と小文字を区別しないで、逆につづられた共通の部分文字列を検出して取り除くことができます。

similar= permit| deny
( similar= deny) 新しいパスワードが古いものと同様に許されるかどうか。十分長い共通の部分文字列があるとき、パスワードは同様であると考えられていて、部分文字列が取り除かれている新しいパスワードは弱いでしょう。
random= N[ , only]
( random=42) ランダムに生成されたパスワードのビット単位のサイズ、 0 はこの機能を無効にします。提供されたランダムに生成された文字列含むパスワードは、他の可能な制限にかかわらず許可されます。

only 修飾辞は、ユーザによって選ばれたパスワードを許可しないように使用することができます。

enforce= none| users| everyone
( enforce= everyone) モジュールは、弱いパスワードだけを警告するように設定することができますが、実際に強いパスワードを強制しません。 users 設定はルートでないユーザのためだけに強いパスワードを強制します。
non-unix
通常、 pam_passwdqc は、ユーザのパーソナルログイン情報を得るために getpwnam(3) を使用し、パスワードの強さのチェックの間に使用します。この振る舞いは non-unix オプションで無効にすることができます。
retry= N
( retry=3) ユーザが、最初に 2 回入力する、十分強いパスワードを提供することに失敗するなら、モジュールが新しいパスワードを問い合わせる回数。
ask_oldauthtok[ = update]
おまけに、古いパスワードを問い合わせます。通常、 pam_passwdqc は、その後のモジュールのためにこのタスクを残します。引数がなければ、 ask_oldauthtok オプションで pam_passwdqc は準備段階のチェックフェーズの間に古いパスワードを問い合わせます。 ask_oldauthtok オプションが update 引数で指定されるなら、 pam_passwdqc はアップデートフェーズの間にそれを行います。
check_oldauthtok
これは、新しいパスワードプロンプトを与える前に古いパスワードを有効にするために pam_passwdqc に伝えます。通常、このタスクはその後のモジュールのために残されます。

他のモジュールがパスワードを問い合わせて有効にする機会を得る場合に、 ask_oldauthtok= update も指定されるとき、このオプションは主に使用されます。もちろん、これは UNIX パスワードだけで動作します。

use_first_pass, use_authtok
pam_passwdqc の前にスタックされたモジュールによって得られた新しいパスワードを使用します。これは pam_passwdqc の中でユーザとの対話を無効にします。 use_first_passuse_authtok の唯一の違いは、前者が ask_oldauthtok と互換性がないということです。

関連項目

getpwnam(3), pam.conf(5), pam(8)

作者

pam_passwdqc モジュールは、 Solar Designer <solar@openwall.com>によって書かれました。作者の文書から得られた、このマニュアルページは、 DARPA CHATS 研究プログラムの一環として、 DARPA/SPAWAR 契約 N66001-01-C-8035 (“CBOSS”) の下で ThinkSec AS と NAI Labs, the Security Research Division of Network Associates, Inc. によって FreeBSD プロジェクトのために書かれました。
April 15, 2002 FreeBSD