Oracle Service Busインストールをプロダクション用に準備する場合、セキュリティ要件に特に注意する必要があります。ここでは、必要な作業のいくつかを簡単に説明します。
Oracle WebLogic Serverのドキュメントの「Oracle Fusion Middleware Oracle WebLogic Serverプロダクション環境の保護」にあるガイドラインを読み、それに従ってください。
Oracle Service Bus管理者用のユーザー・アカウントを作成し、1つまたは複数のグループ(IntegrationAdministrators、IntegrationOperators、IntegrationMonitors、およびIntegrationDeployers)に適切に割り当てます。詳細については、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「セキュリティ構成」を参照してください。
ファイル・システムで、Oracle Service Busの構成データを格納するディレクトリのアクセス制御を構成します。これはドメインのルートの下のsbconfig
ディレクトリです。例:
C:\oracle\user_projects\domains\base_domain\osb\config
ファイル・システムで、FTP、SFTP、ファイル、および電子メールのトランスポートに使用するディレクトリのアクセス制御を構成します。
必要に応じて、Oracle Service Busインストールで使用するJMSリソースのアクセス制御を構成します。
Oracle Service Busには、Oracle Service Busに登録されたリソースを公開する際に使用するリソース・サーブレット(MW_HOME/OSB_HOME/lib/sbresourceWar/sbresource.war)が用意されています。Oracle Service Busに登録されているリソースは次のとおりです。
WSDL (Oracle Service Busにリソースとして登録されたWSDL)
スキーマ
MFL
WS-Policy
WSDL (プロキシ・サービスの解決済みのポリシーとポート情報を持つ有効なWSDL。プロキシ・サービスがWSDLを使用して作成されている場合に使用可能)。
ただし、このサーブレットは、メタデータへの匿名HTTPアクセスを提供しており、これが、一部の高セキュリティ環境では、セキュリティ・リスクと見なされる場合があります。
HTTPを介して匿名でOracle Service Busリソースにアクセスできないようにする場合は、sbresources.war
でセキュリティ・ロールを設定して、リソースへのアクセスを制御するか、または、リソースを完全にアンデプロイすることができます。
注意: SBリソースをアンデプロイすると、UDDIサブシステムを使用できなくなります。 |
『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「メッセージ・コンテキスト・モデル」で説明されているように、メッセージ・コンテンツを処理する場合、Oracle Service Busパイプラインが、コンテンツをメモリーにロードするのではなく、ストリーミングするように指定できます。プロキシ・サービスでコンテンツ・ストリーミングを有効にする場合は、メッセージ処理中の中間段階として、ストリーミングされたコンテンツをメモリーやディスク・ファイルにバッファするかどうかを指定します。
一時ディスク・ファイルを使用する場合は、それらを保護する必要があります。
Oracle Service Busドメインをロック・ダウンするには、Javaシステム・プロパティcom.bea.wli.sb.context.tmpdir
を設定して、一時ファイルが書き込まれる場所を指定します。
このディレクトリが存在し、適切なアクセス権のセットがあることを確認してください。
詳細については、『Oracle Fusion Middleware Oracle WebLogic Server本番環境の保護』のファイルのアクセス権限およびファイル・システムの推奨事項を参照してください。
プロダクション環境では、管理者以外のユーザーはOracle Service Busコンソールにアクセス不可能である必要があります。
サービス拒否攻撃では、1つのソースから大量のリクエストが発信されたり、リソース制約がある点に達するとサーバーへの新しい接続が確立されたりします。
Oracle Service Busコンソールに対するサービス拒否攻撃からの保護に関する推奨事項を次に示します。
プロダクション環境では、管理サーバー(Oracle Service Busコンソールが稼働するサーバー)は決して公開しないようにします。管理対象サーバーだけを、呼出し元からアクセスできるようにする必要があります。
Oracle Service Busコンソールのデフォルトのワーク・マネージャを使用するのではなく、別のワーク・マネージャを構成し、Oracle Service Busコンソール Webアプリケーションにアクセスできるユーザー数のデフォルトの制限値(max-threads-constraint)を設定して使用します。
ワーク・マネージャの詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する項を参照してください。