WAF ルールを含むトラフィックフィルタールールの設定方法
WAF ルールを含むトラフィックフィルタールールの 設定方法 について説明します。結果の作成、デプロイ、テスト、分析について参照してください。
セットアップ
設定プロセスには、次の項目が含まれます。
- ルールの作成:適切な AEM プロジェクト構造と設定ファイルを使用します。
- ルールのデプロイ:Adobe Cloud Manager の設定パイプラインを使用します。
- ルールのテスト:様々なツールを使用してトラフィックを生成します。
- 結果の分析:AEMCS CDN ログとダッシュボード ツールを使用します。
AEM プロジェクトでのルールの作成
ルールを作成するには、次の手順に従います。
-
AEM プロジェクトの最上位に
config
フォルダーを作成します。 -
config
フォルダー内に、cdn.yaml
という新しいファイルを作成します。 -
次のメタデータを
cdn.yaml
ファイルに追加します。
kind: CDN
version: '1'
metadata:
envTypes:
- dev
- stage
- prod
data:
trafficFilters:
rules:
AEM Guides WKND Sites プロジェクト内の cdn.yaml
ファイルの例を参照してください。
Cloud Manager を使用したルールのデプロイ deploy-rules-through-cloud-manager
ルールをデプロイするには、次の手順に従います。
-
my.cloudmanager.adobe.com で Cloud Manager にログインし、適切な組織とプログラムを選択します。
-
プログラムの概要 ページから パイプライン カードに移動し、「+ 追加」ボタンをクリックして目的のパイプラインタイプを選択します。
上の例では、開発環境を使用しているので、デモの目的で「実稼動以外のパイプラインを追加」が選択されています。
-
実稼動以外のパイプラインを追加 ダイアログで、次の詳細を選択して入力します。
-
設定手順:
- タイプ:デプロイメントパイプライン
- パイプライン名:Dev-Config
-
ソースコード手順:
- デプロイするコード:ターゲットデプロイメント
- 次を含む:設定
- デプロイメント環境:環境の名前(例:wknd-program-dev)。
- リポジトリ:パイプラインがコードを取得する元の Git リポジトリ。例:
wknd-site
- Git ブランチ:Git リポジトリブランチの名前。
- コードの場所:
/config
(前の手順で作成した最上位の設定フォルダーに対応)
-
トラフィックの生成によるルールのテスト
ルールをテストするために、様々なサードパーティツールが使用可能で、組織には推奨ツールがある場合があります。デモとして、次のツールを使ってみましょう。
-
cURL:URL の呼び出しや応答コードの確認などの基本的なテストに使用します。
-
Vegeta:サービス拒否(DOS)を実行するために使用します。Vegeta GitHub のインストール手順に従います。
-
Nikto:XSS、SQL インジェクションなどの潜在的な問題やセキュリティの脆弱性を見つけます。Nikto GitHub のインストール手順に従います。
-
次のコマンドを実行して、ツールがインストールされ、ターミナルで使用できることを確認します。
code language-shell # Curl version check $ curl --version # Vegeta version check $ vegeta -version # Nikto version check $ cd <PATH-OF-CLONED-REPO>/program ./nikto.pl -Version
ダッシュボードツールを使用した結果の分析
ルールを作成、デプロイ、テストした後、CDN ログや AEMCS-CDN-Log-Analysis-Tooling を使用して結果を分析できます。このツールは、Splunk および ELK(Elasticsearch、Logstash、Kibana)スタックの結果を視覚化する一連のダッシュボードを提供します。
ツールで、AEMCS-CDN-Log-Analysis-Tooling Github リポジトリからクローンを作成できます。次に、指示に従って、好みの可観測性ツールの CDN トラフィックダッシュボード および WAF ダッシュボード をインストールして読み込みます。
このチュートリアルでは、ELK スタックを使ってみましょう。AEMCS CDN Log Analysis 用の ELK Docker コンテナの手順に従って、ELK スタックを設定します。
-
サンプルダッシュボードを読み込むと、Elastic ダッシュボードのツールページは次のようになります。
次の手順
例と結果分析の章で、AEM WKND Sites プロジェクトを使用して、WAF ルールを含むトラフィックフィルタールールを宣言する方法について説明します。