アーキテクチャについて

Next-Gen WAF は、Web アプリケーションをプロアクティブに監視して、悪意のあるトラフィックから保護するアプリケーションセキュリティ監視システムです。このシステムで使用されるアーキテクチャ上の主要コンポーネントは、以下のとおりです。

  • Next-Gen WAF モジュール (オプション) : Web アプリケーションへのリクエスト、または Web アプリケーション上のリクエストの処理を担うコンポーネント。お客様のデプロイ方法によって、Next-Gen WAF がこのコンポーネントをオプションとして使用するかどうかが決まります。

  • Next-Gen WAF エージェント : リクエストの処理とクラウドエンジンとの通信を担うコンポーネント。デプロイにオプションのモジュールコンポーネントを使用しない場合、エージェントはモジュールの役割も担います。

  • クラウドエンジン : Next-Gen WAF エージェントと他のソース間のデータ送信を担うコンポーネント。

ヒント : このガイドでは、Next-Gen WAF 内のデータフローを説明します。リクエストフロー全体を知りたい場合は、Next-Gen WAF のリクエストフローをご覧ください。

Next-Gen WAF 内のデータフロー

  1. モジュールありのデプロイ
  2. モジュールなしのデプロイ

この図は、モジュールコンポーネントを使用する場合の Next-Gen WAF 内のデータフローを示しています。このモジュールは受信リクエストを遮断し、エージェントにクエリを実行します。次に、エージェントは該当するリクエストにセキュリティルールを適用し、その決定をモジュールに送り返します。さらに、エージェントはクラウドエンジンとの双方向通信を行い、更新後の設定を受信し、修正後のリクエストデータをアップロードします。クラウドエンジンは、このデータを Next-Gen WAF との通信に使用するコンソールや API、設定済みの統合 (アラート) などのさまざまな出力先に転送します。

モジュールについて

Next-Gen WAF モジュールは、オプションのアーキテクチャコンポーネントであり、Web アプリケーションへのリクエストや Web アプリケーション上のリクエストの処理を担います。モジュールは受信リクエストを監視し、決定のためにリクエストを Next-Gen WAF エージェントに渡します。エージェントからの決定を受信後、モジュールはその決定に従ってリクエストを処理します (例 : リクエストのブロック)。

お客様のデプロイ方法によって、Next-Gen WAF がこのコンポーネントをオプションとして使用するかどうかが決まります。デプロイでモジュールコンポーネントを使用しない場合、エージェントがモジュールの役割を担います。

デプロイ方法モジュールの使用モジュールのバリエーション
クラウド WAF該当なし
エッジ WAFFastly の CDN または Compute サービスがモジュールとして機能します。
モジュール-エージェントこのモジュールは、Web サーバーのプラグイン (例 : NGINXやApache) として存在することも、アプリケーションレイヤー (例 : .Net CoreやNode.js) でデプロイすることもできます。
Platform as a Service (PaaS)該当なし
リバースプロキシ該当なし

エージェントについて

  1. モジュールありのデプロイ
  2. モジュールなしのデプロイ

デプロイで Next-Gen WAF モジュールを使用する場合、Next-Gen WAF エージェント (旧称 Signal Sciences エージェント) がリクエストの処理とクラウドエンジンとの通信を担います。モジュールからリクエストを受信した後、エージェントは以下を実行します。

  • アクティブルールしきい値設定を使用して、リクエストの処理方法 (例 : 許可またはブロック) を決定します。

  • リクエストに適切なシグナルをタグ付けします。

  • リクエストから機密情報を削除します。

  • リクエストとその決定をモジュールに送り返します。

エージェントはまた、クラウドエンジンと30秒ごとに非同期で通信します。エージェントはクラウドエンジンから新しい設定や更新された設定をダウンロードし、Fastly のデータストレージポリシーに従って修正されたリクエストとレスポンスデータをクラウドエンジンにアップロードします。

エージェントに問題が発生し、応答できなくなっても、設定された制限時間内にエージェントからの応答がない場合はモジュールがフェイルオープンになるため、Web アプリケーションは動作し続けます。エージェントがクラウドエンジンと通信できなくなった場合も、エージェントはいくつかの警告を伴いながら引き続き機能します。

クラウドエンジンについて

クラウドエンジンは、Next-Gen WAF エージェントと他のソース間でコントロールプレーンとして機能するアーキテクチャコンポーネントです。具体的には、クラウドエンジンは以下を実行します。

  • 企業 (アカウント) およびサイト (ワークスペース) の設定 (例 : ルールやリスト) を Next-Gen WAF エージェントに転送します。エージェントはこの情報を使用して、リクエストの処理方法を決定します。

  • 異常なリクエストやレスポンスデータおよびパフォーマンス指標を、Next-Gen WAF エージェントから、アクセス権を有するコンソールやセットアップ済みのサードパーティインテグレーションに転送します。

  • 攻撃データを Next-Gen WAF エージェントから Network Learning Exchange (NLX) に転送します。NLX は、Fastly のサブスクライバーネットワークから攻撃データを集約して分析し、隠れた攻撃者を特定する IP アドレスのレピュテーションフィードです。

  • 隠れた攻撃者のリストを NLX から Next-Gen WAF エージェントに転送します。エージェントは、特定された IP アドレスからのリクエストのうち、少なくとも1つのシグナルを含むリクエストに SigSci Malicious IP (SIGSCI-IP) の異常シグナルをタグ付けします。

  • 外部ソースから Next-Gen WAF エージェントに情報を転送します。たとえば、クラウドエンジンは SANS Internet Storm Center から悪意のあるアクティビティに関与した IP アドレスのリストをインポートし、エージェントに送信します。その後、エージェントは特定された IP アドレスのリストにあるリクエストに Malicious IP Traffic (SANS) の異常シグナルをタグ付けします。

Fastly は、AWS West の複数のアベイラビリティーゾーンにまたがってクラウドエンジンをホストしています。

CDN と並行した WAF のデプロイ

すでに Fastly サービスをご利用の場合は、エッジ WAF のデプロイ方法で Next-Gen WAF を Fastly サービスと一緒にデプロイできます。この方法では、お客様のデプロイは POP のグローバルネットワークを介して Fastly の Edge Cloud Platform 上でホストされます。

別の CDN プロバイダーを使用したい場合は、ヘッダー (例 : X-Forwarded-For) を使用して本当のクライアント IP アドレスを取得できます。詳細については、クライアント IP アドレスに関するガイドをご覧ください。