この章では、Oracle Coherenceセキュリティ機能の概要について説明します。Oracle Coherenceセキュリティ機能は、様々なレベルのセキュリティを提供しており、通常は必要に応じて実装されます。セキュリティ機能には、Secure Sockets Layer (SSL)などの業界標準や、Oracle Coherence固有の機能が含まれます。
注意: このガイドでは、クラスタの設定やOracle Coherence*Extendクライアントの作成に関する詳細な手順については説明しません。クラスタの設定およびOracle Coherence*Extendクライアントの作成の詳細はそれぞれ、『Oracle Coherenceでのアプリケーションの開発』および『Oracle Coherenceリモート・クライアントの開発』を参照してください。 |
この章には次の項が含まれます:
この項では、Oracle CoherenceおよびOracle Coherence*Extendで使用可能なセキュリティ機能を列挙し、それらについて説明します。セキュリティ機能を評価し、セキュリティ要件、懸念事項および許容範囲に基づいて、どの機能を使用するかを判断してください。この項(およびこのドキュメント全体)の構成では、より高度なセキュリティ対策の前に基本的なセキュリティ対策を示しています。
Javaポリシー・セキュリティ
Oracle Coherenceの実行に必要な最小限のセキュリティ・パーミッションを含むJavaセキュリティ・ポリシー・ファイルが提供されています。このファイルを編集し、アプリケーションの要件に応じてパーミッションを変更します。セキュリティ・ポリシーは、Oracle Coherenceライブラリや構成ファイルの悪質な使用および変更を防ぎます。詳細は、「Javaセキュリティ・マネージャの使用方法」を参照してください。
ホストベースの認可
ホストベースの認可では、クラスタのメンバーになるホストおよびクラスタに接続するExtendクライアントが明示的に指定されます。このタイプのアクセス制御は、ホスト名(またはIPアドレス)が事前にわかっている環境に適しています。ホストベースの認可は、無許可のホストによるクラスタへの参加またはアクセスを防ぎます。詳細は、「ホストベースの認可の使用方法」を参照してください。
クライアント・サスペクト・プロトコル
クライアント・サスペクト・プロトコルは、自動的に、Extendクライアントが悪質な動作を行っているかどうかを判断し、そのクライアントがクラスタに接続するのをブロックします。サスペクト・プロトコルは、サービス拒否攻撃を防ぎます。詳細は、「不正なクライアントの管理」を参照してください。
クライアントIDトークン
クライアントIDトークンは、どのExtendクライアントがクラスタにアクセスするかを制御します。プロキシ・サーバーは、クライアントが有効なトークンを提示した場合のみ接続を許可します。IDトークンは、アプリケーション固有であり、通常は既存のクライアント認証実装を再利用します。IDトークンは、好ましくないクライアントや悪質なクライアントがクラスタにアクセスするのを防ぎます。詳細は、「IDトークンを使用したクライアント接続の制限」を参照してください。
クライアント認可
クライアント認可は、特定のクライアントが実行できるアクションを、そのアクセス制御パーミッションに基づいて制御します。プロキシ・サーバーは、Extendクライアントがリソース(キャッシュ、キャッシュ・サービスまたは起動サービス)にアクセスする前に認可チェックを実行します。クライアント認可は、アプリケーション固有であり、クラスタ・リソースの無許可の使用を防ぎます。詳細は、「Extendクライアントの認可の実装」を参照してください。
アクセス・コントローラのセキュリティ・フレームワーク
アクセス・コントローラは、クラスタ・サービスやクラスタ・キャッシュなどのクラスタ・リソースへのアクセスを管理し、ユーザーがそれらのリソースで実行できる操作を制御します。クラスタ・メンバーは、ログイン・モジュールを使用してIDの証明を提示します。一方、通信の暗号化および復号化は、信頼性の証明としての役割を果たします。フレームワークにより、キーストアの使用が求められ、パーミッション・ファイル内のパーミッションが定義されます。アクセス・コントローラは、悪質なクラスタ・メンバーがクラスタ・リソースにアクセスしたり、クラスタ・リソースを作成したりするのを防ぎます。詳細は、第3章「アクセス・コントローラの使用方法」を参照してください。
SSL
SSLは、クラスタ・ノード間のTangosol Cluster Management Protocol (TCMP)通信を保護します。SSLはまた、Oracle Coherence*Extendクライアントとプロキシ間のTCP通信も保護します。SSLは、デジタル署名を使用して識別と信頼を確立し、キーベースの暗号化を使用してデータが確実に保護されるようにします。SSLは、悪質なクライアントおよびクラスタ・メンバーによる無許可のアクセスやデータの改ざんを防ぐ業界標準です。詳細は、第5章「SSLを使用した通信の保護」を参照してください。
Coherenceセキュリティ機能は、デフォルトでは無効であり、特定のセキュリティ要件または懸念事項に対処する必要がある場合に有効化されます。有効化されるセキュリティ機能に基づいて、様々なレベルのセキュリティを実現できます。次のリストは、ファイル・パーミッション、SSLおよび認可を含むCoherence環境でのセキュリティのクイック・スタートおよび結果を示します。
ファイル・システム・パーミッションおよびJavaポリシー・パーミッションを構成し、Coherenceファイルの読取りおよび書込みに対して保護します。詳細は、「Javaセキュリティ・マネージャの使用方法」を参照してください。
SSLを構成して有効化し、クラスタ・メンバー間の通信の保護、およびクラスタに参加する無許可のメンバーに対して保護します。「SSLを使用したTCMP通信の保護」を参照してください。
Coherence*ExtendまたはCoherence RESTを使用する場合、SSLを構成して有効化し、外部クライアントとCoherenceプロキシ・サーバー間の通信を保護します。SSLは、無許可のクライアントによるクラスタ・サービスの使用から保護します。詳細は、それぞれ「SSLを使用したExtendクライアント通信の保護」および「Oracle Coherence RESTでのSSL認証の使用方法」を参照してください。
認可ポリシーを実装して、ユーザー・ロールに基づいた特定のCoherence操作へのクライアント・アクセスを制限します。「Extendクライアントの認可の実装」を参照してください。
セキュリティ構成は、オペレーション・オーバーライド・ファイルとキャッシュ構成ファイルの両方で行われます。構成に関する詳細は、『Oracle Coherenceでのアプリケーションの開発』を参照してください。
オペレーション・オーバーライド・ファイル – tangosol-coherence-override.xml
ファイルは、オペレーション・デプロイメント・ディスクリプタをオーバーライドします。オペレーション・デプロイメント・ディスクリプタは、クラスタリング・サービス、通信サービスおよびデータ管理サービスを制御する操作設定および実行時設定を指定するものです。このファイルには、クラスタ・メンバー用のセキュリティ設定が含まれます。
キャッシュ構成ファイル – coherence-cache-config.xml
ファイルは、デフォルトのキャッシュ構成ファイルです。これは、クラスタ内の様々なタイプのキャッシュを指定します。この構成ファイルには、Oracle Coherence*Extend用のセキュリティ設定が含まれます。キャッシュ構成ファイルは、Extendクライアント側とクラスタ側の両方で必要です。Oracle Coherence*Extendの設定の詳細は、『Oracle Coherenceリモート・クライアントの開発』を参照してください。