※ 本記事は、Daniela Hansellによる”Monitoring OCI Web Application Firewall (WAF) with Logging Analytics“を翻訳したものです。

2023年1月25日


Guest Authors:

Jevgenij Mikejan

Senior WAF engineer

Andrej Aksionov

Senior WAF engineer

 

既存の2つのOracle Cloud Infrastructure(OCI)サービス(フレキシブル・ロード・バランサでのOCI Web Application Firewall(WAF)の適用とOCI Logging Analytics)を使用して追加のセキュリティ・インサイトを得る新しい方法をご紹介します。これら2つのOCIサービスを組み合せると、Webアプリケーションの詳細なトラフィック分析と、WAFで設定した結果に対処するためのトリガーされた対策に関するリアルタイム情報が提供されます。

OCU Web Application Firewallを使用したWebアプリケーションのトラフィック分析およびリアルタイム情報

初期設定

WAFポリシーを作成し、OCI Load Balancer(LB)にアタッチします。最新のOCIコマンドライン・インタフェース(CLI)がマシンにインストールされ、完全に構成されていることを確認してください。インストール・プロセスの詳細は、OCI CLIクイックスタート・ガイドを参照してください。

実装とフロー・ロジック

 

Implementation and flow logic
図1: 実装とフロー・ロジック

 

上の図は、エンド・ユーザーからのリクエストがLogging Analyticsにどのように表示されるかを示しています。WAFで設定した結果をより適切に識別するために、WAFサービス・ログをLogging Analyticsに送信するには、いくつかのステップを実行する必要があります:

  1. WAFサービス・ログを手動で有効にします
  2. Logging Analyticsのログ・グループの作成
  3. 現在使用可能なパーサーを含むLogging Analytics LogグループにWAFサービス・ログを送信するサービス・コネクタを作成します。

ステップ・バイ・ステップ設定

設定の詳細は次のとおりです。

1. WAFサービス・ログを手動で有効にします。

WAFサービス・ログを有効にするには、次のステップに従ってOCI WAFインタフェースでそれらを有効にする必要があります。:

  1. WAFポリシーを開きます。
  2. 「ファイアウォール」をクリックします。
  3. 名前をクリックしてファイアウォールを開きます。
  4. 「Logs」をクリックします。
  5. 「ログの有効化」の状態を変更します。名前、コンパートメント、ログ保持期間など、WAFサービス・ログ・グループに関する詳細の入力を求められます。
  6.  
add firewalls
図2: ファイアウォール画面

 

logs enabled
図3: 有効化されたファイアウォール・ログ

 

Enable log
図4: ログの自動作成の有効化

 

2. Logging Analytics logグループを作成します。

次に、WAFポリシー・サービス・ログを格納できるように、Logging Analyticsのlogグループを設定する必要があります。Logging Analyticsは、OCIの「監視および管理」セクションの一部です。

  1. OCI Consoleのメイン・メニューから、「Observability & Management」→「Logging Analytics」→「Administration」に移動します。
  2. 左側の「リソース」で、「ログ・グループ」を選択し、「新規ログ・グループの作成」をクリックします。名前と説明を入力します(オプション)。ログ・グループが正しいコンパートメントにあることを確認してください。
  3.  
Observability & Management home page
図5: Observability and Managementの管理

 

create log group
図6: ログ・グループの作成

 

3. WAFサービス・ログをLogging Analyticsに送信するサービス・コネクタを作成します。

OCI WAFとOCI Logging Analyticsを設定したら、これら2つのOCIサービス間でデータ(ログ)を転送するためにサービス・コネクタが必要です。

  1. OCI Consoleのメイン・メニューから、「Observability & Management」→「ロギング」→「サービス・コネクタ」に移動します。
  2. 「サービス・コネクタの作成」をクリックします。
  3. 「名前」、「説明」を入力し、必要なコンパートメントを選択します。
  4. 「サービス・コネクタの構成」まで下にスクロールします。「Source」に「Logging」を選択します。「Target」で「Logging Analytics」を選択します。
  5. 「ソースの構成」まで次にスクロールします。ステップ1でWAFサービス・ログを有効にしたコンパートメントを、ログ・グループおよびログとともに選択します。
  6. 次は「ターゲットの構成」です。Logging Analyticsのログ・グループを作成したコンパートメントを選択します(ステップ2を参照)

最後に、「このサービス・コネクタがコンパートメント内のLogging Analyticsに書き込むことを許可するデフォルト・ポリシーの作成」の「作成」をクリックします

 

Now you have everything in place & your WAF service logs are being sent to OCI Logging Analytics! With the dashboards provided in this blog, you can take advantage of the features they provide and take a look at your traffic from different angles. Additionally, you can check which WAF rules are triggered the most, adjust protection capabilities based on summary and see potential malicious behavior with real-time feed. Lastly, not only WAF protection capabilities are monitored, but Access rules and rate limiting are monitored as well.  We strongly encourage to take the opportunity and test it out yourself, either with your current account or OCI free-tier.  Additional links -	Oracle Cloud Infrastructure Web Application Firewall (OCI WAF) -	Oracle Cloud Infrastructure Logging Analytics -	Oracle Cloud Infrastructure Free Tier
図7: O&Mサービス・コネクタのメニュー・パス

 

Create service connector
図8: サービス・コネクタの作成

 

demo connector
図9: サービス・ログ用のデモ・コネクタの作成

 

configure source
図10: ソース接続の構成

 

Configure target
図11: ターゲット接続の構成

 

create default policy
図12: このサービス・コネクタによるLAコンパートメントへの書込みを許可するデフォルト・ポリシーの作成

 

4. 事前定義済のWAFダッシュボードを使用します。

データを視覚化するには、いくつかの事前定義済ダッシュボードを確認します。このセットには、WAF Logging Analytics用の3つの事前作成済ダッシュボードが次のように含まれます:

  • WAFの概要
  • WAF保護ルール
  • WAFアクセス・ルールおよびレート制限

事前定義済ダッシュボードはどのようにインポートしますか。

  1. このzipファイルをローカルシステムに保存します。
  2. ZIPアーカイブの内容を抽出し、個々のファイルを開き、”compartment-id”: “COMPARTMENT_ID”のすべての出現箇所を検索し、”Compartment_ID”をコンパートメントocidに置き換えます。最後に、”compartment-id”: “ocid1.compartment.oc1..xxxxxxxxxx”のようになります。
  3. OCI CLIを開き、次を実行します。: 
    oci management-dashboard dashboard import --from-json file://WAF_Access_rule_and_Rate_limiting.json
    file:// は、ファイルが保存される場所のパスを表します。現在の端末がすでにJSONファイルがあるフォルダにある場合は、フルパスを指定する必要はありません。ファイル名を変更して、他の2つのJSONファイルについても同じ操作を行います。
  4. インポートがエラーなしで完了した場合、「Logging Analytics」→コンパートメントの「ダッシュボード」の下に3つのダッシュボードが表示されます。次のようになります。:
WAF Overview
図13: 「アクティビティ概要」ダッシュボード

 

protection rules
図14: WAF保護ルール

 

これですべてが準備され、WAFサービス・ログがOCI Logging Analyticsに送信されました。

このブログに用意されているダッシュボードを使用すると、提供される機能を利用して、異なる角度からトラフィックを確認できます。また、最もトリガーされたWAFルールを確認し、サマリーに基づいて保護機能を調整し、リアルタイム・フィードで潜在的な悪意のある動作を確認できます。最後に、WAF保護機能のみが監視されるだけでなく、アクセス・ルールやレート制限も監視されます。

現在のアカウントまたはOCI free-tierで、機会を獲得し、自分でテストすることをお薦めします。

追加リンク: