ヘッダーをスキップ
Oracle Fusion Middleware Oracle HTTP Server管理者ガイド
11g リリース1 (11.1.1)
B55928-07
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

3 Oracle HTTP Serverモジュールの理解

モジュール(mod)は、Oracle HTTP Serverの基本機能を拡張し、Oracle HTTP Serverとその他のOracle Fusion Middlewareコンポーネントとの統合をサポートします。


注意:

特に他に記載のないかぎり、このドキュメントに収められている情報は、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 Web Tierのインストールに関する項を参照してください。


この章では、オラクル社により特にOracle HTTP Server向けに開発されたモジュールについて説明します。この章の内容は、次のとおりです。

3.1 含まれるモジュールのリスト

この項では、Oracle HTTP Serverにバンドルされているすべてのモジュールを示します。

オラクル社が開発したOracle HTTP Server用のモジュール

次のモジュールは、オラクル社により特にOracle HTTP Server向けに開発されたものです。

Oracle HTTP Server内のApache HTTP Serverおよびサード・パーティのモジュール

Oracle HTTP Serverには、次のApache HTTP Serverおよびサード・パーティのモジュールも即時利用できるように組み込まれています。これらのモジュールは、オラクル社が開発したものではありません


関連項目:

有効なディレクティブのリストと説明を含む、Apache HTTP Serverモジュールの詳細は、次のApacheドキュメントを参照してください。

http://httpd.apache.org/docs/2.2/mod/


  • mod_authz_host

  • mod_actions

  • mod_alias

  • mod_asis

  • mod_auth_basic

  • mod_auth_dbm

  • mod_authn_anon

  • mod_autoindex

  • mod_authn_dbm

  • mod_authn_file

  • mod_authz_groupfile

  • mod_authz_host

  • mod_authz_user

  • mod_cern_meta

  • mod_cgi

  • mod_cgid (UNIXのみ)

  • mod_deflate

  • mod_dir

  • mod_env

  • mod_expires

  • mod_fastcgi

  • mod_headers

  • mod_imagemap

  • mod_include

  • mod_info

  • mod_log_config

  • mod_logio

  • mod_mime

  • mod_mime_magic

  • mod_negotiation

  • mod_perl

  • mod_proxy

  • mod_proxy_balancer

  • mod_proxy_connect

  • mod_proxy_ftp

  • mod_proxy_http

  • mod_rewrite

  • mod_reqtimeout

  • mod_setenvif

  • mod_speling

  • mod_status

  • mod_unique_id

  • mod_userdir

  • mod_usertrack


3.2 mod_certheaders

mod_certheadersモジュールは、Oracle HTTP Serverの前でSecure Sockets Layer (SSL)接続が終了するリバース・プロキシが、SSL接続に関する情報(SSLクライアント証明書情報など)を、Oracle HTTP ServerおよびOracle HTTP Serverを介して動作しているアプリケーションに送信できるようにします。この情報は、HTTPヘッダーを使用してリバース・プロキシからOracle HTTP Serverに送信されます。その後、情報はヘッダーから標準CGI環境変数に送信されます。SSL接続がOracle HTTP Serverによって終了される場合は、mod_osslモジュールまたはmod_sslモジュールがこの環境変数に値を移入します。

mod_certheadersモジュールでは、特定のリクエストがHTTP経由で受信される場合も、HTTPSリクエストとして扱うことができます。これは、SimulateHttpsディレクティブを使用して実行されます。

SimulateHttpsは、自身が含まれるコンテナ(<VirtualHost><Location>など)を使用し、受信されたこのコンテナに対するすべてのリクエストを、リクエストで使用された実際のプロトコルに関係なく、HTTPS経由で受信されたものとして扱います。

3.3 mod_dms


注意:

Oracle HTTP Server 11.1.1では、mod_dmsはデフォルトで無効になっています。


mod_dmsモジュールでは、Oracle Dynamic Monitoring Service (DMS)を使用してサイト・コンポーネントのパフォーマンスを監視できます。

DMSの詳細は、『Oracle Fusion Middlewareパフォーマンスおよびチューニング・ガイド』のOracleダイナミック・モニタリング・サービス(DMS)に関する章を参照してください。

3.4 mod_onsint

mod_onsintモジュールは、Oracle Notification Service (ONS)およびOracle Process Manager and Notification Server (OPMN)を使用した統合サポートを提供します。これはOracleモジュールであり、次の機能を提供します。

mod_onsintは、UNIXではOracle HTTP Server親プロセス内のスレッドとして、Windowsでは子プロセス内のスレッドとして実行されます。このスレッドは、ONSメッセージの送受信を担当します。

mod_onsintに対して構成できるOpmnHostPortというオプションのディレクティブがあります。このディレクティブを使用すると、mod_onsintが動作中のOracle HTTP Serverインスタンスをpingするため、OPMNが使用するホスト名とポートを指定できます。OpmnHostPortが指定されていないと、mod_onsintはHTTPポートを自動的に選択します。状況によっては、OPMNがリスナーのpingに使用するHTTPポートとホスト名に特定のものを選択する場合があります。

OpmnHostPortの構文形式は次のとおりで、OPMNに渡す値を指定します。

OpmnHostPort [<http> | <https>://]<host>:<port>

たとえば、次の行は、OPMNがこのリスナーをpingするときにHTTP、localhostインタフェースおよびポート7778を使用することを指定しています。

OpmnHostPort http://localhost:7778

ONSおよびOPMNの詳細は、『Oracle Fusion Middleware Oracle Process Manager and Notification Server管理者ガイド』のOracle Process Manager and Notificationの概要に関する章を参照してください。

mod_onsintのディレクティブ

mod_onsintで使用できるディレクティブのリストおよび説明は、E.2項を参照してください。

3.5 mod_oradav

mod_oradavモジュールは、mod_davの実装を拡張するC言語で記述されたOracle Call Interface (OCI)アプリケーションです。mod_oradavディレクティブでは、ローカル・ファイルまたはOracle Databaseに対する読取りと書込みができます。Oracle Databaseには、mod_oradavモジュールがWebDAVアクティビティをデータベース・アクティビティにマップするためのOraDAVドライバ(ストアド・プロシージャ・パッケージ)が必要です。実際には、WebDAVクライアントはmod_oradavモジュールによりOracle Databaseに接続し、内容の読取りと書込み、および各種スキーマ内のドキュメントの問合せとロックを実行できます。

Oracle HTTP Serverの標準ディレクティブを使用して、mod_oradavモジュールを構成できます。mod_oradavモジュールを構成するには、Fusion Middleware Controlの「サーバーの詳細構成」ページを使用します。mod_oradavディレクティブでは、コンテンツ管理タスクを実行するために、他のモジュール・コード(mime_magicなど)をすぐに活用できます。ほとんどのOraDAV処理アクティビティでは、コンテンツ・プロバイダとの間でコンテンツをストリーム化する必要があります。mod_oradavディレクティブでは、Oracle HTTP Server内でOCIストリーム・ロジックが直接使用されます。


関連項目:

  • 第9章「mod_oradavの構成」

  • 『Oracle Portal Administrator's Guide』

  • mod_oradavモジュールを使用してデータベース・スキーマにアクセスし、サード・パーティ・ツール(Adobe GoLiveやMacromedia Dreamweaverなど)とOracle interMediaからのアクセスを可能にする方法は、次のOTNで入手可能なOraDAV情報を参照してください。

    http://otn.oracle.co.jp/


mod_oradavのディレクティブ

mod_oradavで使用できるディレクティブのリストおよび説明は、E.3項を参照してください。

3.6 mod_ossl

mod_osslモジュールは、Oracle HTTP Serverに対して厳密な暗号化を有効にします。このOracleモジュールは、サーバーでSSLを使用できるようにするOracle HTTP Serverへのプラグインです。これは、OpenSSLモジュールのmod_sslと非常によく似ています。mod_osslモジュールは、SSLバージョン3およびTLSバージョン1をサポートするOracleのSSL実装を基盤とし、CerticomおよびRSAセキュリティ・テクノロジに基づいています。

mod_osslのディレクティブ

mod_osslで使用できるディレクティブのリストおよび説明は、E.4項を参照してください。


関連項目:

詳細は、『Oracle Fusion Middleware管理者ガイド』のWeb層のSSLの構成に関する項を参照してください。


3.7 mod_osso


注意:

mod_ossoは、Oracle Single Sign-On 10gでは非推奨です。次のいずれかのオプションを使用できます。

  • Webgateプラグインを使用します(詳細は、次のドキュメントのいずれかを参照してください)。

    • 『Oracle® Fusion Middleware WebGate for Oracle Access Managerのインストール』

    • 『Oracle® Fusion Middleware Oracle Access Manager with Oracle Security Token Service管理者ガイド』の第VII部「Oracle Access Manager 11gでの10g Webgateの使用」

  • Oracle Access Manager11gで提供されているSSO Agentソリューションを使用します(同じmod_ossoモジュールおよび構成を使用します)。詳細は、『Oracle® Fusion Middleware Oracle Access Manager with Oracle Security Token Service管理者ガイド』の第9章「コンソールを使用したパートナ(エージェントおよびアプリケーション)の登録」を参照してください。


mod_ossoモジュールは、受信リクエストを検査して、リクエストされたリソースが保護されているかどうかを判断することで、Oracle HTTP Serverのシングル・サインオンを有効化します。リソースが保護されている場合、Oracle HTTP ServerのCookieを取得します。

デフォルトでは、モジュールは無効ですmod_ossoモジュールは、Fusion Middleware Controlのサーバー構成プロパティ・ページで有効化できます。詳細は、4.3.1項「Fusion Middleware Controlを使用したサーバー・プロパティの指定」を参照してください。

mod_ossoのディレクティブ

mod_ossoで使用できるディレクティブのリストおよび説明は、E.5項を参照してください。


関連項目:

強制認証の詳細は、『Oracle Fusion Middleware Oracle Identity Managementアプリケーション開発者ガイド』を参照してください。

シングル・サインオンの詳細は、『Oracle Fusion Middlewareセキュリティ・ガイド』を参照してください。


3.8 mod_perl

mod_perlモジュールは、Oracle HTTP ServerにPerlインタプリタを埋め込みます。これにより、起動時のオーバーヘッドが排除され、モジュールをPerlで記述できます。Oracle Fusion Middlewareでは、Perlバージョン5.10を使用します。

デフォルトでは、モジュールは無効です。mod_perlモジュールを有効化するには、4.4.3項「mod_perlモジュールの構成」の手順に従ってください。

3.8.1 データベースでのmod_perlの使用

この項では、データベースを使用するmod_perlユーザー向けの情報を提供します。また、ローカル・データベース接続をテストし、文字構成を設定する方法についても説明します。

3.8.1.1 Perlを使用したデータベース・アクセス

Perlスクリプトは、Oracle用のDBI/DBDドライバを使用してデータベースにアクセスします。DBI/DBDドライバはOracle Fusion Middlewareに含まれています。このドライバは、Oracle Call Interface (OCI)をコールしてデータベースにアクセスします。

mod_perlを有効化した後、機能させるためにはmod_perl.confファイル内のDBIを有効化する必要があります。DBIを有効化するには、次の手順を実行します。

  1. mod_perl.confファイルを編集します。

    1. Fusion Middleware Controlで、Oracle HTTP Serverの「サーバーの詳細構成」ページに移動します。

    2. メニューからmod_perl.confファイルを選択し、「実行」をクリックします。

    3. mod_perl.confファイルに次の行を追加します。

      PerlModule Apache::DBI

  2. 「適用」をクリックして、ファイルを保存します。

  3. 4.1.4項「Oracle HTTP Serverの再起動」の説明に従って、Oracle HTTP Serverを再起動します。

実行するPerlスクリプトをORACLE_INSTANCE/config/OHS/component_name/cgi-binディレクトリに配置します。

例3-1 Perlスクリプトを使用したデータベース・アクセス

#!ORACLE_HOME/perl/bin/perl -w 
  use DBI; 
  my $dataSource = "host=hostname.domain;sid=orclsid;port=1521";
  my $userName = "userid";
  my $password = "password";
  my $dbhandle = DBI->connect("dbi:Oracle:$dataSource", $userName, $password)
    or die "Can't connect to the Oracle Database: $DBI::errstr\n";
  print "Content-type: text/plain\n\n";
  print "Database connection successful.\n";
  ### Now disconnect from the database
  $dbhandle->disconnect
    or warn "Database disconnect failed; $DBI::errstr\n";
  exit;

DBIスクリプトを実行する場合、URLは次のようになります。

http://hostname.domain:port/cgi-bin/scriptname
http://hostname.domain:port/perl/scriptname

スクリプトにuse DBIではなくuse Apache::DBIと指定されている場合、このスクリプトを実行できるのは、http://hostname.domain:port/perl/scriptnameというURLからのみです。

3.8.1.2 データベース接続のテスト

例3-2は、データベース接続をテストするためのサンプルPerlスクリプトを示しています。connect文のインスタンス名、ユーザーIDおよびパスワードは、ターゲット・データベースの適切な値で置き換えてください。

例3-2 ローカル・シード・データベースの接続テスト用サンプルPerlスクリプト

use DBI;
print "Content-type: text/plain\n\n"; 
$dbh = DBI->connect("dbi:Oracle:instance_name", userid/password, "") ||
            die $DBI::errstr;
$stmt = $dbh->prepare("select * from emp order by empno")|| die $DBI::errstr;
$rc = $stmt->execute() || die $DBI::errstr;
while (($empno, $name) = $stmt->fetchrow()) {
   print "$empno $name\n";
}
warn $DBI::errstr if $DBI::err;
die "fetch error: " . $DBI::errstr if $DBI::err;
$stmt->finish() || die "can't close cursor";
$dbh->disconnect() || die "cant't log off Oracle";

3.8.1.3 SQL NCHARデータ型の使用

SQL NCHARデータ型(NCHAR、NVARCHAR2およびNCLOB)は、信頼性の高いUnicodeデータ型です。SQL NCHARデータ型を使用すると、Unicode文字をデータベースのキャラクタ・セットに関係なく格納できます。これらのデータ型のキャラクタ・セットは、各国語キャラクタ・セット、つまりAL16UTF-16またはUTF8で指定します。

例3-3は、SQL NCHARデータにアクセスする場合の例を示しています。

例3-3 SQL NCHARデータにアクセスするためのサンプル・スクリプト

# declare to use the constants for character forms
use DBD::Oracle qw(:ora_forms);
# connect to the database and get the database handle
$dbh = DBI->connect( ... );

# prepare the statement and get the statement handle
$sth = $dbh->prepare( 'SELECT * FROM TABLE_N WHERE NCOL1 = :nchar1' );

# bind the parameter of a NCHAR type
$sth->bind_param( ':nchar1', $param_1 );
# set the character form to NCHAR
$sth->func( { ':nchar1' => ORA_NCHAR } , 'set_form' );

$sth->execute;

例3-3に示したとおり、標準のDBI funcメソッドで起動できるプライベート・ファンクションとして、set_formファンクションが提供されています。set_formファンクションでは、パラメータの文字構成を設定できる匿名ハッシュを使用します。

文字構成の有効値は、ORA_IMPLICITまたはORA_NCHARのいずれかです。文字構成をORA_IMPLICITに設定すると、アプリケーションのバインド・データはデータベースのキャラクタ・セットに変換され、ORA_NCHARに設定すると各国語キャラクタ・セットに変換されます。デフォルトはORA_IMPLICITです。

DBD::Oracleでは、ora_formsとして定数を使用できます。

set_default_formでは、データベース・ハンドルのデフォルトの文字構成を設定します。次の例では、その構文を示しています。

# specify the default form to be NCHAR
$dbh->func( ORA_NCHAR, 'set_default_form' );

set_formコールで特に指定しないかぎり、この構文によりすべてのパラメータの構成がORA_NCHARになります。set_formファンクションとは異なり、set_default_formはデータベース・ハンドルのファンクションであるため、データベース・ハンドルの各文は任意に選択した構成になります。

例3-4 set_formのサンプル

# a declaration example for the constants ORA_IMPLICIT and ORA_NCHAR
use DBD::Oracle qw(:ora_forms);

# set the character form for the placeholder :nchar1 to NCHAR
$sth->func( { ':nchar1' => ORA_NCHAR } , 'set_form' );

# set the character form using the positional index
$sth->func( { 2 => ORA_NCHAR } , 'set_form' );

# set the character form for multiple placeholders at once
$sth->func( { 1 => ORA_NCHAR, 2 => ORA_NCHAR } , 'set_form' );

3.9 mod_reqtimeout

mod_reqtimeoutは、リクエストを受信するためのタイムアウトおよび最小データ率を設定します。mod_reqtimeoutモジュールはDOS攻撃および関連する問題に対する保護を提供します。詳細は、次の資料を参照してください。

http://httpd.apache.org/docs/2.2/mod/mod_reqtimeout.html

3.10 mod_plsql

mod_plsqlモジュールにより、Oracle HTTP ServerはOracle Databaseに接続され、Oracleストアド・プロシージャを使用してWebアプリケーションを作成できるようになります。

Web対応のPL/SQLアプリケーションにアクセスするには、mod_plsqlモジュール用PL/SQLデータベース・アクセス・ディスクリプタ(DAD)を構成します。DADは、このモジュールがデータベース・サーバーに接続してHTTPリクエストを実行する方法を指定する値のセットです。DADには、接続詳細の他、データベースでの各種操作およびmod_plsqlモジュール全般にとって重要な構成パラメータが含まれています。PL/SQL Web Toolkitを使用するWeb対応のPL/SQLアプリケーションでは、そのアプリケーションを起動するDADを作成する必要があります。

この項の内容は次のとおりです。

mod_plsqlのディレクティブ

mod_plsqlで使用できるディレクティブのリストおよび説明は、E.6項を参照してください。

3.10.1 DADの作成

DADを作成するには、次の手順を実行します。

  1. dads.conf構成ファイルを開きます。

    mod_plsql構成ファイルの場所については、表3-1を参照してください。


    注意:

    4.4.5項「Oracle HTTP Server構成ファイルの変更」の説明に従って、Oracle HTTP Serverの「サーバーの詳細構成」ページでOracle Fusion Middleware Controlを使用して、dads.confを開いて編集することもできます。


  2. 次を追加します。

    1. PL/SQL Webアプリケーションへのアクセスに使用する仮想パスを定義する<Location>要素。このディレクティブは、Locationに適用されるディレクティブのセットをグループ化します。

      たとえば、次のディレクティブは、http://host:port/myapp/のようなURLを介してPL/SQL Webアプリケーションを起動するために使用する、/myappという仮想パスを定義します。

      <Location /myapp>
      

      注意:

      以前のリリースのmod_plsqlモジュールでは、常に接頭辞/plsを付けて仮想パスにマウントしていました。新しいリリースではこの制限は削除されましたが、以前のPL/SQLアプリケーションによって制限されてしまう場合もあります。


    2. Oracle HTTP Serverに対して、Locationで定義された仮想パスに対するリクエストをmod_plsqlモジュールが処理できるように指示するSetHandlerディレクティブ。

      SetHandler pls_handler
      
    3. <Location>ディレクティブのコンテキストで許可されるその他のOracle HTTP Serverのディレクティブ。通常は、次のディレクティブが使用されます。

      Order deny,allow
      Allow from all
      
    4. 1つ以上の特定のmod_plsqlディレクティブ。例:

      PlsqlDatabaseUsername        scott
      PlsqlDatabasePassword        tiger
      PlsqlDatabaseConnectString   orcl
      PlsqlAuthenticationMode      Basic
      
    5. <Location>要素をクローズする</Location>タグ。

  3. 編集内容を保存します。

  4. ORACLE_HOME/binディレクトリにあるdadTool.plスクリプトを実行することで、DADパスワードを不明瞭化します。


    関連項目:

    不明瞭化を実行するための手順は、E.6.2.11項「PlsqlDatabasePassword」を参照してください。


  5. 4.1.4項「Oracle HTTP Serverの再起動」の説明に従って、Oracle HTTP Serverを再起動します。

dads.confに一意の名前を持つ他の<Location>要素を定義することで、追加のDADを作成することもできます。

DADの例

次のDADは特定のユーザーとして接続し、デフォルトのホームページを持ちます。

<Location /pls/mydad>
SetHandler pls_handler
Order allow,deny
Allow from All
PlsqlDatabaseUsername scott
PlsqlDatabasePassword tiger
PlsqlDatabaseConnectString prod_db
PlsqlDefaultPage scott.myapp.home
</Location>

次のDADはHTTP Basic認証を使用し、ドキュメントのアップロードおよびダウンロード操作をサポートします。

<Location /pls/mydad2>
SetHandler pls_handler
Order allow,deny
Allow from All
PlsqlDatabaseConnectString prod_db2
PlsqlDefaultPage scott.myapp.my_home
PlsqlDocumentTablename scott.my_documents
PlsqlDocumentPath docs
PlsqlDocumentProcedure scott.docpkg.process_download
</Location>

3.10.2 mod_plsqlの構成ファイル

表3-1に示すように、mod_plsql構成パラメータは、ORACLE_INSTANCEディレクトリ内の構成ファイルに含まれています。

表3-1 Oracleインスタンス内のmod_plsql構成ファイル

ディレクトリ名 目次

config/OHS/component_name/moduleconf

plsql.conf構成ファイル。

config/OHS/component_name/mod_plsql

dads.confおよびcache.conf構成ファイル。


mod_plsql構成ディレクティブは、次の構成ファイルで使用されます。

3.10.2.1 plsql.conf

plsql.confファイルは、ORACLE_INSTANCE/config/OHS/config/OHS/component_name/moduleconfディレクトリ内にあります。Oracle HTTP Serverでは、すべての.confファイルが自動的にこのディレクトリ内にロードされます。plsql.confファイルには、mod_plsqlモジュールをOracle HTTP ServerにロードするLoadModuleディレクティブ、mod_plsqlモジュールのグローバル設定、およびdads.confcache.confのインクルード・ディレクティブが含まれています。

plsql.conf内のmod_plsqlのディレクティブ

plsql.confで使用されるディレクティブのリストおよび説明は、E.6.1項を参照してください。


関連項目:

plsql.confの詳細は、ORACLE_HOME/ohs/mod_plsqlにあるplsql.READMEファイルを参照してください。


3.10.2.2 dads.conf

dads.confファイルには、PL/SQLのデータベース・アクセス・ディスクリプタの構成パラメータが含まれています。(ファイルの場所については、表3-1を参照してください。)DADは、mod_plsqlモジュールがデータベース・サーバーに接続してHTTPリクエストを実行する方法を指定する値のセットです。

dads.conf内のmod_plsqlのディレクティブ

dads.confで使用されるディレクティブのリストおよび説明は、E.6.2項を参照してください。

3.10.2.3 cache.conf

cache.confファイルには、mod_plsqlモジュールに実装されたファイル・システム・キャッシュ機能の構成の設定が含まれています。この構成ファイルが関係するのは、PL/SQLアプリケーションがOWA_CACHEパッケージを使用して、ファイル・システム内の動的生成コンテンツをキャッシュする場合のみです。

cache.conf内のmod_plsqlのディレクティブ

cache.confで使用されるディレクティブのリストおよび説明は、E.6.3項を参照してください。

3.10.3 構成ファイルとパラメータの使用

構成パラメータに値を指定するときは、Oracle HTTP Serverの値を指定する規則に従ってください。たとえば、値の中にスペースが含まれている場合は、値を二重引用符で囲む必要があります。例:

PlsqlNLSLanguage "TRADITIONAL CHINESE_TAIWAN.UTF8"

複数行ディレクティブにより、同じディレクティブをDAD内に複数回指定できます。

3.11 mod_security


注意:

次のことに注意してください。

  • mod_securityは、以前のバージョンのOracle HTTP Serverで削除されましたが、バージョン11.1.1.7では再度導入されています。このバージョンはオープン・ソースのmod_security 2.6.2で定められた推奨およびプラクティスに従っています。オープン・ソースのApache mod_security 2.6.2に適用可能なドキュメントのみが、モジュールのOracle HTTP Server実装にも適用できます。

  • Oracle HTTP Server 11.1.1.7以上では、mod_securityはデフォルトではロードまたは構成されませんが、インストールに11.1.1.6からのパッチを適用している場合は、パッチの実装によってモジュールがロードおよび構成されている可能性があります。

  • Oracleでは、Oracle提供のmod_securityのみがサポートされています。modsecurity.orgが提供するより新しいバージョンはサポートされません。


mod_securityは、Oracle HTTP Serverに対する侵入攻撃を検出および防止するために使用できる、オープンソース・モジュールです。たとえば、mod_securityルールを指定して、すべての受信リクエストをスクリーニングし、ルールで指定された条件に一致するリクエストを拒否することができます。mod_securityモジュール(バージョン2.6.2)とその前提条件は、mod_security2.soという共有オブジェクトとして、ORACLE_HOME/ohs/modulesディレクトリ内のOracle HTTP Serverインストールに含まれています。

このバージョンのOHSは、mod_security (バージョン2.6.2)のディレクティブ、変数、アクション、フェーズおよび関数のみをサポートしています。このモジュールをより新しいバージョンに置き換えると、これらはサポートされなくなります。これらのディレクティブの詳細は、次のmod_securityドキュメントを参照してください。

http://www.modsecurity.org/documentation/

3.11.1 mod_securityの有効化

Oracle HTTP Serverの実行時にmod_securityモジュールを使用できるようにするには、mod_security.confが次の行で開始されていることを確認します。

#Load Module
LoadModule security2_module "${ORACLE_HOME}/ohs/modules/mod_security2.so"

付録D「mod_securityの構成」に、mod_security.confの例が示されています。Oracle HTTP Server 11.1.1.6のユーザーで現在は11.1.1.7を使用している場合、以前にパッチが実装されているため、このモジュールはすでに適切に構成されています。

3.11.2 mod_securityの構成

mod_securityを構成する際には、Oracle HTTP Server構成ファイルで特定のディレクティブを指定する必要があります。IfModuleコンテナにあるhttpd.confファイルで直接ディレクティブを指定できます。別の方法として、別個のmod_security.confファイルにmod_securityディレクティブを指定し、Includeディレクティブを使用してhttpd.confにその.confファイルを含めることもできます。

デフォルトではmod_security.confは存在しないため、ご使用のシステムに作成する必要があります。付録D「mod_securityの構成」には、この目的に使用できるサンプルmod_security.confファイルが含まれています。テキスト・エディタにサンプルをコピーして貼り付け、ファイル全体を読んで、使用しているシステム用に編集します。次に、それを自身のmod_security.confとして保存し、httpd.confに含めます。

3.12 mod_wl_ohs

mod_wl_ohsモジュールにより、Oracle HTTP Server 11gからOracle WebLogic Serverへのリクエストをプロキシ処理できます。

mod_wl_ohsを構成する際の前提条件と手順の詳細は、『Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使用』のOracle HTTP Serverのmod_wl_ohsプラグインの構成に関する項を参照してください。

mod_wl_ohsのディレクティブ

mod_wl_ohsで使用できるディレクティブのリストおよび説明は、E.7項を参照してください。


注意:

mod_wl_ohsは、Apache HTTP ServerからOracle WebLogic Serverへのリクエストをプロキシ処理するために使用できる、mod_wlプラグインに似ています。ただし、Apache HTTP Server用のmod_wlプラグインは別途ダウンロードしてインストールする必要があるのに対し、mod_wl_ohsプラグインはOracle HTTP Serverインストールに含まれています。