Sun Java System Web Server 7.0 管理ガイド

アクセス制御の構成

サーバーは、ローカルに格納されたアクセス制御リスト (ACL) を使用することで、認証と承認をサポートします。ACL は、あるユーザーがあるリソースに対してどのようなアクセス権限を持つかを記述します。たとえば、ある ACL のエントリを使って、John という名前のユーザーに、特定のフォルダ misc に対する read アクセス権を許可することができます。

この節では、Web サイト上のファイルやディレクトリへのアクセスを制限するための手順について説明します。すべてのサーバーに対してグローバルアクセス制御規則を設定することも、特定のサーバーに対して個別に設定することもできます。たとえば、人事部門であれば、すべての認証済みユーザーが自分の給与データを参照できるが、そのデータを更新する機能へのアクセスは人事部門の給与担当者のみに制限するような ACL を作成できます。

サーバーがサポートするコア ACL では、3 種類の認証が使えます。基本、SSL、およびダイジェストです。

アクセス制御の設定を編集するには、次のタスクを実行します。

  1. 構成」タブをクリックし、構成を選択します。

  2. 「セキュリティー」サブタブ>「アクセス制御」サブタブをクリックします。

  3. ACL を追加」ボタンをクリックして新しい ACL を追加するか、既存の ACL をクリックして設定を編集します。

アクセス制御リスト (ACL) の追加

次の節では、新しい ACL を構成に追加する手順について説明します。

  1. 構成」タブをクリックし、構成を選択します。

  2. 「アクセス制御」サブタブ>「アクセス制御リスト (ACL)」サブタブをクリックします。

  3. 新規」ボタンをクリックして新しい ACL を追加します。

下記のパラメータを設定します。

表 7–2 ACL パラメータ

パラメータ

説明

リソース

名前/URI/パス。アクセス制限を設定するリソースの種類を選択し、その値を指定します。URI リソースの例: — 「/sales」。パスリソースの例: — 「/usr/sun/server4/docs/cgi-bin/*」。 

認証データベース

「認証データベース」では、サーバーがユーザーの認証に使用するデータベースを選択できます。

デフォルトは keyfile です

認証方法

  1. 基本 — HTTP メソッドを使用してクライアントから認証情報を取得します。ユーザー名とパスワードがネットワーク上で暗号化されるのは、サーバーで SSL が有効になっている場合だけです。

  2. SSL — クライアント証明書を使用してユーザーの認証を行います。このメソッドを使用するには、サーバーの SSL を有効にする必要があります。暗号化が有効になっていれば、基本と SSL の方法を組み合わせることができます。

  3. ダイジェスト — ユーザー名とパスワードを平文として送信することなしにユーザー名とパスワードに基づく認証をブラウザが行うための手段を提供する認証機構を使用します。ブラウザは MD5 アルゴリズムを使用して、ユーザーのパスワードと Web Server によって提供される情報の一部を使用するダイジェスト値を作成します。「ダイジェスト」を使用するには、背後の auth-db もダイジェストをサポートしている必要があります。これは、ダイジェスト認証プラグインがインストールされている場合にのみ、digestfile を使用したファイル auth-db、LDAP auth-db のいずれかを意味します

  4. その他 — アクセス制御 API を使って作成されたカスタム方法を使用します。

認証確認テキスト

認証確認テキスト」オプションでは、認証ダイアログボックス内に表示されるメッセージテキストを入力できます。このテキストを使用して、ユーザーが入力する必要のある項目について説明することができます。ブラウザによっては、最初の 40 文字程度しか表示されません。

Web ブラウザは通常、ユーザー名とパスワードをキャッシュし、それらをプロンプトのテキストと関連付けます。ユーザーが、サーバーの同じ確認テキストを持つファイルやディレクトリにアクセスしても、ユーザー名とパスワードを再度入力する必要はありません。特定のファイルやディレクトリでユーザーに再度認証させたい場合は、そのリソースの ACL の確認テキストを変更すればよいだけです。 

アクセス拒否時の応答

あるリソースへのアクセスが拒否された場合の応答アクションを指定します。 

1. デフォルトメッセージで応答 — サーバーから標準のアクセス拒否メッセージを表示する場合に、このオプションを選択します。 

2. URL で応答 — ほかの外部 URL やエラーページに要求を転送する場合に、このオプションを選択します。 


注 –

CLI の使用

CLI 経由で ACL を追加するには、次のコマンドを実行します。


wadm> set-acl --user=admin --password-file=admin.pwd 
--host=serverhost --port=8989 --vs=config1_vs_1 --config=config1 
--aclfile=aclfile1

CLI リファレンスの set-acl(1) を参照してください。


アクセス制御エントリ (ACE) の追加

この節では、選択された構成に対して新しいアクセス制御エントリ (ACE) を追加するプロセスについて説明します。

  1. 構成」タブをクリックし、構成を選択します。

  2. 「アクセス制御」サブタブ>「アクセス制御リスト (ACL)」サブタブをクリックします。

  3. 新規」ボタンをクリックします。

  4. 「アクセス制御エントリ (ACE)」の「新規」ボタンをクリックします。

次の ACE パラメータを設定します。

表 7–3 ACE パラメータ

パラメータ

説明

アクセス権

  • 許可する ユーザーまたはシステムが、要求されたリソースにアクセスできることを意味します

  • 許可しない ユーザーまたはシステムが、要求されたリソースにアクセスできないことを意味します

    サーバーはアクセス制御エントリ (Access Control Entry、ACE) のリストを参照して、アクセス権を決定します。

ユーザー

1.すべて (認証なし) — 認証は行われません。すべてのユーザーにアクセスを許可します。

2. 認証データベース中のすべて — 認証データベース内に指定されたすべてのユーザーにアクセスを許可します。

3. 認証データベース中の以下だけ — 認証データベースから選択されたユーザーだけにアクセスを制限します。

認証データベースに対するクエリーを、名、姓、電子メールアドレスなどの共通属性に基づいて実行できます。 

グループ

グループの認証が行われる場合、ユーザーがアクセス制御規則で指定されているリソースにアクセスするには、ユーザー名とパスワードを入力する必要があります。 

特定のグループにアクセスを制限する場合に、このオプションを使用します。 

アクセスを許可するホスト

どのコンピュータから要求が送られたかに基づいて、管理サーバーまたは Web サイトへのアクセスを制限できます。 

  • 「すべて」では、すべてのユーザーとシステムに対してアクセスを許可します

  • 「次の転送元からのみ」では、特定のホスト名または IP アドレスへのアクセスが制限できます

「次の転送元からのみ」オプションを選択する場合は、「ホスト名」フィールドまたは「IP アドレス」フィールドに、ワイルドカードパターンまたはコンマで区切ったリストを入力します。IP アドレスよりホスト名で制限する方が、より柔軟にできます。ユーザーの IP アドレスが変更された場合でも、このリストを更新する必要がありません。ただし、IP アドレスで制限する方が、より確実です。接続したクライアントの DNS 検索が失敗した場合、ホスト名による制限が使用できないためです。 

コンピュータのホスト名または IP アドレスに一致するワイルドカードパターン用として使用できるのは、* ワイルドカード記号だけです。たとえば、指定ドメインのすべてのコンピュータに対してアクセスを許可または拒否する場合、 *.sun.com のように、特定ドメイン内のすべてのホストと一致するワイルドカードパターンを指定します。管理サーバーにアクセスするスーパーユーザーに対しては、その他のユーザーとは異なるホスト名と IP アドレスを設定することができます。

ホスト名の場合、* は名前の構成要素全体を表している必要があります。つまり、*.sun.com は許容されますが、*users.sun.com は許容されません。* がホスト名に含まれる場合、それは左端の文字でなければいけません。

たとえば、*.sun.com は許容されますが、users.*.com は許容されません。IP アドレスの場合、* はアドレスのバイト全体を表している必要があります。たとえば、198.95.251.* は許容されますが、198.95.251.3* は許容されません。IP アドレスで * を使用する場合、この記号は文字列の一番右に使用する必要があります。たとえば、198.* は許容されますが、198.*.251.30 は許容されません。

権限

アクセス権は、Web サイトのファイルやディレクトリへのアクセスを制限します。すべてのアクセス権の許可または拒否に加えて、一部のアクセス権の許可または拒否を行うための規則を指定することもできます。たとえば、ユーザーに対してファイルへの読み取り専用アクセスを許可することができます。この設定では、ユーザーは情報を表示することはできますが、ファイルを変更することはできません。 

  • 「すべてのアクセス権限」はデフォルトで、すべてアクセス権を許可または拒否します。

  • 「次の権限のみ」では、許可または拒否するアクセス権の組み合わせを選択できます。

    • 読み込み」を選択すると、ユーザーはファイルを表示できます。これには HTTP メソッド GET、HEAD、POST、および INDEX が含まれます

    • 書き込み」を選択すると、ユーザーはファイルを変更または削除できます。これには、HTTP メソッド PUT、DELETE、MKDIR、RMDIR、および MOVE.が含まれます。ファイルを削除するには、ユーザーは書き込み権限と削除権限の両方を持っている必要があります

    • 実行」を選択すると、ユーザーは CGI プログラム、Java アプレット、エージェントなどのサーバー側アプリケーションを実行できます

    • 削除」を選択すると、書き込み特権も持つユーザーがファイルやディレクトリを削除できます。

    • リスト」を選択すると、ユーザーは、index.html ファイルを含んでいないディレクトリ内のファイルのリストにアクセスできます。

    • 情報」を選択すると、ユーザーは、http_head などの URI に関する情報を受け取れます。

継続

サーバーはアクセス制御エントリ (Access Control Entry、ACE) のリストを参照して、アクセス権を決定します。たとえば、最初の ACE は通常、すべてのユーザーを拒否します。最初の ACE に「継続」が設定されている場合、サーバーはリストの 2 番目の ACE を確認し、一致している場合は、次の ACE を使用します。 

「継続」チェックボックスが選択されていない場合は、すべてのユーザーがリソースへのアクセスを拒否されます。サーバーは、一致しない ACE か、一致しているが継続しないように設定されている ACE のどちらかに到達するまでリストを参照し続けます。一致する最後の ACE によって、アクセスが許可されるか拒否されるかが決まります。