この節では、Web サイトのファイルやディレクトリへの アクセスを制限するプロセスについて説明します。その後の節では、アクセス コントロールを使う場合に使用可能な各オプションの詳細について説明します。ほとんどのアクセス コントロール ルールは、使用可能なオプションのサブセットだけを使っていることを覚えておいてください。
アクセス コントロールは、2 つの iPlanet Web Server メカニズムを通じて設定することができます。いずれの方法とも希望の設定が柔軟に行えます。
-
Administration Server
-
Server Manager
ノート
Administration Server を通じてすべてのサーバのアクセス コントロールをグローバルに設定することも、またはサーバ マネージャを通じて特定のサーバ インスタンス内のリソースのアクセス コントロールを設定することもできます。この節では、サーバ マネージャを使って特定のサーバ インスタンス内にアクセス コントロールを設定する方法について説明します。Administration Server を使ってアクセス コントロールをグローバルに設定する方法については、サーバのアクセスの制限を参照してください。
例を紹介した 節もあります。アクセス コントロールの例を参照してください。
アクセス コントロール ルールを作成するには、次の手順を実行します。
- サーバ マネージャから [Preferences] タブを選択します。
- [Restrict Access] リンクをクリックします。
- [Pick a resource] で、制御するサーバ (リソース)
部分を指定します。
- [Edit Access Control] をクリックします。
- [New Line] をクリックします。
- [Deny] をクリックして、ルールに適用するアクションを選択します。
- [Users/Groups] カラムにある [anyone] をクリックして、ユーザグループ認証を指定します。
- [anyplace] をクリックして、ルールに追加するコンピュータを指定します。
- [all] をクリックして、ルールに追加するアクセス権を指定します。下のフレームでアクセス権を選択し、[Update] をクリックします。
- 制限するプログラムを指定します。サーバ マネージャでは、プログラムとは選択したサーバのフォームです。たとえば、[All
Program] ラジオ ボタンをチェックして、管理サーバを設定するすべてのフォームへのアクセスを制限することができます。1 つまたは
2 つのフォームのセットへのアクセスを制限する場合は、ドロップ ダウン リストからカテゴリを選択します。あるカテゴリ内の 1 つのフォームへのアクセスを制限するには、[Program
Items] フィールドにフォーム名を入力します。たとえば、アクセス コントロール フォームへのアクセスを制限するには、[Program
Items] フィールドに「distacl」と入力します。詳細については、プログラムへのアクセスを参照してください。
- ACL ファイルについてよく理解している場合は、[Extra] のカラムにある [X] をクリックしてカスタマイズした
ACL エントリを入力することもできます。
- チェーン内でアクセス コントロール ルールを続行する場合は、[Continue] を選択します。
- 必要な各ルールについて手順 5 〜11 を繰り返します。
- [Submit] をクリックして、ACL にファイルに新しいアクセス コントロール ルールを保存します。
次の節では、アクセス コントロール ページの下のフレームに表示されるオプションについて説明します。
アクセス コントロール アクションの設定
リクエストがアクセス コントロール ルールに一致した場合のサーバのアクションを指定することができます。
サーバは ACE のリストを検索してアクセス パーミッションを決めます。たとえば、通常最初の ACE
は全員を拒否するものです。最初の ACE が [Continue] に設定されていれば、サーバはリスト内の 2 番目の ACE を確認します
([Continue] がチェックされていないと、全員に対してそのリソースへのアクセスが拒否されます)。2 番目のエントリが一致すると、次の
ACE が使われます。一致しない ACE に到達するか、または一致しても続行しないように設定されている ACE に到達するまで、サーバは続行します。一致する最後の
ACE によって、アクセスが拒否されるか許可されるかが決まります。たとえば、図
14.4では、データベース内のユーザはファイルを表示 (読み込みアクセス) することができますが、サーバにファイルを発行するには "pubs"
グループに属していなければなりません。
図 14.4    ACL で拒否と許可ステートメントを組み合わせることができます。
ユーザとグループの指定
リソースを要求するユーザに基づいて、Administration Server や Web サイトへのアクセスを制限することができます。ユーザおよびグループ認証を使うと、ユーザはアクセス
コントロール ルールで指定されたリソースにアクセスする前にユーザ名とパスワードを入力するように求められます。
iPlanet Web Server では、ユーザのリスト (グループに分けられていることもある) を使って、リソースを要求しているユーザのアクセス権を決めます。Administration Server 内でのアクセス コントロール用に菅理者グループ (分散管理用に設定するグループ) を定義する必要があります。ユーザのリスト (およびユーザが属しているグループ) は、Netscape Directory Server などの LDAP サーバに保存されます。アクセス コントロールを設定する前に、データベースにユーザとグループ (管理者グループを含む) が入っているかどうか確認します。
データベース内の全員に対してアクセスを許可または拒否したり、ワイルドカード パターンやユーザやグループのリストを使って特定の人を許可または拒否したりすることもできます。
ユーザとグループでアクセス
コントロールを設定するには、アクセスを制限するための一般手順に従います。 [Users/Groups] フィールドをクリックすると、下のフレームに追加オプションが表示されます。次のリストは下のフレーム内のオプションについて説明したものです。
- [Anyone (No Authentication)] はデフォルトであり、ユーザ名やパスワードを入力する必要がなく、誰でもリソースにアクセスできることを意味しています。しかし、ホスト名や
IP アドレスなどの他の設定に基づいてユーザのアクセスが拒否されることもあります。Administration Server では、これは分散管理で指定した管理者グループ内の人であれば誰でもページにアクセスできることを意味しています。
-
[Prompt for authentication] を使うと、認証ダイアログ ボックスに表示されるメッセージ テキストを指定することができます。このテキストを使って、ユーザが入力する必要のある内容について説明することができます。オペレーティング システムによっては、ユーザに対して表示されるのは最初の 40 文字程度だけであることがあります。Netscape Navigator と Netscape Communicator は、ユーザ名とパスワードをキャッシュし、それをプロンプト テキストに関連付けます。つまり、ユーザが同じプロンプトがある領域 (ファイルやディレクトリ) にアクセスした場合、同じユーザ名やパスワードを再入力する必要がないということです。逆に、さまざまな領域で毎回認証を行う場合は、そのリソースの ACL のプロンプトを変更しなければなりません。
-
[Authentication Database] を使うと、サーバがユーザの認証に使うデータベースを選択することができます。デフォルト設定では、サーバは LDAP ディレクトリ内のユーザとグループを検索します。しかし、個々の ACL を設定して別のデータベースを使うように設定することもできます。この場合、まず server_root/userdb/dbswitch.conf ファイル内で別のデータベースと LDAP ディレクトリを指定し、次にドロップ ダウン リストから ACL で使うデータベースを選択します。アクセス コントロール API を使ってカスタム データベース (Oracle や Informix データベースなど) を使う場合、[User/Group] ウィンドウの [Other] フィールドにデータベース名を入力します。
ホスト名と IP アドレスの指定
リクエストを出しているコンピュータに基づいて、Administration Server や Web サイトへのアクセスを制限することができます。この制限は、コンピュータのホスト名や IP アドレスに一致するワイルドカード パターンを使って指定することができます。たとえば、特定のドメイン内のすべてのコンピュータを許可または拒否するには、*.iPlanet.com のように、そのドメインからのすべてのホストに一致するワイルドカード パターンを入力します。スーパーユーザが Administration Server にアクセスする際に使わなければならないホスト名と IP アドレスを設定することができます。
ホスト名や IP アドレスからユーザを指定するには、Web サイトへのアクセスの制限の指示に従ってアクセスを制限します。From Hostフィールド (anyplace というリンク) をクリックすると、下のフレームに追加オプションが表示されます。Only fromオプションをチェックして、次にワイルドカード パターンまたはカンマで区切ったホスト名と IP アドレスのリストを入力します。ホスト名を使って制限すると、IP アドレスを使う場合に比べて柔軟です。ユーザの IP アドレスに変更があっても、このリストを更新する必要はありません。しかし、IP アドレスで制限するとより安全です。接続されたクライアントの DNS 照合に失敗すると、ホスト名制限を使用できません。
ホスト名や IP アドレスは、ワイルドカード パターンまたはカンマ区切りのリストで指定されます。使用可能なワイルドカード記号は限られており、「*」しか使えません。IP アドレスにワイルドカードを使う場合、「*」はそのアドレス内の 1 つのバイト数全体を代替するものでなければなりません。つまり 198.95.251.* は使用できますが、198.95.251.3* は使用できません。また、「*」が IP アドレスに使われる場合、これは一番右端の文字でなければなりません。つまり、198.* は使用できますが、198.*.251.30 は使用できません。
ホスト名では、「*」は名前の 1 つのコンポーネントを完全に代替するものでなければなりません。つまり、*.iPlanet.com は使用できますが、*sers.iPlanet.com は使用できません。また「*」をホスト名に使う場合、これは一番左端の文字でなければなりません。たとえば、*.iPlanet.com は使用できますが、users.*.com は使用できません。
アクセス権の設定
Web サイトのファイルやディレクトリに対するアクセス権を設定することができます。つまり、すべてのアクセス権を許可または拒否するだけでなく、部分的アクセス権を許可または拒否するルールを指定することができます。たとえば、ファイルを参照できても変更できないように、読み込み専用のアクセス権を与えることができます。これは Web 発行機能を使ってドキュメントを発行する際に特に便利です。
アクセス コントロール ルールを作成する際に、すべてのアクセス権に対してデフォルトアクセス権が設定されます。アクセス権を変更するには、上のフレームの
[Rights] リンクをクリックして、特定のルールに設定するアクセス権を選択します。次に、チェックして選択できるアクセス権について説明します。
-
[Read] アクセスを使うと、ユーザはファイルを表示することができます。このアクセス権には、HTTP メソッドの GET、HEAD、POST、INDEX が含まれます。
-
[Write] アクセスを使うと、ユーザはファイルを変更または削除することができます。書き込みアクセスには、HTTP メソッドの PUT、DELETE、MKDIR、RMDIR、MOVE が含まれます。ファイルを削除するには、ユーザは書き込み権限と削除権限の両方を持っていなければなりません。
-
[Execute] アクセスは、CGI プログラム、Java applet、エージェントのようなサーバサイド アプリケーションに該当します。
-
[Delete] アクセスは、ユーザが書き込みアクセスも併せ持っていれば、ファイルやディレクトリを削除できることを意味しています。
-
[List] アクセスは、ユーザがディレクトリ情報を取得できることを意味しています。つまり、ユーザはそのディレクトリ内のファイルのリストを取得できるということです。これは、Web Publisher や index.html ファイルを含まないディレクトリに該当します。
-
[Info] アクセスは、ユーザがヘッダ (http_head メソッド) を取得できることを意味しています。これは主に Web Publisher によって使われます。
プログラムへのアクセス
管理者がアクセスできる管理サーバの領域を選択することができます。サーバ マネージャに表示されるタブのグループ ([Cluster Management] など) を選択するか、サーバ マネージャの左フレームにリンクとして表示される特定のページ ([User & Groups] タブの「New User」など) を選択することができます。
サーバ内のプログラムへのアクセスを制御するには、次の手順を実行します。
- 管理サーバから、[Global Settings] タブを選択します。
- [Restrict Access] を選択します。
- ドロップダウン リストから、管理アクセスを制限するサーバを選択します。管理サーバには、"https-admserv"
というラベルが付いています。その他のサーバには、そのタイプとサーバ ID のラベルが付いています (https-mozilla
など)。
- [Edit ACL] をクリックします。2 つのフレームがあるアクセス
コントロールページが表示されます。
- 各 ACL は 2 つの拒否行から始まります (デフォルト設定)。1 つは分散管理に設定された
"管理者" グループ内のユーザだけにアクセスを限定するものと、もう 1 つはすべてのユーザのアクセスを制限するものです。これらの行のいずれかを変更する場合は、手作業で
ACL ファイルを編集する必要があります。 [New Line] をクリックして、ACL
にルールを追加します。作成される各 ルールは、サーバへのアクセスを許可します。特定してユーザにアクセス を許可することにより、アクセスを許可したくないユーザにアクセスを許
可してしまう危険性が減少します。
- このアクセス コントロール ルールに適用するユーザ、グループ、ホスト、IP アドレスを選択します。
- デフォルトでは、管理者はサーバのすべてのプログラムに対するアクセス権を持ちます。上のフレームの、[Programs]
の [All] をクリックします。下のフレームに、選択されたサーバ タイプのプログラムが一覧表示されます。
- [Only the following] を選択し、ルールに適用するプログラム グループを選択します。複数のグループを選択するには、Ctrl
キーを押しながら必要なグループをクリックします。
- タブ内の特定のページへのアクセスを制御することができます。[Program
Items] フィールドにページ名を入力します。
- [Update] をクリックし、[Submit] をクリックしてアクセス コントロール ルールを保存します。
カスタマイズされた式の作成
ACL にカスタム式を入力することができます。この機能は、ACL ファイルのシンタックスと構造についてよく理解している場合に使用できます。ACL ファイルの編集またはカスタム式の作成によってのみ使用できる機能がいくつかあります。たとえば、時刻や曜日、またはその両方によって、サーバへのアクセスを制限することができます。
カスタマイズされた次の式は、時刻と曜日でアクセスを制限する方法を紹介するものです。この例では、LDAP ディレクトリ内に 2 つのグループがあると仮定しています。"regular" グループは月〜金曜日の 8:00am 〜 5:00pm にアクセスすることができます。"critical" グループは常にアクセスが可能です。
allow (read)
{
(group=regular and dayofweek="mon,tue,wed,thu,fri");
(group=regular and (timeofday>=0800 and timeofday<=1700));
(group=critical)
}
有効なシンタックスと ACL ファイルの詳細については、ACL
ファイルのシンタックスとobj.conf での ACL ファイルの参照を参照してください。
[Access control on] の選択
[Access control on] というラベルのオプションのチェックを外すと、ACL 内の記録を削除するかどうかを尋ねるプロンプトが表示されます。[OK] をクリックすると、ACL ファイルからそのリソースの ACL エントリが削除されます。
ACL を無効にする場合は、generated-https-server-id.acl ファイル内で各行の最初に「#」を挿入することにより、ACL 行をコメント アウトできます。
Administration Server から、特定のサーバ インスタンスのアクセス コントロールを作成してオンにし、他のサーバに対してはオフ (デフォルト) のままにしておくことができます。たとえば、Administration Server から、「Server Manager」ページへのアクセスをすべて拒否することができます。他のすべてのサーバをデフォルト設定で、分散管理をオン、アクセス コントロールをオフにした状態で、管理者は他のサーバにアクセスして設定することができますが、Administration Server は設定できません。
ノート
このアクセス コントロールは、分散管理に設定された管理者グループ内にユーザが属するかどうかを確認するために追加された機能です。Administration Server は、まずユーザ (スーパーユーザ以外) が管理者グループに属しているかどうかを確認し、次にアクセス コントロール ルールを評価します。
アクセスが拒否された場合の応答
アクセスが拒否された場合、ユーザに対して表示されるレスポンスを選択することができます。また各アクセス コントロール オブジェクトのメッセージをそれぞれ別にすることができます。デフォルトでは、ファイルが見つからないというメッセージがユーザに対して送信されます (HTTP エラー コード 「404 Not Found」も送信されます)。
特定の ACL に送信されるメッセージを変更するには、次の手順を実行します。
-
「ACL」ページで [Response when denied] リンクをクリックします。
- 下のフレームで [Respond with the following file] ラジオ ボタンをチェックします。
-
アクセスが拒否された場合にユーザに送信する、サーバのドキュメント ルートにあるテキストまたは HTML ファイルへの URL か URI をテキスト フィールドに入力します。サーバはこのファイルへの読み込みアクセスを持っていなければならないので、ファイルをドキュメント ルートに置くことをお勧めします。
- [Update] をクリックします。
- 上のフレームの [Submit] をクリックして、アクセス コントロール ルールを送信するのを忘れないようにします。
|