![]() |
iPlanet Directory Server 5.1 管理者ガイド |
第 7 章 ユーザアカウントの管理
ユーザが Directory Server に接続すると、まずユーザ情報が認証されます。認証が完了すると、認証 (authentication) 中に確立された識別情報に基づいて、アクセス権限 (access rights) と資源制限がユーザに割り当てられます。この章では、ユーザアカウントを管理するための作業について説明します。これらのタスクは、ディレクトリのパスワードおよびアカウントのロックアウトポリシーの構成、ディレクトリに対するユーザのグループのアクセス拒否、およびバインド DN に応じたユーザのシステムリソースの使用制限などを行います。
パスワードポリシーの管理
パスワードポリシーの管理
パスワードポリシー (password policy) を使用して、次の項目を義務付けることによって、パスワードに関するリスクを最小限に抑えることができます。ディレクトリに対するパスワードポリシーを一度確立すると、アカウントのロックアウトポリシーを設定して、ユーザのパスワードを潜在的な脅威から保護することができます。たとえば、ハッカーがユーザのパスワードを繰り返し入力して推測し、ディレクトリに侵入するのを、アカウントロックアウトによって防ぐことができます。
ここでは、パスワードポリシーとアカウントロックアウトポリシーの構成について、次の項目ごとに説明します。
「パスワードポリシーの構成」
パスワードポリシーの構成
構成したパスワードポリシーは、ディレクトリマネージャ (Directory Manager) を除く、ディレクトリ内のすべてのユーザに適用されます。パスワードポリシーは次の情報で構成されます。パスワードの追加と変更に関する情報 :パスワード情報には、パスワードの構文と詳細な履歴が含まれます。
バインド情報 :バインド情報には、失敗したバインドの追跡情報とパスワードの有効期限の属性が含まれます。
ここでは、次のようなパスワードポリシーを構成するための手順について説明します。
「Console を使用したパスワードポリシーの構成」
パスワードポリシーを構成したあと、アカウントロックアウトポリシーを構成することをお勧めします。アカウントロックアウトポリシーの構成については、「アカウントのロックアウトポリシーの構成」を参照してください。
Console を使用したパスワードポリシーの構成
Directory Server にパスワードポリシーを構成するには、次の手順を実行します。
Directory Server Console で「構成」タブを選択し、次に Data ノードを選択します。
「リセット後、ユーザにパスワード変更を要求」チェックボックスを選択すると、初回ログオン時にユーザがパスワードを変更しなければならないように指定できます。
- このタブには、Directory Server のパスワードポリシーが表示されます。
各ユーザが、自分のパスワードを変更できるようにするには、「ユーザによるパスワード変更可」チェックボックスを選択します。
- このチェックボックスを選択した場合、ディレクトリマネージャだけが、手順 9 で説明するフィールドを使用してユーザのパスワードをリセットできるようになります。一般の管理者は、パスワードの更新をユーザに義務付けることはできません。
ユーザが一定期間パスワードを変更できないようにするには、「再変更を許すまでの日数」テキストボックスに日数を入力します。
各ユーザが使用したパスワードの履歴リストをサーバ上で管理するには、「パスワードの履歴を保持」チェックボックスを選択します。「パスワードの保存回数」テキストボックスで、各ユーザに対して記録しておくパスワードの回数を指定します。
ユーザのパスワードを無期限にする場合は、「無期限のパスワード」ラジオボタンを選択します。
ユーザにパスワードを定期的に変更させる場合は、「パスワードの有効期限まで」ラジオボタンを選択し、パスワードの有効日数を入力します。
「パスワードの有効期限まで」ラジオボタンを選択した場合、パスワードが期限切れになる何日前にユーザに警告を送信するかを指定する必要があります。「パスワード警告の送信日 (期限切れまでの日数)」テキストボックスに、パスワードの期限切れの何日前に警告を送信するかを示す日数を入力します。
ユーザパスワードの構文を検査して、パスワードポリシーで設定した要件を満たしていることをサーバ側で確認する場合は、「パスワード構文を検査する」チェックボックスを選択します。次に、「パスワードの最低長」テキストボックスに、受け入れ可能なパスワードの最低長を指定します。
「パスワードの暗号化」プルダウンメニューで、パスワードの保存時にサーバで使用する暗号化方式を指定します。
パスワードポリシーの変更が完了したら、「保存」をクリックします。
- 暗号化方式については、表 7-1の「パスワードポリシーの属性」を参照してください。
- 「パスワードの暗号化」メニューには、表に記載されているもの以外の暗号化方式が表示される場合があります。これは、ディレクトリ内で検出された暗号化方式に基づいて、ディレクトリが動的にメニューを作成するためです。
コマンド行を使用したパスワードポリシーの構成
ここでは、サーバのパスワードポリシーを作成するために設定する属性について説明します。cn=config エントリ内にあるこれらの属性を変更するには、ldapmodify コマンドを使用します。次の表に、パスワードポリシーを構成するために使用する属性を示します。
オンの場合は、ユーザが最初にディレクトリにログインしたとき、またはディレクトリマネージャがパスワードをリセットしたあとに、パスワードの変更をユーザに要求する。オンの場合は、ユーザが定義したパスワードが無効になっていても、ユーザはパスワードの変更を要求される
この属性をオフに設定すると、パスワードは、明白な規約に従うことなく、ディレクトリマネージャによって割り当られたものとなり、ユーザにとってパスワードがわかりにくくなる
オンの場合は、ユーザが各自のパスワードを変更できる。パスワードを各ユーザに設定させると、ユーザが憶えやすいパスワードを選択する可能性がある
ただし、効果的なユーザパスワードを設定するには、多くの管理作業が必要になる。さらに、ユーザにとって意味を持たないパスワードを提供すると、ユーザが見つかりやすい場所にパスワードを書き留めてしまう可能性が生じる
オンの場合は、passwordMaxAge 属性で指定された期間が経過すると、ユーザのパスワードが期限切れになる。パスワードの有効期間を設定すると、ディレクトリデータの保護に役立つ。これは、同じパスワードを使用する期間が長くなると、他人に知られる可能性が高くなるためである
ユーザパスワードが期限切れになるまでの期間を秒数で指定する。この属性を使用する場合は、passwordExp 属性を設定してパスワードの有効期間を有効にする必要がある。
一般的なポリシーでは、パスワードを 30 から 90 日で期限切れにする。デフォルトでは、パスワードの有効期間は 8640000 秒 (100 日間) に設定される
パスワードの期限切れが近づいたユーザに対して、期限切れの何秒前に警告を送信するかを指定する
LDAP クライアント (LDAP client) アプリケーションによっては、警告の送信時に、ユーザに対してパスワードの変更を要求する場合がある。iPlanet Directory Express と Directory Server Gateway の両方でこの機能が実装されている
デフォルトでは、パスワードの期限が切れる 86400 秒 (1 日) 前に警告を送信する。ただし、警告メッセージが受信されるまで、パスワードを期限切れにはしない。したがって、ユーザは、passwordMaxAge の指定より長い間 Directory Server にバインドしていない場合でも、パスワードを変更するのに合わせて、ユーザは警告メッセージを受け取る
オンの場合は、パスワードの保存前にサーバによってパスワードの構文が検査される
パスワードの構文検査によって、パスワードの文字列が、パスワードの最低長の要件以上の長さを持ち、また「安易な」単語を含んでいないことが検査される。安易な単語とは、ユーザのエントリの uid、cn、sn、givenName、ou、mail の属性のいずれかに格納されている値を意味する
パスワードの最小文字数を指定する。短いパスワードほど不正な手段で解読されやすい
最小文字数は、2 〜 512 文字の範囲で指定できる。一般的に、不正な手段で解読することが難しく、ユーザが記録しておかなくても覚えられる長さは、6 〜 8 文字である
ユーザが設定したパスワードに対して、それを変更できない期間を秒数で指定する。この属性を passwordInHistory 属性と合わせて使うことにより、ユーザが古いパスワードを再使用しないように設定できる
たとえば、passwordMinAge 属性を 2 日に設定すると、1 つのセッションの間にパスワードを繰り返し変更して古いパスワードをいったんなくし、そのあとで古いパスワードを再使用するという行為を防止できる。
この値は、0 〜 2147472000 秒 (24,855 日) の間で指定できる。0 を指定すると、ユーザがただちにパスワードを変更できる
パスワードの履歴を、ディレクトリに保存するかどうかを指定する。オンに設定した場合は、passwordInHistory 属性で指定した数のパスワードが、ディレクトリによって履歴内に保存される。ユーザが保存されているパスワードのいずれかの再使用を試みても、拒否される
この属性をオフに切り替えた場合でも、一度履歴に保存されたパスワードはすべて残っている。この属性をオンに戻すと、この属性を無効にする前に履歴に記録されたパスワードであっても、再使用はできなくなる
ディレクトリによって履歴に保存されるパスワードの数を指定する。2 〜 24 個のパスワードを履歴に保存できる。この機能は、passwordHistory 属性をオンに設定しないと有効にはならない
Directory Server のパスワードを保存するために使用する暗号化のタイプを指定する。Directory Server では、次の暗号化のタイプがサポートされている
SSHA (Salted Secure Hash Algorithm):この方式がもっとも安全であり、推奨されている。デフォルトの暗号化方式
SHA ( Secure Hash Algorithm):一方向のハッシュアルゴリズムであり、Directory Server 4.x でのデフォルトの暗号化スキーマである
crypt : UNIX システムの一般的な暗号化アルゴリズムで、UNIX パスワードとの互換性を保つために提供されている
crypt、SHA、または SSHA 形式を使用して保存されたパスワードは、SASL Digest MD5 を使用したセキュアなログインには使用できないので注意する必要がある
ユーザパスワードの設定
userpassword 属性を含み、無効にされていないエントリだけが、ディレクトリへのバインドに使用できます。ユーザパスワードはディレクトリに保存されるので、通常使用する任意の LDAP 操作を使用してディレクトリを更新し、ユーザパスワードを設定またはリセットすることができます。ディレクトリエントリの作成および変更については、第 2 章「ディレクトリエントリの作成」を参照してください。ユーザアカウントを無効にする方法については、「ユーザとロールの無効化」を参照してください。
さらに、Administration Server の「ユーザおよびグループ」領域または Directory Server Console を使用して、ユーザパスワードの設定とリセットができます。「ユーザおよびグループ」領域の使い方については、Administration Server に付属するオンラインヘルプを参照してください。Gateway を使用してディレクトリエントリを作成または変更する方法については、Gateway に付属するオンラインヘルプを参照してください。
アカウントのロックアウトポリシーの構成
ロックアウトポリシーをパスワードポリシーと組み合わせて使用すると、セキュリティが向上します。アカウントのロックアウト機能を使用すると、ハッカーがユーザパスワードを繰り返し推測して、ディレクトリに侵入しようとするのを防止できます。アカウントロックアウトのカウンタは Directory Server 固有です。この機能は、ディレクトリサービスからグローバルにロックアウトするようには設定されていません。つまり、レプリケーション環境でもアカウントロックアウトのカウンタはレプリケートされません。詳細については、「レプリケーション環境でのパスワードポリシーの管理」を参照してください。パスワードポリシーを設定し、ユーザが一定の回数バインドに失敗したら、そのユーザをディレクトリからロックアウトすることができます。
以降では、アカウントロックアウトポリシーの構成について説明します。
「Console を使用したアカウントロックアウトポリシーの設定」
Console を使用したアカウントロックアウトポリシーの設定
Directory Server にアカウントロックアウトポリシーを設定するには、次の手順を実行します。
Directory Server Console で「構成」タブを選択し、次に Data ノードを選択します。
アカウントロックアウトを有効にするには、「アカウントのロックアウトを有効にする」チェックボックスを選択します。
「アカウントのロックアウトまでのログイン失敗回数」テキストボックスに、バインド失敗の最大許容回数を入力します。ここで指定した制限値を超えたユーザはロックアウトされます。
「失敗カウンタのリセットまでの時間 (分)」テキストボックスに、サーバのバインド失敗カウンタが 0 にリセットされるまでのサーバの待ち時間を分単位で入力します。
ユーザをディレクトリからロックアウトさせる間隔を設定します。
アカウントロックアウトポリシーの変更が終了したら、「保存」をクリックします。
- 管理者がユーザのパスワードをリセットするまで、ユーザをロックアウトさせるように設定する場合は、「無期限にロックアウトする」ラジオボタンを選択します。
- 「ロックアウトの時間」ラジオボタンを選択して、テキストボックスに分単位で時間を入力することによって、ロックアウト期間を設定できます。
コマンド行を使用したアカウントロックアウトポリシーの構成
この節では、サーバに保存されたパスワードを保護するアカウントロックアウトポリシーの作成に必要な属性について説明します。cn=config エントリ内にあるこれらの属性を変更するには、ldapmodify コマンドを使用します。次の表に、アカウントロックアウトポリシーを構成するために使用できる属性を示します。
レプリケーション環境でのパスワードポリシーの管理
レプリケーション環境では、パスワードポリシーとアカウントロックアウトポリシーが次のように適用されます。
パスワードポリシーがデータマスター (data master) に適用される
ディレクトリ内にあるパスワードポリシー情報の一部はレプリケートされます。次の属性がレプリケートされます。アカウントロックアウトポリシーは、レプリケーション (replication) の対象となるすべてのサーバに適用される
ただし、設定情報はローカルだけで保持され、レプリケートされません。この情報には、パスワードの構文とパスワードの変更履歴が含まれます。アカウントロックアウトのカウンタもレプリケートされません。
レプリケートされた環境でパスワードポリシーを設定するときは、次の点について考慮する必要があります。
パスワードの期限切れが近づいたことを知らせるサーバからの警告は、すべてのレプリカによって発行される。この情報はローカルの各サーバ上に保持される。したがって、ユーザが複数のレプリカに順番にバインドした場合、ユーザは同じ警告を数回受信する。また、ユーザがパスワードを変更した場合は、この情報が複製にフィルタされるまで時間がかかることがある。また、ユーザがパスワードを変更し直後に再バインドした場合は、この情報がレプリカに登録されるまでバインドが失敗することがある
マスターやレプリカを含むすべてのサーバでバインドの動作を一致させたい場合は、各サーバで同じパスワードポリシーの設定情報を作成する必要がある
多重マスター環境では、アカウントロックアウトのカウンタが予測できない動作をする場合がある
レプリケーションのために作成したエントリ (サーバの識別情報など) には、無期限のパスワードを設定する必要がある。これらの特別なユーザに確実に無期限のパスワードを使用させるには、passwordExpirationTime 属性をエントリに追加し、この属性に 20380119031407Z (有効範囲の上限の値) を指定する
ユーザとロールの無効化
1 つのユーザアカウントまたはアカウントのセットを、一時的に無効にすることができます。アカウントが無効になると、ユーザはディレクトリにバインドできないため、このユーザの認証操作は失敗します。ユーザとロールを無効にするには、操作属性 nsAccountLock を使用します。エントリに true の値を持つ nsAccountLock 属性が含まれている場合、サーバはバインドを拒否します。
ユーザとロールの無効化にも、同じ手法を使用します。ただし、ロールを無効にする場合は、ロール (role) のメンバーを無効にしているだけで、ロールエントリ自体は無効にしません。ロールの概要、およびロールとアクセス制御が相互に及ぼす影響については、第 5 章「高度なエントリの管理」を参照してください。
「Console を使用したユーザとロールの無効化」
データベース上のルートエントリ (ルートまたはサブ接尾辞に対応するエントリ) は、無効にすることができません。
ルートまたはサブ接尾辞に対応するエントリの作成については、第 2 章「ディレクトリエントリの作成」を参照してください。ルートおよびサブ接尾辞の作成については、第 3 章「ディレクトリデータベースの構成」を参照してください。
Console を使用したユーザとロールの無効化
次に、Console を使用してユーザまたはロールを無効にする手順について説明します。
Directory Server Console で、「ディレクトリ」タブを選択します。
左側のナビゲーション区画にあるツリーから、無効にするユーザまたはロールをダブルクリックします。
左側の区画で、「アカウント」をクリックします。右側の区画に、無効になっているロールまた有効はユーザが表示されます。ユーザまたはロールを有効にするには、「有効」をクリックします。
- 「エントリの編集」ダイアログボックスが表示されます。
- 「オブジェクト」メニューの「無効」を選択することもできます。
「OK」をクリックすると、ダイアログボックスが閉じ、変更が保存されます。
- オブジェクトを無効にすると、「表示」メニューの「アクティブでない状態」を選択することによって、オブジェクトの状態を表示できます。オブジェクトの状態は、Console の右側の区画に、赤い斜線が入ったオブジェクトのアイコンとして表示されます。
コマンド行を使用したユーザとロールの無効化
コマンド行からユーザアカウントを無効にするには、ns-inactivate.pl スクリプト (Solaris 9プラットフォーム上のdirectoryserver account-inactivate) を使用します。このスクリプトのコマンドは、プラットフォームごとに異なります。
# /usr/sbin/directoryserver account-inactivate installDir> bin¥slapd¥admin¥bin¥perl slapd-serverID¥ns-inactivate.pl # installDir/slapd-serverID/ns-inactivate.pl 次のコードは、ns-inactivate.plスクリプトを使用して、Joe Frasier のユーザアカウントを無効にする例を示しています。
ns-inactivate.pl -h server.siroe.com -p 389 \
-D "cn=Directory Manager" -w password
-I "uid=jfrasier,ou=people,dc=siroe,dc=com"この例で使用されている ns-inactivate.pl のオプションを、次に示します。
表 7-3 例で使用した ns-inactivate.pl オプションの説明
-h
-p
-D
-w
-I
ns-inactivate.pl スクリプトの実行方法については、『iPlanet Directory Server 構成、コマンド、およびファイルのリファレンス』を参照してください。
Console を使用したユーザとロールの有効化
次に、Console を使用してユーザまたはロールを有効にする手順について説明します。
Directory Server Console で、「ディレクトリ」タブを選択します。
左側のナビゲーション区画にあるツリーから、有効にするユーザまたはロールをダブルクリックします。
左側の区画で、「アカウント」をクリックします。右側の区画に、有効になっているロールまたはユーザが表示されます。ユーザまたはロールを有効にするには、「有効」をクリックします。
- 「エントリの編集」ダイアログボックスが表示されます。
- 「オブジェクト」メニューの「有効」を選択することもできます。
対象のユーザまたはロールが別の無効なロールのメンバーである場合は、Console に無効なロールを表示するためのオプションが表示されます。「無効なロールの表示」をクリックすると、ユーザまたはロールが属するロールのリストが表示されます。
- オブジェクトを再び有効にすると、「表示」メニューの「アクティブでない状態」を選択することによって、オブジェクトの状態を表示できます。Console の右側の区画に、ロールまたはユーザのアイコンが通常の外観で表示されます。無効であることを示すアイコン内の赤い斜線は消えています。
コマンド行を使用したユーザとロールの有効化
コマンド行からユーザアカウントを無効にするには、ns-activate.pl スクリプト (Solaris 9 プラットフォーム上の directoryserver account-activate) を使用します。このスクリプトのコマンドは、プラットフォームごとに異なります。
# /usr/sbin/directoryserver account-activate installDir> bin¥slapd¥admin¥bin¥perl slapd-serverID¥ns-activate.pl # installDir/slapd-serverID/ns-activate.pl 次のコードは、ns-activate.pl スクリプトを使用して、Joe Frasier のユーザアカウントを有効にする例を示しています。
ns-activate.pl -h server.siroe.com -p 389 \
-D "cn=Directory Manager" -w password \
-I "uid=jfrasier,ou=people,dc=siroe,dc=com"この例で使用されている ns-activate.pl のオプションを、次に示します。
表 7-4 例で使用した ns-activate.pl オプションの説明
-h
-p
-D
-w
-I
ns-activate.pl スクリプトの実行方法については、『iPlanet Directory Server 構成、コマンド、およびファイルのリファレンス』を参照してください。
バインド DN に基づく資源制限の設定
ディレクトリにバインドするクライアントアプリケーションでは、特別な操作属性値を使用して、検索操作に関するサーバの制限を制御することができます。検索操作に関しては、次の制限を設定できます。検索制限 : 検索操作で検査できるエントリの数を指定します。
サイズ制限 :サーバが検索操作に対してクライアントアプリケーションに返す最大エントリ数を指定します。
時間制限 :サーバが検索操作を処理するために使用できる最大時間を指定します。
アイドルタイムアウト :サーバがアイドル状態になってから接続が切断されるまでの時間を指定します。
クライアントアプリケーションに対して設定した資源制限は、グローバルなサーバ告ャで設定したデフォルトの資源制限より優先されます。
「Console を使用した資源制限の設定」
Console を使用した資源制限の設定
ここでは、Console を使用してユーザまたはロールの資源制限を設定する手順について説明します。
Directory Server Console で、「ディレクトリ」タブを選択します。
左側のナビゲーション区画にあるツリーから、資源制限を設定する対象のユーザまたはロールをダブルクリックします。
左側の区画で、「アカウント」をクリックします。右側の区画の「資源制限」セクションに、設定できる 4 つの制限が表示されます。
- 「エントリの編集」ダイアログボックスが表示されます。
処理が終了したら、「OK」をクリックします。
- 「-1」を指定すると、数の制限がなくなります。
コマンド行を使用した資源制限の設定
コマンド行を使用して、各エントリに対して次の操作属性を設定できます。ldapmodify を使用して、エントリに次の属性を追加します。
サーバが検索操作に対してクライアントアプリケーションに返す最大エントリ数を指定する。この属性値を -1 に設定すると無制限になる
サーバがアイドル状態になってから接続が切断されるまでの時間を指定する。値の単位は秒数。この属性値を -1 に設定すると無制限になる
たとえば、次のように ldapmodify を実行することによって、エントリのサイズの制限を設定できます。
ldapmodify -h myserver -p 389 -D "cn=directory manager" -w secretpwd
dn:uid=bjensen,ou=people,dc=siroe,dc=com
changetype: modify
add:nsSizeLimit
nsSizeLimit: 500この ldapmodify 文は、Babs Jensen のエントリに nsSizeLimit 属性を追加し、検索結果のサイズの制限を 500 エントリに設定します。
前へ 目次 索引 DocHome 次へ
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.
Last Updated February 26, 2002