プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Access Management管理者ガイド
11g リリース2 (11.1.2.3) for All Platforms
E61950-08
目次へ移動
目次

前
次

31.12 Access Manager用のApache/IHS v2 Webgateのチューニング

特に明記しないかぎり、ここに記載された情報はApacheおよびIHS v2 Webgate(プラグインとも呼ばれている)の両方に適用されます。

Oracle HTTP Serverの詳細は、『Oracle HTTP Server管理者ガイド10gリリース2 (10.1.2)』を参照してください。

31.12.1 セキュリティ強化LinuxにバンドルされたApache v2について

SELinuxでは、Access Manager Webゲートのインストール後に、より厳格なSELinuxポリシーが設定されたLinuxディストリビューションで、Webサーバーを起動する際に、WebServerログ/コンソールにエラーが報告されます。

Webサーバーを再起動する前に、インストールされたWebコンポーネント用の適切なchconコマンドを実行することにより、これらのエラーを防止できます。

31.12.2 Apache v2がバンドルされたSELinux対応のLinuxディストリビューションについて

セキュリティ強化Linux (SELinux)では、必須のアクセス・コントロール・メカニズムが自動的に有効になります。

ご使用のLinuxのドキュメントにも記載されているように、SELinuxポリシーはシステム・デーモン用に、/etc/httpd/conf、/usr/sbin/apachect、および/var/log/(これはほんの一例)などの特定の事前定義済システム・ディレクトリへのアクセスを提供します。

バンドルされたApache Webサーバーを使用してWebgateをインストールした場合、Apacheのプロセスがインストール・ファイルにアクセスできるように、特定のポリシーを追加する必要があります。

バンドルされたApache Webサーバーは、context=user_u:system_r:unconfined_tとして定義されたセキュリティ・コンテキストで、ユーザー"apache"として実行されます。その結果、Webgateをいずれかのユーザー・フォルダにインストールすると、Apache Webサーバーは起動しません。

$SELINUX_SRC変数は、SELinuxポリシー・ソース・ディレクトリを示します。デフォルト値は/etc/selinux/targeted/src/policyです。ただし、ご使用の環境とは異なることがあります。ご使用のシステムの実際の値については、必ずシステム管理者にご相談ください。

31.12.2.1 Red Hat Enterprise Linux 4にバンドルされたApacheへのAccess Managerのポリシーの追加

Red Hat Enterprise Linux 4にバンドルされたApacheにAccess Managerのポリシーを追加できます。

  1. 各Access Manager Webgateのインストール後、「root」ユーザーとしてログインします。
  2. Webサーバーのユーザーおよびグループ(デフォルト: apache)に対して、すべてのWebgateがインストールされていることを確認します。
  3. oracle_access_manager.teポリシー・ファイルを$SELINUX_SRC/domains/programs/directoryに作成し、次のルールを追加します。
    type oracle_access_manager_t, file_type, sysadmfile; 
    allow httpd_t oracle_access_manager_t:file { rw_file_perms create rename
    link unlink setattr execute };
    allow httpd_t oracle_access_manager_t:dir  { rw_dir_perms create append
    rename link unlink setattr }; 
    
  4. oracle_access_manager.fcファイル・コンテキストを$SELINUX_SRC/file_contexts/programに作成し、Webgateのインストール・ディレクトリを登録します(アイデンティティやアクセスの接尾辞なしで)。次に例を示します。
     Oracle_Access_Manager_install_dir(/.*)? system_u:object_r:oracle_access_
     manager_t
    

    ノート:

    WebgateをAccess Managerとは別のディレクトリにインストールする場合、必ずWebgateインストール・ディレクトリを別に登録してください。

  5. ポリシー・ファイルを次のようにコンパイルおよびデプロイします。
    cd $SELINUX_SRC
    make load
    Label Oracle Access Manager files
    run restorecon -R Oracle_Access_Manager_install_dir (without the identity or access suffix)
    

31.12.3 Apache v2ディレクティブ

Apache 1.3では、複数のHTTPリクエストに同時に対応するためにプロセス・モデルを使用します。これはWebサーバーが採用している、1つのプロセスで同時に複数のリクエストを管理するシングル・プロセス(スレッド)モデルとは異なります。

ノート:

Apache v2内のprefork MPMだけがApache v1.3と同様のHTTPリクエスト処理プロセス・モデルを使用しています。その他すべてのMPMでは、Apache v2はハイブリッドのプロセス・スレッド・モデルを使用しています。

Apache v2 Webサーバー構成ファイル(httpd.conf)内のいくつかのディレクティブは、Apache Webサーバーによるワーカー・プロセスの作成や破壊の決定方法に影響を及ぼします。次のパラメータはApache v2 Webサーバーのパフォーマンスに影響を及ぼします。

  • ThreadsPerChild: このディレクティブは、各子プロセスが作成するスレッド数を設定します。子プロセスは起動時にこれらのスレッドを作成し、追加作成は行いません。

    • 子プロセスが1つしかないmpm_winntのようなMPMを使用している場合、この値には、サーバーの全負荷を処理できるだけの高い値を設定する必要があります。

    • 子プロセスが複数あるmpm_workerのようなMPMを使用している場合は、スレッドの合計数がサーバー上の共通負荷を処理できるだけの高い値になっている必要があります。

  • MinSpareThreads: この値はmpm_workerだけで使用されます。Access Managerプラグインの初期化は初回リクエスト時まで延期されるので、このディレクティブを高い値で維持してもわずかな効果しか得られません。それでも、このパラメータをできるだけ高く維持しておくと便利です。

  • MaxSpareThreads: この値はmpm_workerだけで使用されます。MaxSpareThreadsの値は、MinSpareThreadsとThreadsPerChildの合計と同じか、それより多い必要があり、そうなっていなければApache HTTP Serverが自動的に修正します。

    推奨: 高い値を維持してください。専用サーバーの場合は、これは問題にはなりません。

  • MaxSpareServers: Apache v2では、prefork MPMモデルだけで使用されます。サーバーにできるだけ多くの状態を保存するには、MaxSpareServersを高い値に設定してください。この値を最大の255に設定すると、使用可能なすべてのApacheワーカー・プロセスを維持しますが、負荷が低い期間にワーカー・プロセスのリサイクル機会が提供されません。

  • MinSpareServers: Apache v2では、prefork MPMモデルのみで使用されます。Access Managerプラグインの初期化は初回リクエスト時まで延期されるので、MinSpareServersパラメータに高い値を使用してもわずかな効果しか得られません。それでも、このパラメータをできるだけ高く維持しておくと便利です。専用Webサーバー・システムの場合は、これによる負荷はそれほど多くないはずです。

  • MaxClients: IHS v2とワーカーMPMでは、MaxClientsによってクライアントを処理するために利用可能なスレッドの合計数が制限されます。ハイブリッドMPMの場合、デフォルト値は16 (ServerLimit)に25 (ThreadsPerChild)の値を乗算したものです。16プロセス以上を必要とする値にMaxClientsを増やすには、ServerLimitも増やす必要があります。

前述のパラメータに適した値は、Access ServerおよびLDAPサーバーを含む、関係しているシステムでの予想負荷とパフォーマンス・クラスによって異なります。

予想負荷が高く、非常に高いパフォーマンスのシステム上では、ワーカー・プロセス数の制限を増やして、Apacheサーバーを再コンパイルできます。これらのシステムは、突然の負荷増加に対応するために、StartServersおよびMinSpareServersパラメータへのパフォーマンスの影響が高くなることがあります。

正しく機能させるために、Access Serverのオペレーティング・システム制限を調整する必要があります。特に、いずれかのAccess Server用に提供されているファイル記述子の最大数をデフォルト値より増やす必要があります。Apacheベースの各WebgateとAccess Serverとの間に複数の接続を構成すると、この制限を即座に超える可能性があります。

詳細はご使用のApacheのドキュメントを参照してください。