21.1.2 Webリスナーのセキュリティに関する考慮事項

Oracle Application Expressで実行するWebリスナーを選択する際は、セキュリティに関する考慮事項を確認します。

関連項目:

Oracle Application Expressインストレーション・ガイドWebリスナーの選択

21.1.2.1 Oracle Application ExpressでのOracle REST Data Servicesの構成について

Oracle Application ExpressでOracle REST Data Servicesを使用することをお薦めします。

Oracle REST Data Services (以前のOracle Oracle Application Express Listener)は、SQL*Net接続経由でブラウザ・リクエストをApplication Expressエンジン・データベースにマッピングすることによってOracle Databaseと通信するJ2EEアプリケーションです。Oracle REST Data ServicesはOracle Application Expressの戦略的方向性であり、実質的にすべての環境で使用することをお薦めします。本番環境では、Oracle Web Logic ServerなどのサポートされているJava EEアプリケーションにOracle REST Data Services Webアーカイブ・ファイルをデプロイします。各デプロイは、個別に構成し、Oracleデータベースと通信するためのmod_plsqlデータベース・アクセス記述子と同じ目的で利用できます。

Oracle REST Data Servicesのデプロイ構成には、複数のセキュリティ関連パラメータが含まれます。Oracle Application Expressの構成では、パラメータsecurity.requestValidationFunctionwwv_flow_epg_include_modules.authorizeに設定することをお薦めします。これにより、Oracle Application Expressに付属のコール可能なプロシージャのホワイト・リストがアクティブ化され、他のプロシージャへのコールが禁止されます。これは、Oracle Application Expressに付属する検証ファンクションを使用して拡張できます。

関連項目:

『Oracle Application Express管理ガイド』データベース・アクセス記述子(DAD)によるOracle Application Expressへのアクセスの制限に関する項

21.1.2.2 Oracle Application Expressでのmod_plsqlを使用したOracle HTTP Serverの構成について

mod_plsqlはOracle HTTP Server 12c (12.1.3)で非推奨となったため、Oracle REST Data Servicesを使用することをお薦めします。

ヒント:

Oracle HTTP Server 12c (12.1.3)では、mod_plsqlは非推奨となっています。この非推奨に関する詳細は、My Oracle Supportノート1576588.1を参照してください。かわりに、Oracle REST Data Servicesを使用することをお薦めします。

Oracle HTTP Serverは、mod_plsqlプラグインを使用してOracle Database内のOracle Application Expressエンジンと通信します。mod_plsqlファンクションは、WebサーバーとOracle Database内のOracle Application Expressエンジン間の通信ブローカとして機能します。

mod_plsqlの各リクエストは、Database Access Descriptor(DAD)というデータベースにアクセスする際に使用する一連の構成値に関連付けられます。mod_plsqlには、リクエストされたプロシージャのさらなる処理を許可または禁止することができるPlsqlRequestValidationFunctionというDADパラメータがあります。このパラメータを使用すると、DADからの実行の許可対象にしないパッケージおよびプロシージャのコールをブロックすることで、PL/SQLアプリケーションにさらに強力なセキュリティを実装できます。Oracle Application ExpressのDAD構成では、PlsqlRequestValidationFunctionディレクティブに値 wwv_flow_epg_include_modules.authorizeを使用することをお薦めします。

PlsqlRequestValidationFunctionパラメータの目的は、mod_plsqlによってどのプロシージャが起動されるかを制御することです。デフォルトでは、Oracle Application Expressのパブリックなエントリ・ポイントのみが許可されます。これは、Oracle Application Expressに付属する検証ファンクションを使用して拡張できます。

関連項目:

Oracle Application Express管理ガイドの「データベース・アクセス記述子(DAD)によるOracle Application Expressへのアクセスの制限」

21.1.2.3 埋込みPL/SQLゲートウェイを使用する場合のセキュリティに関する考慮事項について

インターネット上で実行されるアプリケーションに埋込みPL/SQLゲートウェイを使用することはお薦めしません。

埋込みPL/SQLゲートウェイは、Oracle XML DB HTTPリスナーの一部としてデータベースで実行されます。Oracle XML DB HTTPリスナーおよび埋込みPL/SQLゲートウェイには、Oracle HTTP Serverおよびmod_plsqlと同等の主要機能があります。HTTPリスナーはOracle Application Expressがインストールされているデータベースと同じデータベースで実行されるため、データベースから分離できません。このため、インターネット上で実行されるアプリケーションまたは本番アプリケーションに埋込みPL/SQLゲートウェイを使用することはお薦めしません。かわりに、Oracle REST Data Servicesを使用することをお薦めします。また、埋込みPL/SQLゲートウェイでは、Oracle REST Data Servicesほどに柔軟な構成および詳細なログは提供されません。