推奨パスワード・オプションの設定

適切なパスワード管理は、 ユーザーの教育という方法でのみ実現できます。 ある種のセキュリティーを強化するために、 オペレーティング・システムには構成可能なパスワード制約事項が設けられています。 これらの制約事項を使って管理者は、 ユーザーによるパスワードの選択に制約を加え、また、パスワードの定期的な変更を強制することができます。

パスワード・オプションと拡張ユーザー属性は、 /etc/security/user ファイルにあります。このファイルは、ユーザー用の属性スタンザを含む ASCII ファイルです。 これらの制約事項は、新規パスワードがユーザーに定義される時点で必ず適用されます。 すべてのパスワード制約事項は、 ユーザーごとに定義されます。 /etc/security/user ファイルのデフォルト・スタンザに制約事項を維持することで、すべてのユーザーに同一の制約事項が適用されます。 パスワード・セキュリティーを維持管理するには、 すべてのパスワードを同じように保護する必要があります。

管理者はパスワード制限を拡張することもできます。 管理者は、 /etc/security/user ファイルの pwdchecks 属性を使用して、新しいサブルーチン ( メソッドと呼ばれる) をパスワード制限コードに追加することができます。 このように、 オペレーティング・システムで、 ローカル・サイトのポリシーを追加して実施することが可能になります。 詳しくは、 パスワード制限の拡張を参照してください。

パスワードの制約事項は、注意して適用してください。 過度に制限しようとすると、例えば、 パスワード・スペースを制限してパスワードを推測しやすくしたり、 覚えにくいパスワードの選択をユーザーに強制したためにどこかに書き留めないと覚えられなかったりすると、 パスワード・セキュリティーが危険にさらされる可能性があります。 基本的には、パスワード・セキュリティーはユーザー次第であると言えます。 簡易なパスワード制限は、適切な指針および、現在のパスワードが固有であるかの随時監査と結合することにより、最良のポリシーとなります。

以下の表は、/etc/security/user ファイルのユーザー・パスワードに関連するいくつかのセキュリティー属性の推奨値の一覧です。

表 1. ユーザー・パスワードに推奨されるセキュリティー属性値
属性 説明 推奨値 デフォルト値 最大値
dictionlist パスワードにUNIXの標準的な単語が含まれていないことを確認する。 /usr/share/dict/words 適用なし 適用なし
histexpire パスワードが再利用できるまでの週数 26 0 260*
histsize 許可されるパスワードの反復回数 20 0 50
maxage パスワードが変更される必要が生じるまでの最大週数 8 0 52
maxexpired 有効期限が切れたパスワードをユーザーが変更できる maxage を超えた最大週数 (Root を除く) 2 -1 52
maxrepeats パスワードで反復可能な文字の最大数 2 8 8
minage パスワードが変更可能になるまでの最小週数。 これは、偶発的に暗号漏えいして最近変更されたパスワードを、 管理者が常に容易にリセットできない限り、非ゼロ値に設定するべきではありません。 0 0 52
minalpha パスワードに必要な英字の最小数 2 0 PW_PASSLEN**
mindiff 旧パスワードとは異なる、新規パスワード内の文字の最小数。 0 0 PW_PASSLEN**
minlen パスワードの最小の長さ 6 (root ユーザーの場合 8) 0 PW_PASSLEN**
minother パスワードで必要な非英字の最小数 2 0 PW_PASSLEN**
pwdwarntime システムが、パスワード変更が必要であるという警告を出すまでの日数 5 適用なし 適用なし
pwdchecks このエントリーは、パスワードの品質を検査するカスタム・コードを使って passwd コマンドを増強するのに使用できます。 詳しくは、 パスワード制限の拡張を参照してください。 適用なし 適用なし

* 最大 50 個のパスワードが保存されます

** PW_PASSLEN は userpw.h ファイルに定義されています。

テキスト処理をシステムにインストールしている場合、管理者は、/usr/share/dict/words ファイルを dictionlist ディクショナリー・ファイルとして使用することができます。 この場合、管理者は minother 属性を 0 に設定できます。 ディクショナリー・ファイルのほとんどの単語には minother 属性に該当する文字が含まれていないため、minother 属性を 1 以上に設定すると、このディクショナリー・ファイルの大部分の単語が不要になります。

システム上のパスワードの最小の長さは、minlen 属性の値、または minalpha 属性の値に minother 属性の値を加えた値のいずれか大きい方によって設定されます。

パスワードの最大長は、PW_PASSLEN 属性で指定されている文字数です。 保管されたパスワード値を生成するときに使用された文字数は、 システムで使用されたパスワード・アルゴリズムによって異なります。 パスワード・アルゴリズムは /etc/security/pwdalg.cfg ファイルで定義され、使用するデフォルトのパスワード・アルゴリズムは、 /etc/security/login.cfg ファイルの pwd_algorithm 属性を使用して構成できます。 minalpha 属性の値と minother 属性の値を加えた値が、PW_PASSLEN 属性より大きくてはなりません。 minalpha 属性の値を minother 属性の値に加えた値が PW_PASSLEN 属性より大きい場合には、minother 属性の値は PW_PASSLEN 属性から minalpha 属性の値を差し引いた値まで減少します。

histexpire 属性と histsize 属性の両方の値を設定すると、システムは、両方の条件を満たすのに必要な数のパスワードを、 ユーザーあたり最大 50 パスワードというシステム限度までの範囲で保存します。 null パスワードは保存されません。

/etc/security/user ファイルを編集して、ユーザー・パスワードの管理に使用するデフォルトを組み込むことができます。 あるいは、 chuser コマンドを使用して属性値を変更することもできます。

このファイルで使用できるその他のコマンドは、 mkuserlsuser、および rmuser コマンドです。 mkuser コマンドは、/etc/security/user ファイル中の各新規ユーザーごとにエントリーを作成し、その属性を /usr/lib/security/mkuser.default ファイルで定義される属性で初期化します。 属性およびその値を表示するには、lsuser コマンドを使用します。 ユーザーの除去には、rmuser コマンドを使用します。