この章の内容は、次のとおりです。
セキュリティは、認証、認可および秘匿性の3つのカテゴリに分けられます。Oracle HTTP Serverは、これら3種類のカテゴリをすべてサポートします。Oracle HTTP ServerはApache HTTP Serverに基づいており、そのセキュリティ・インフラストラクチャは主にApacheモジュール(mod_auth_basic、mod_authn_file、mod_auth_userおよびmod_authz_groupfile)、とWebGateにより提供されます。mod_auth_basic、mod_authn_file、mod_auth_userおよびmod_authz_groupfileモジュールは、ユーザー名とパスワードのペアに基づく認証を提供します。mod_authz_hostはリクエストの特性(ホスト名やIPアドレスなど)に基づいてサーバーへのアクセスを制御し、mod_osslは、SSLを介したX.509クライアント証明書によって秘匿性および認証を提供します。
Oracle HTTP Serverは、httpd.conf
ファイル内のアクセス制御ディレクティブを使用して構成できるアクセス制御、認証および認可の方法を提供します。URLリクエストはOracle HTTP Serverに到達すると、サーバーのデフォルトおよび構成パラメータにより指定された手順で処理されます。URLリクエストの処理手順は、多くのWebリスナーに共通のモジュールまたはプラグイン・アーキテクチャを介して実装されます。
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にアクセスできます。
関連項目:
Oracle Access Managerによって認証されたユーザー。これらのユーザーは、シングル・サインオンによって許可されたリソースにアクセスできます。
関連項目:
Oracle Platform Security Servicesによるアプリケーションの保護
Oracle HTTP Serverは、ユーザーの認証および認可を、アクセス制御、ユーザーの認証および認可の2段階で行います。
アクセス制御(第1段階): これは、受信HTTPリクエストとそのヘッダーの詳細(IPアドレスやホスト名など)に基づいています。
ユーザーの認証および認可(第2段階): これは、HTTPサーバー構成に応じた様々な基準に基づいています。ユーザー名とパスワードのペアでユーザーを認証するようにサーバーを構成できます。ユーザー名とパスワードは、既知のユーザーおよびパスワードのリストと比較して確認されます。また、Webアプリケーションに対してシングル・サインオン認証を使用するようにサーバーを構成したり、SSLを介したX.509クライアント証明書を使用するようにサーバーを構成することもできます。
アクセス制御とは、リソースに対するアクセスを制御する手段のことです。
関連項目:
リソースへのアクセス制御の構成方法の詳細は、Apache HTTP Serverドキュメントを参照してください。
認証は、ユーザーが本物であることを確認するプロセスです。認可は、ユーザーにリソースへのアクセスや情報の取得を許可するプロセスです。Apache HTTP ServerモジュールまたはWebGateのいずれかを使用してユーザーを認証できます。
Apache HTTP Server認証ディレクティブを使用して、ユーザーが本物であることを確認できます。
関連項目:
ユーザーを認証する方法の詳細は、次のApache HTTP Serverのドキュメントの認証および認可に関する項を参照してください。
WebGateによって、Oracle HTTP Serverのシングル・サインオン(SSO)が可能になります。WebGateは受信リクエストを調べて、リクエストされたリソースが保護されているかどうかを判断し、保護されている場合は、ユーザーのセッション情報を取得します。
WebGateを使用すると、Oracle HTTP ServerはSSO対応のパートナ・アプリケーションとなり、SSOを使用してユーザーを認証することが可能になり、Oracleシングル・サインオンを使用してユーザーのアイデンティティの取得ができるようになり、また、Oracle HTTP ServerからアクセスされるWebアプリケーションはユーザーのアイデンティティを使用することが可能になります。
WebGateを使用することで、Webアプリケーションは、SSO認証を必要とするURLを登録できます。WebGateは、Oracle HTTP Serverが受信したクエストからSSO認証が必要なリクエストを検出し、それらをSSOサーバーにリダイレクトします。SSOサーバーによってユーザーが認証されると、ユーザーの認証済アイデンティティをWebGateにセキュア・トークンで渡します。WebGateがトークンからユーザーのアイデンティティを取得すると、それをOracle HTTP Serverからアクセスされるアプリケーション(Oracle WebLogic Server上で実行されているアプリケーション、CGI、Oracle HTTP Serverによって処理される静的ファイルなど)に伝搬します。
関連項目:
Oracle Platform Security Servicesによるアプリケーションの保護
Oracle HTTP Serverは、FMW共通監査フレームワークを使用した認証および認可の監査をサポートしています。監査の有効化の一部として、Oracle HTTP ServerはOraAuditEnable
と呼ばれるディレクティブをサポートしています(デフォルトはOn
)。有効化されると、auditconfig.xmlで有効化されている監査イベントが監査ログに記録されます。デフォルトでは、auditconfig.xmlで有効化されている監査イベントはありません。
OraAuditEnable
がOff
に設定されている場合は、auditconfig.xmlでの設定に関係なく監査は無効になります。
Fusion Middleware Controlを使用するか、またはauditconfig.xmlを直接編集することで、監査フィルタを構成できます。
関連項目:
『Oracle Platform Security Servicesによるアプリケーションの保護』の監査機能の概要に関する項
Oracle HTTP Serverは、Secure Sockets Layer (SSL)プロトコルを使用して通信を保護します。SSLは、メッセージの暗号化、整合性および認証を提供することで、通信を保護します。SSL標準により、関係するコンポーネント(ブラウザやHTTPサーバーなど)は、どの暗号化、認証および整合性メカニズムを使用するかのネゴシエーションができます。
Oracle HTTP Serverに対するSSLの実装方法の詳細は、『Oracle Fusion Middlewareの管理』の「Web Tierに対するSSLの実装」を参照してください。OracleのSSLモジュールであるmod_osslの使用の詳細は、mod_osslモジュール—暗号(SSL)の有効化を参照してください。mod_osslディレクティブの詳細は、mod_osslモジュールを参照してください。
mod_wl_ohsモジュールにもSSL用の構成が含まれています。詳細は、『Oracle WebLogic Serverプロキシ・プラグイン12.2.1の使用』のプラグインとSSLの併用に関する項およびWeb Serverプラグインのパラメータに関する項を参照してください。
この項では、このリリースでサポートされているSSL機能について説明します。
この機能は、「ステップアップ」、「サーバー・ゲート暗号化」または「グローバル・サーバーID」などと様々に呼ばれる、サポートSSLプロトコル機能を追加します。「ステップアップ」とは、旧式で低強度の暗号化ブラウザの「ステップアップ」を可能にする機能であり、これにより、512ビットより長い公開鍵および64ビットより長いバルク暗号化鍵をSSLプロトコルで使用できるようになります。つまり、512ビットを超える公開鍵を含みかつ「ステップアップ」デジタル著作権を含むサーバーX.509証明書が、Oracle Application Serverで使用できるようになりました。このような証明書は、(通常は証明書自体に1024ビット証明書が含まれますが)しばしば「128ビット」証明書と呼ばれます。Verisign Secure Site Proはこのような証明書の一例であり、Oracle Application Serverで使用できるようになっています。
グローバル・サーバーID機能はデフォルトで提供されており、構成は必要ありません。
公開鍵暗号化規格#11(略してPKCS #11)とは、システムがハードウェア・セキュリティ・モジュールを使用する方法の概要を示した公開鍵暗号化仕様であり、これは基本的に、暗号化機能(暗号/復号)が実行され、暗号化鍵が格納される「箱」となっています。
Oracle HTTP Serverでは、nCipher
による専用のSSLハードウェアを使用するオプションをサポートしています。nCipher
は、認証されたサード・パーティのアクセラレータで、SSLで使用されるPKI暗号のパフォーマンスを改善します。
関連項目:
Oracle Fusion Middlewareの管理ガイド
SSL関連および通信関連のデバッギングは、SSLTraceLogLevel
ディレクティブを使用して設定できます。ここでは、ロギング要件に従って、ログ・レベルの様々な冗長性を設定できます。このディレクティブは、SSLログおよび通信ログを生成します。詳細は、SSLTraceLogLevelディレクティブを参照してください。
注意:
SSLログは、OHSログがINFOレベル以上に設定されている場合に機能します。
mod_securityは、Oracle HTTP Serverに対する侵入攻撃を検出および防止するために使用できる、オープンソース・モジュールです。たとえば、mod_securityルールを指定して、すべての受信リクエストをスクリーニングし、ルールで指定された条件に一致するリクエストを拒否することができます。mod_securityモジュール(バージョン2.7.2)とその前提条件は、mod_security2.soという共有オブジェクトとして、ORACLE_HOME/ohs/modulesディレクトリ内のOracle HTTP Serverインストールに含まれています。
mod_securityの詳細は、mod_securityモジュールの構成を参照してください。
信頼フラグを使用すると、証明書に割り当てられた適切なロールによる、証明書チェーンの検証やパスの構築などの操作が簡単に実行できます。デフォルトでは、ウォレットで信頼フラグはサポートされていません。
orapkiユーティリティを使用して、Oracleウォレットにインストールされている証明書に信頼フラグを保持できます。また、信頼フラグをサポートするウォレットの作成と変換、適切なフラグの作成と各証明書での保持などを実行できます。信頼フラグと、それらをセキュリティ戦略に組み込む方法の詳細は、『Oracle Fusion Middlewareの管理』の信頼フラグの作成および管理に関する項を参照してください。