はじめに
現代の企業アーキテクチャでは、しばしば一緒に登場するが根本的に異なる目的を果たす2つの技術があります:Webアプリケーション・API保護(WAAP)とアプリケーションデリバリーコントローラー(ADC)です。これらの技術の区別と、それらが互いをどう補完するかを理解することは、安全で高性能なアプリケーションインフラを構築するために不可欠です。
本記事は、WAAPとADCを環境に展開する際の中核的な違い、ユースケース、ベストプラクティスを探ります。
市場概観
組織が性能と保護の両方を優先するにつれ、アプリケーションデリバリーとセキュリティ市場は急速に成長し続けています。
ADCとは何か?
ADCは、受信ネットワークトラフィックを複数のバックエンドサーバーに分散するデバイスまたはソフトウェアです。その主要目標は、単一のサーバーが圧倒されないようにし、全体的なアプリケーション可用性、応答性、信頼性を向上させることです。
トラフィック分散
Round Robin、Least Connections、または重み付け分散などのアルゴリズムを使用して複数のサーバーにリクエストを分散します。
ヘルス監視
バックエンドサーバーの健全性を継続的にチェックし、不健全なサーバーを自動的にプールから削除します。
セッション持続性
必要に応じて、ユーザーセッションが同じサーバーで維持されることを保証します(スティッキーセッション)。
SSL/TLS終端
暗号化/復号処理をバックエンドサーバーからオフロードし、性能を向上させます。
ADCはLayer 4(TCP/UDP)またはLayer 7(HTTP/HTTPS)で動作します。Layer 7のADCは、URL、ヘッダー、Cookieなどのアプリケーションレベルデータに基づきルーティング決定を行えます。
WAAPとは何か?
Webアプリケーション・API保護(WAAP)は、Webアプリケーションへの、およびWebアプリケーションからのHTTP/HTTPSトラフィックを監視、フィルタ、遮断するセキュリティソリューションです。セキュリティルールとポリシーに対するリクエストコンテンツの分析を通じて、アプリケーション層攻撃から保護します。
攻撃防止
SQLインジェクション、クロスサイトスクリプティング(XSS)、コマンドインジェクションを含むOWASP Top 10脅威から保護します。
ボット管理
悪意あるボットを識別・遮断しつつ、正当なトラフィックと検索エンジンクローラーを許可します。
DDoS緩和
特定のアプリケーション脆弱性を標的とするアプリケーション層DDoS攻撃(Layer 7)から保護します。
仮想パッチ
アプリケーションコードがパッチされる前に、新たに発見された脆弱性に対する即時保護を提供します。
ADCと異なり、WAAPはリクエストの内容を検査します ― ヘッダーだけでなく ― 悪意あるペイロードと攻撃パターンを識別します。
主要な違い
両方の技術はアプリケーションサーバーの前に位置しますが、明確に異なる目的を果たします:
| 観点 | ADC | WAAP |
|---|---|---|
| 主要目的 | 可用性と性能のためのトラフィック分散 | アプリケーション層攻撃からの保護 |
| OSI層 | Layer 4(L4)またはLayer 7(L7) | Layer 7(L7)のみ |
| トラフィック検査 | ヘッダー、接続情報 | リクエスト/レスポンスの完全な内容 |
| 主要な関心事 | サーバーの健全性と容量 | 悪意ある内容と攻撃パターン |
| レイテンシへの影響 | 最小 | 高(深い検査を要する) |
| 構成の焦点 | サーバープール、ヘルスチェック、アルゴリズム | セキュリティルール、シグネチャ、ポリシー |
問いはWAAPまたはADCを必要とするかではなく、多層防御アーキテクチャを作るために両方をいかに有効に実装するかです。
TR7 Security Team
どう連携するか
ほとんどの企業展開では、WAAPとADCはセキュリティと可用性の両方を提供するため連携します。典型的なアーキテクチャはWAAPをADCの前に配置します:
クライアントリクエスト
ユーザーはインターネット経由でアプリケーションにリクエストを送信
WAAP検査
WAAPがリクエストを悪意ある内容、SQLインジェクション、XSS攻撃について分析
クリーンなトラフィックの通過
正当なリクエストがADCへ転送される
負荷分散
ADCは健全性と容量に基づき、最適なバックエンドサーバーへリクエストをルーティング
応答の返却
サーバー応答は同じパスを通じてクライアントに戻る
TR7のような現代のADCは、WAAPとロードバランシング機能を単一プラットフォームに統合し、複雑さ、レイテンシ、運用オーバーヘッドを削減します。
いつそれぞれを使うか
ADCを使う時
- トラフィックを複数のサーバーに分散する必要がある
- アプリケーションにとって高可用性が重要
- より多くのサーバーを追加して水平にスケールしたい
- バックエンドサーバーをオフロードするためSSL終端が必要
- 地理的ロードバランシング(GTM/GSLB)が必要
WAAPを使う時
- インターネットに露出されたWebアプリケーションがある
- コンプライアンスがアプリケーション層保護を要求する(PCI-DSS、HIPAA)
- OWASP Top 10脅威から保護する必要がある
- ボットトラフィックがアプリケーションに影響している
- 脆弱なアプリケーションに仮想パッチが必要
両方を使う時
- 事業上重要なWebアプリケーションがある
- セキュリティと可用性が同等に重要
- 機密データや取引を処理している
- アプリケーションが外部ユーザーにサービスを提供
- 多層防御アーキテクチャが必要
構成例
典型的なセットアップでのWAAPルールとADC構成の簡略化された例は次のとおりです:
# WAF Rule Configuration
waf_rules:
- name: sql_injection_protection
enabled: true
action: block
patterns:
- "UNION SELECT"
- "OR 1=1"
- "DROP TABLE"
# Load Balancer Configuration
load_balancer:
algorithm: round_robin
health_check:
interval: 30s
timeout: 10s
path: /health
servers:
- backend1.example.com:8080
- backend2.example.com:8080
- backend3.example.com:8080ベストプラクティス
WAAPとADCソリューションを展開する際は、これらのベストプラクティスを考慮してください:
統合ソリューションを検討
統合プラットフォームは複雑さと潜在的な障害点を削減しつつ、一貫したポリシー管理を提供します。
SSL/TLSの計画
SSL終端がどこで起こるかを決定します。WAAPは復号されたトラフィックを検査する必要があるため、ADC構成と調整します。
両方の層を監視
セキュリティイベント(WAAP)と性能メトリクス(ADC)の両方に対する包括的なロギングと監視を実装します。
学習モードで開始
WAAPを展開する時、遮断ルールを強制する前にトラフィックパターンを理解するため検知/学習モードから始めます。
定期的なルール更新
新しい脅威から保護するためWAAPルールを更新し続けます。多くのソリューションは自動シグネチャ更新を提供します。
よくある質問
いいえ、異なる目的を果たします。一部の高度なADCは基本的なセキュリティ機能を提供しますが、専用WAAPの深い検査と脅威インテリジェンス能力には及びません。包括的な保護には両方が必要です。
現代のWAAPは最小のレイテンシ影響で高性能を実現するよう設計されています。TR7のようなハードウェアアクセラレーションWAAPはラインレートでトラフィックを検査できます。鍵はトラフィックパターンに対する適切なサイジングと構成です。
通常、WAAPはインフラに到達する前に悪意あるトラフィックをフィルタするためADCの前に配置されます。ただし、統合プラットフォームは同じ時点で両機能を提供でき、しばしば最も効率的なアプローチとなります。
インターネットからアクセス可能なWebアプリケーションを持ち、機密データを扱い、コンプライアンス要件(PCI-DSS、HIPAA)を満たす必要がある、またはセキュリティインシデントを経験した場合、WAAPが必要である可能性が高いです。
結論
WAAPとADCは現代のアプリケーションアーキテクチャで異なるが補完的な目的を果たします。ADCはトラフィックを知的に分散することで、アプリケーションが利用可能で高性能であることを保証します。WAAPはそれらのアプリケーションを成長するWebベース脅威ランドスケープから保護します。
ほとんどの企業展開で、問いは「WAAPかADCか?」ではなく「両方をいかに有効に実装するか?」です。現代の統合プラットフォームは両機能を統合ソリューションで提供し、包括的な保護と性能を提供しつつアーキテクチャを簡素化します。
TR7:統合アプリケーションデリバリーとセキュリティ
TR7はエンタープライズグレードのロードバランシングと高度なWAAP機能を単一プラットフォームで組み合わせます。複雑さを削減し、セキュリティ態勢を改善し、1つのソリューションでアプリケーションデリバリーを最適化します。
TR7についてもっと学ぶ