マイクロサービス・ベースのWebアプリケーションの循環攻撃からの保護について

Webアプリケーションは、今日のデジタル環境の重要なコンポーネントです。悪いアクターによる悪意のあるアクティビティは、機密データを盗むことができ、マルウェアを伝播でき、最終的にはビジネスやお客様を破損させることができます。Oracle Cloud InfrastructureでWeb Application Firewall (WAF)を使用すると、クラウド上の保護されたワークロードのセキュリティおよび保証が提供されます。

アプリケーションをパブリック・クラウドにデプロイした場合は、すべてのレベルでアプリケーションを保護し、保護する必要があります。Oracle Cloud InfrastructureのWAFサービスには、cyberattacksに対するアプリケーションを保護する層アプローチが用意されています。一部の機能は次に含まれますが、これらに限定されるものではありません。

  • 250を超える事前定義済の「Web Accessのセキュリティ・プロジェクト」( OWASP )、アプリケーションおよびコンプライアンス固有の保護ルール
  • Webroot BrightCloud ®を含む複数のソースのスレッド・インテリジェンスの集計
  • JavaScriptの検証、CAPTCHAチャレンジ、ホワイトリスト、デバイスのフィンガープリント処理、人との対話アルゴリズムによる高度なボット管理
  • HTTPヘッダー、URLパターン、地理的位置およびIPアドレスの特性など、ルールベースのアクセス制御
  • レイヤー7分散型サービス拒否(DDoS)攻撃保護

次の図は、Oracle Cloud InfrastructureでのWAFのセキュリティ機能を示しています。



始める前に

このソリューションでは、RESTful JavaアプリケーションがOracle Cloud InfrastructureOracle Container Engine for Kubernetesにすでにデプロイされていることを前提としています。「マイクロサービス・ベースのRESTful JavaアプリケーションのOracle Cloudへのデプロイ」を参照してください。

アーキテクチャ

このアーキテクチャ・ダイアグラムは、WAFを使用して保護された完了済のRESTful Javaマイクロサービス・アプリケーションを示します。

各マイクロサービスは、Kubernetesクラスタ内の複数のDockerコンテナで実行されるアプリケーションで構成されます。アプリケーション・トラフィックは、通常はドメイン・ネーム・システム(DNS)を介してインターネットに接続しているWAFサービスを介してルーティングされます。WAFは、ロード・バランサを介してリクエストのトラフィックをアプリケーションに転送するように構成されています。ロード・バランサにより、リクエストの処理に使用されるアプリケーション・インスタンスが選択されます。アプリケーション・インスタンスの数は、Kubernetesクラスタによって制御され、自動的にスケール・アップまたはスケール・ダウンできます。このアーキテクチャは、同様のマイクロサービス・アプリケーションのデプロイに使用します。

  1. HTML/CSS /JavaScriptに記述されたRESTFul Webサービス・クライアント・アプリケーションが、アプリケーションへのアクセスに使用されます。
  2. クライアントは、通常はDNSを介してインターネットに接続し、WAFサービスを介してアプリケーションに接続します。
  3. WAFは、ロード・バランサのIPアドレスを使用して、ロード・バランサ経由でリクエストのトラフィックをアプリケーションに転送するように構成されています。
  4. バックエンド・アプリケーションは、Kubernetesクラスタ内のDockerコンテナのセットです。通常、アプリケーションの複数のコピーがデプロイされ、ロード・バランサはクライアントが通信するアプリケーション・インスタンスを選択するために使用されます。
  5. アプリケーションは、永続性にOracle Cloud Infrastructure Databaseを使用します。格納されているデータはすべてデータベースにプッシュされます。状態はKubernetesクラスタに保存されません。

必要なサービスおよびロールについて

このソリューションには次のサービスが必要です。

  • Oracle Cloud Infrastructure Database
  • Oracle Cloud Infrastructure Container Engine for Kubernetes
  • Oracle Cloud Infrastructure Registry

Oracle Cloud Infrastructure WAFを使用するには、waas-policyに定義されている十分な権限が必要です。アクションを実行しようとしたときに、権限がないか権限がないというメッセージが表示された場合は、管理者に、付与されているアクセス権のタイプ、および作業する必要があるコンパートメントを確認してください。

特定のユーザー・グループがWAF内のポリシーを管理することを許可するには:

Allow group <GroupName> to manage waas-policy in compartment <CompartmentName>
Allow group <GroupName> to read waas-work-request in compartment <CompartmentName>

必要なクラウド・サービスを取得するには、「Oracle Cloud Services for Oracle Solutions」を参照してください。