この章では、Oracle HTTP Serverのセキュリティ機能の概要と、セキュアなWebサイトを設定するための構成情報を示します。
注意: 特に他に記載のないかぎり、このドキュメントに収められている情報は、Oracle HTTP ServerがOracle WebLogic ServerおよびOracle Fusion Middleware Controlにインストールされている場合に適用できます。このドキュメントの対象読者は、『Oracle Fusion Middlewareコンセプト・ガイド』および『Oracle Fusion Middleware管理者ガイド』の説明に従ってOracle Fusion Middlewareの主要概念を十分に理解しておく必要があります。 スタンドアロン・モードでのOracle HTTP Serverのインストールについては、『Oracle Fusion Middleware Oracle Web Tierインストレーション・ガイド』のOracle WebLogic Serverを使用せずに行うOracle Web Tierのインストールに関する項を参照してください。 |
この章の内容は、次のとおりです。
セキュリティは、認証、認可および秘匿性の3つのカテゴリに分けられます。Oracle HTTP Serverは、これら3種類のカテゴリをすべてサポートします。Oracle HTTP ServerはApache Web Serverに基づいており、そのセキュリティ・インフラストラクチャは主にApacheモジュール(mod_auth_basic、mod_authn_file、mod_auth_userおよびmod_authz_groupfile)とOracleモジュール(mod_osslおよびmod_osso)により提供されます。mod_auth_basic、mod_authn_file、mod_auth_userおよびmod_authz_groupfileモジュールは、ユーザー名とパスワードのペアに基づく認証を提供します。mod_authz_hostはリクエストの特性(ホスト名やIPアドレスなど)に基づいてサーバーへのアクセスを制御し、mod_osslは、SSLを介したX.509クライアント証明書によって秘匿性および認証を提供します。mod_ossoは、Webアプリケーションに対するシングル・サインオン認証を有効にします。
Oracle HTTP Serverは、httpd.conf
ファイル内のアクセス制御ディレクティブを使用して構成できるアクセス制御、認証および認可の方法を提供します。URLリクエストはOracle HTTP Serverに到達すると、サーバーのデフォルトおよび構成パラメータにより指定された手順で処理されます。URLリクエストの処理手順は、多くのWebリスナーに共通のモジュールまたはプラグイン・アーキテクチャを介して実装されます。
図8-1は、URLリクエストがサーバーにより処理される方法を示しています。このプロセスの各手順は、サーバーの構成内容に応じてサーバー・モジュールにより処理されます。たとえば、Basic認証が使用される場合、図8-1の「認証」および「認可」という手順は、Apacheのmod_auth_basic、mod_authn_file、mod_auth_userおよびmod_authz_groupfileモジュールの処理を表しています。
Oracle HTTP Serverは、ユーザーを認可および認証してから、そのユーザーにサーバーのリソースへのアクセスまたは変更を許可します。Oracle HTTP Serverを使用してサーバーにアクセスする3つのユーザー・クラスと、それらの権限を次に示します。
認証を提供せずにサーバーにアクセスするユーザー。これらのユーザーは、保護されていないリソースにしかアクセスできません。
Oracle HTTP Server内のモジュールによって認証され、将来的に認可される予定のユーザー。これには、mod_auth_basic、mod_authn_file、mod_auth_userおよびmod_authz_groupfileモジュールのようなApache HTTP ServerモジュールとOracleのmod_osslにより認証されたユーザーが含まれます。このようなユーザーは、http.conf
ファイル内で定義されたURLにアクセスできます。
mod_ossoおよびシングル・サインオン・サーバーを介して認証されたユーザー。これらのユーザーは、シングル・サインオンによって許可されたリソースにアクセスできます。
関連項目: 『Oracle Fusion Middlewareセキュリティ・ガイド』 |
次のリソースは初期段階で保護されていないため、Oracle HTTP Serverが構成される可能性があります。
静的コンテンツ(静的なHTMLページ、グラフィックス交換形式、.gif
、ファイル、およびOracle HTTP Serverにより直接提供されるその他の静的ファイルなど)。
Oracle HTTP Serverが直接起動するCGI/FastCGIスクリプト、簡易スクリプトまたはプログラム。
Oracle HTTP Server内のモジュールにより生成されたコンテンツ。mod_perl、mod_dmsなどのモジュールは、クライアントに返されるレスポンスを生成します。
Oracle HTTP Serverの背後にあるOracle Application Serverコンポーネント。これには、Oracle WebLogic Serverとともに稼働している、mod_wl_ohsを介してアクセスされるサーブレットやJSPが含まれます。Oracle HTTP Serverはまず第一にこれらのコンポーネントの認証および認可を行いますが、コンポーネント・レベルで追加の認証を行うこともできます。
Oracle HTTP Serverは、ユーザーの認証および認可を次の2段階で行います。
アクセス制御(第1段階): これは、受信HTTPリクエストとそのヘッダーの詳細(IPアドレスやホスト名など)に基づいています。
ユーザーの認証および認可(第2段階): これは、HTTPサーバー構成に応じた様々な基準に基づいています。ユーザー名とパスワードのペアでユーザーを認証するようにサーバーを構成できます。ユーザー名とパスワードは、既知のユーザーおよびパスワードのリストと比較して確認されます。また、Webアプリケーションに対してシングル・サインオン認証を使用するようにサーバーを構成したり、SSLを介したX.509クライアント証明書を使用するようにサーバーを構成することもできます。
アクセス制御とは、リソースに対するアクセスを制御する手段のことです。
認証は、ユーザーが本物であることを確認するプロセスです。認可は、ユーザーにリソースへのアクセスや情報の取得を許可するプロセスです。
mod_ossoは、Oracle HTTP Serverに対してシングル・サインオンを有効にします。mod_ossoは、受信リクエストを調査し、リクエストされたリソースが保護されているかどうかを判別して、保護されていればユーザーに対してOracle HTTP Server Cookeを取得します。
mod_ossoを使用すると、Oracle HTTP ServerはSSO対応のシングル・サインオン(SSO)パートナ・アプリケーションとなり、Oracleシングル・サインオンを使用してユーザーの認証およびユーザーのアイデンティティの取得ができるようになります。また、WebアプリケーションがユーザーのアイデンティティをApacheヘッダー変数として使用できるようになります。
mod_ossoを使用することで、Webアプリケーションは、SSO認証を必要とするURLを登録できます。Oracle HTTP ServerがURLリクエストを受け取ると、mod_ossoはSSO認証が必要なリクエストを検出し、そのリクエストをSSOサーバーにリダイレクトします。SSOサーバーはユーザーを認証すると、そのユーザーの認証済アイデンティティをセキュアなトークン(Cookie)に格納してmod_ossoに返します。mod_ossoはCookieからユーザーのアイデンティティを取得して、Oracle HTTP Serverインスタンス内で実行されているアプリケーションにユーザーのアイデンティティ情報を伝播します。mod_ossoは、CGIで実行されているアプリケーションや、Oracle WebLogic Serverで実行されているアプリケーションにユーザーのアイデンティティ情報を伝播できます。また、静的ファイルにアクセスしようとするユーザーを認証することもできます。
関連項目: 『Oracle Fusion Middlewareセキュリティ・ガイド』 |
Oracle HTTP ServerはOraAuditEnable
というディレクティブをサポートしています。このディレクティブの目的は、FMW共通監査フレームワークを使用した認証および認可の監査の有効化です。このディレクティブはONおよびOFFの2つの値を使用します。この値がONに設定されていると、Oracle HTTP Serverによってレポートされたすべての監査イベントが監査フレームワーク固有ファイルに記録されます。デフォルトの値はONです。OraAuditEnable
がOFFに設定されている、または存在しない場合は、監査は無効です。Oracle HTTP Serverに付属するデフォルトのhttpd.conf
ファイルではONに設定されます。詳細は、次の資料を参照してください。
http://download.oracle.com/docs/cd/E14571_01/core.1111/b56235/audintro.htm#JISEC2372