このモジュールにより、動的に構成された大量の仮想ホスト設定が有効化されます。
関連項目関連項目関連項目
関連項目: Apache Serverマニュアルの「Module mod_userdir」を参
照してください。
関連項目 関連項目関連項目
関連項目: Apache Serverマニュアルの「Module mod_usertrack」を
参照してください。
関連項目関連項目関連項目
関連項目: Apache Serverマニュアルの「Module mod_vhost_alias」
を参照してください。
セキュリティの管理 8-1
8
セキュリティの管理 セキュリティの管理 セキュリティの管理 セキュリティの管理
この章では、Oracle HTTP Serverのセキュリティ機能、およびこの機能を使用してセキュア なWebサイトを設定するための構成情報について説明します。
内容は、次のとおりです。
■ Oracle HTTP Serverのセキュリティの概要
■ ユーザーのクラスとその権限
■ 保護されるリソース
■ 認証と認可の適用
■ Oracle HTTP Server内に実装されているセキュリティ・サービス
関連項目関連項目関連項目
関連項目: セキュリティの詳細は、『Oracle Application Server 10g セ キュリティ・ガイド』を参照してください。このマニュアルには、Oracle
Databaseのセキュリティと基本機能の概要が記載されています。
Oracle HTTP Serverのセキュリティの概要
8-2 Oracle HTTP Server管理者ガイド
Oracle HTTP Server のセキュリティの概要 のセキュリティの概要 のセキュリティの概要 のセキュリティの概要
セキュリティ機能は、認証、認可および機密保護という3つのカテゴリに分類できます。
Oracle HTTP Serverでは、この3つのカテゴリのすべてをサポートします。 Oracle HTTP
ServerはApache Web Serverがベースで、そのセキュリティ・インフラストラクチャは、主
にApacheモジュールのmod_authとmod_access、およびOracleモジュールのmod_
osslにより提供されています。mod_authはユーザー名とパスワードのペアに基づく認証 を提供し、mod_accessはリクエストの特性(ホスト名またはIPアドレスなど)に基づい てサーバーへのアクセスを制御します。mod_osslはSSLを介してX.509クライアント証明 書を使用した機密保護と認証を提供します。
Apacheモデルに基づいて、Oracle HTTP Serverではアクセス制御、認証および認可の各メ
ソッドを提供しています。これらのメソッドは、httpd.confファイルのアクセス制御ディ レクティブを使用して構成できます。Oracle HTTP ServerにURLリクエストが着信すると、
サーバーのデフォルトと構成パラメータで決定される一連の手順で処理されます。URLリク エストの処理手順は、多くのWebリスナーに共通のモジュール(プラグイン)アーキテク チャを使用して実装されています。
図8-1は、サーバーによるURLリクエストの処理方法を示したものです。このプロセスの 各手順は、サーバー・モジュールによりサーバーの構成に応じて処理されます。たとえば
Basic認証が使用される場合、図8-1の認証および認可という手順は、mod_authモジュー
ルの処理を示します。
図図図
図 8-1 Oracle HTTP ServerでのでのでのでのURLリクエストの処理手順リクエストの処理手順リクエストの処理手順リクエストの処理手順
認証と認可の適用
セキュリティの管理 8-3
ユーザーのクラスとその権限 ユーザーのクラスとその権限 ユーザーのクラスとその権限 ユーザーのクラスとその権限
Oracle HTTP Serverはユーザーを認可および認証します。ユーザーは、認可および認証後に
サーバー上のリソースにアクセス、またはこれを変更できます。 Oracle HTTP Serverを使用 してサーバーにアクセスするユーザーの2つのクラスとその権限は、次のとおりです。
■ 認証を提供しないでサーバーにアクセスするユーザー。このユーザーがアクセスできる のは、保護されていないリソースのみです。
■ Oracle HTTP Server内のモジュールにより認証されているユーザーで、認可されている
可能性もあるユーザー。これには、mod_authおよびmod_osslにより認証されてい るユーザーが含まれます。このようなユーザーは、http.confファイルに定義されて いるURLにアクセスできます。
保護されるリソース 保護されるリソース 保護されるリソース 保護されるリソース
Oracle HTTP Serverは、次のようなリソースを保護するように構成されています。
■ 静的コンテンツ。静的HTMLページ、画像交換フォーマット、.gifファイルおよび
Oracle HTTP Serverが直接提供するその他の静的ファイルなど。
■ Oracle HTTP Serverが直接起動するCGI/FastCGIスクリプト、単純なスクリプトまたは
プログラム。
■ Oracle HTTP Server内のモジュールにより生成されるコンテンツ。mod_perl、
mod_dmsなどのモジュールでは、クライアントに返されるレスポンスが生成されます。
認証と認可の適用 認証と認可の適用 認証と認可の適用 認証と認可の適用
Oracle HTTP Serverは、ユーザーの認証と認可を2段階で提供します。
■ ホストベースのアクセス制御ホストベースのアクセス制御(第ホストベースのアクセス制御ホストベースのアクセス制御(第(第(第1段階)段階)段階)段階): これは、受信HTTPリクエストおよびその ヘッダーの詳細情報(IPアドレスやホスト名など)に基づきます。
■ ユーザーの認証と認可ユーザーの認証と認可(第ユーザーの認証と認可ユーザーの認証と認可(第(第(第2段階)段階)段階)段階): これは、HTTPサーバー構成に応じた様々な基準に 基づきます。サーバーは、ユーザー名とパスワードのペアを使用してユーザーを認証す るように構成できます。このペアが、既知のユーザーおよびパスワードのリストに照ら してチェックされます。
関連項目 関連項目関連項目
関連項目: 8-3ページ「認証と認可の適用」
認証と認可の適用
8-4 Oracle HTTP Server管理者ガイド
ホストベースのアクセス制御 ホストベースのアクセス制御 ホストベースのアクセス制御 ホストベースのアクセス制御
リクエスト処理サイクルの初期にアクセス制御が適用されます。これにより、ホスト名、IP アドレスまたはその他の特性(ブラウザ・タイプなど)に基づいて、後続の処理を禁止でき ます。このタイプのアクセス制御を設定するには、deny、allowおよびorderディレク ティブを使用します。この制限はOracle HTTP Server構成ディレクティブを使用して構成し ます。例8-1に示す、<Files>、<Directory>および<Location>コンテナ・ディレク ティブを使用し、特定のファイル、ディレクトリまたはURLフォーマットに基づいて制限 できます。
例 例例
例 8-1 ホストベースのアクセス制御ホストベースのアクセス制御ホストベースのアクセス制御ホストベースのアクセス制御
<Directory /internalonly/>
order deny, allow deny from all
allow from 192.168.1 us.oracle.com
</Directory>
例8-1で、orderディレクティブでは、Oracle HTTP Serverがdenyおよびallowディレ クティブの条件を読み取る順序を決定します。denyディレクティブは、すべてのリクエス トがアクセスを拒否されるようにします。次に、allowディレクティブを使用して、
192.168.1.*範囲内の任意のIPアドレスから送信されるリクエストまたはドメイン名
us.oracle.comを持つリクエストに対して、ディレクトリ/internalonly/内のファイ ルへのアクセスが許可されます。ホスト・ベースの認証では、アクセス・ポリシーを明確に するために、allowとdenyの両方を使用するのが一般的な方法です。
ファイル・システム・レベルでオブジェクトを比較する場合は、<Directory>または
<Files>を使用する必要があります。URLレベルでオブジェクトを比較する場合は、
<Location>を使用する必要があります。
仮想ホストのアクセス制御 仮想ホストのアクセス制御 仮想ホストのアクセス制御 仮想ホストのアクセス制御
仮想ホストにアクセス制御を設定するには、サーバー構成ファイルhttpd.conf内の仮想 ホスト・コンテナの中にAccessConfigディレクティブを指定します。AccessConfig ディレクティブを仮想ホスト・コンテナ内で使用すると、ファイル内に含まれるアクセス制 御ポリシーが指定されます。例8-2は、httpd.confファイルからの抜粋です。
AccessConfigをこの方法で使用するための構文が示されています。
注意注意注意
注意: インターネット・アクセスの場合、ホスト名に基づいてアクセス を許可または制限するのは、セキュリティを提供する方法として優れてい るとはみなされません。ホスト名は簡単にスプーフィング(なりすまし)
されるためです。IPアドレスでもこれは同じですが、妨害行為はより難し くなります。ただし、同じリスクを伴わないため、イントラネットのIP アドレス範囲を使用してアクセス制御を設定するのは合理的です。この場 合は、ファイアウォールが正しく構成されているものとします。
認証と認可の適用
セキュリティの管理 8-5 例例例
例 8-2 AccessConfigを使用したアクセス制御の設定を使用したアクセス制御の設定を使用したアクセス制御の設定を使用したアクセス制御の設定 ...
<VirtualHost ip_address_of_host.some_domain.com>
... virtual host directives ...
AccessConfig conf/access.conf
</VirtualHost>
ホストベースのアクセス制御のための ホストベースのアクセス制御のための ホストベースのアクセス制御のための
ホストベースのアクセス制御のための mod_access と と と と mod_setenvif の の の の 使用
使用 使用 使用
ホストベースのアクセス制御方法を使用すると、HTTPリクエストの発信元に基づいて制限 領域へのアクセスを制御できます。Oracle HTTP Serverではmod_accessとmod_
setenvifを使用して、ホストベースのアクセス制御を実行します。mod_accessは、クラ イアントのホスト名、IPアドレスまたはクライアント・リクエストのその他の特性に基づい てアクセス制御を提供し、mod_setenvifは、リクエストの属性に基づいて環境変数を設 定する機能を提供します。これらのモジュールを使用する構成ディレクティブを
httpd.confファイルに入力すると、サーバーでは、ホストのアドレス、名前またはHTTP リクエスト・ヘッダーの内容に基づいて、リクエストを実行あるいは拒否します。
ホストベース・アクセス制御を使用すると、静的なHTMLページ、アプリケーションまた はコンポーネントを保護できます。
Oracle HTTP Serverは、次の4種類のホストベースのアクセス制御方法をサポートします。
■ IPアドレスによるアクセス制御
■ ドメイン名によるアクセス制御
■ ネットワークまたはネットマスクによるアクセス制御
■ 環境変数を使用したアクセス制御
これらの方法ではすべて、保護領域へのアクセス権が付与または拒否されるマシンを指定で きます。ホストベースのアクセス制御方法のどれを選択するか(複数も可)は、制限されて いるコンテンツやアプリケーションをどの方法が最も効率的に保護するか、またはどの方法 が最も保守しやすいかによって決まります。
IPアドレスによるアクセス制御アドレスによるアクセス制御アドレスによるアクセス制御アドレスによるアクセス制御 IPアドレスを使用したアクセス制御は、ホストベースのア クセス制御でよく使用される方法です。この方法では、DNS参照を必要としません。DNS 参照には時間とシステム・リソースがかかり、サーバーがDNSスプーフィング攻撃を受け やすくなります。