Azure Application GatewayでWAF対策をしてみる 監視編

スポンサーリンク

Application GatewayでWAFを検知する仕組みを導入する時に気になるのがWAFの監視の方法です。WAFの監視方法についてはLog Analiticsを利用することで簡単に設定することができます。その方法について記載していきます。
手順としてはLog Analiticsの作成をしてからApplicaiton Gatewayの診断設定を構築します。その後、Log Analiticsの設定を行って情報の可視化を行います。

※この記事は2019年6月24日時点の情報になります。

Log Analiticsの作成

Log Analiticsの作成方法は次の通りです。
まずはLog Analiticsを作成してワークスペースを 作成します。AzureのすべてのサービスからLog Analiticsを選択して作成しましょう。Log Analiticsを作成したら、上記の図のようにワークスペースを作成してください。価格レベルはFreeにしていますのでログの保持期間は7日間になります。
作成をしたらApplicaiton Gatewayの診断設定を行います。

診断設定

Applicaiton Gatewayの診断設定画面から診断設定を追加します。

診断設定には3種類ありますがとりあえずストレージアカウントへのアーカイブとLog Analiticsへの送信を設定します。ストレージアカウントは任意のものに設定してください。Log Analiticsへの送信では先ほど作成したワークススペースを選択します。
LOGとMETRICはすべてチェックをいれます。リテンション期間は任意の日数にしてください。0を入れれば永続的にログが保管されます。
診断設定を行ったら次にLog Analitics側の設定を行います。先ほど作成したワークスペースに移動してください。

 OMSの設定

先述で作成したLog Analiticsのワークスペースで「ワークスペースの概要」を選択します。

概要のページに遷移するので追加ボタンを押下しMarketPlace画面に移動して検索テキストボックスに「Applicaiton Gateway Analitics」と入力します。

上記のように表示されたら作成ボタンを押下してApplication Gateway Analiticsをワークスペースに追加します。

ワークスペースに追加するとApplication Gatewayのログ情報を可視化してみることができます。これはあらかじめ用意されていたテンプレートを適応した形になります。残念ながらここにはWAFの集計情報がないので個別で作成する必要があります。上記メニューの「Logs」からカスタムログの作成を行います。

WAFの検知情報を取得するためにカスタムログを作成します。ここではKustoというQueryを利用して情報の収集を行います。
クエリフィールドに次のKustoクエリを入力して実行してください。前提としてペネトレーションテストを実施した後とします。でないとログ情報がないためです。

AzureDiagnostics
| where ruleSetType_s == “OWASP_CRS”
| summarize count() by ruleId_s

実行が成功すれば絞り込まれた情報が表示されます。グラフの項目でいろんなグラフに変換して表示を切り替えてみましょう。因みに上の図ではドーナツグラフを利用しています。
ここに表示されているWAFの情報はCRS(コアルールセット)という規則に沿った情報が表示されています。ルールセットのIDで表示されているので実際の内容が何かはわかりませんので下記のサイトの情報を参照にしてください。因みにOWASPのバージョンによってCRSが違うので注意が必要です。

Kustoについては英語ですが下記の情報を参考にしてください

最後にこの情報をAzure Dashboardに表示する設定を行いましょう。

Azure Dashboardに移動して共有Dashboardを作成します。既存のDashboardを共有にしてもいいですし、新しく作成したDashbarodを共有化するでも問題ありません。
共有Dashbarodを作成したらカスタムログの画面に遷移してクエリフィールドにKustoを記述して実行し右上にある「固定」ボタンを押下します。ここの固定機能は共有Dashbarodじゃないと利用できないので先に共有Dashbarodを作成しておく必要があります。

記述したKustoで集計した画面が共有Dashbarodに表示されるのでわざわざワークスペースまで移動しなくても最新情報を閲覧することができます。
見てわかるように色合いは微妙ですが、この表示枠でKustoクエリの編集も可能なので結構便利だったりします。

全三回にわたって記述してきたApplication GatewayによるWAFの設定についてですが、これで環境構築・設定・テスト・監視の一気通貫に学ぶことができたと思います。WAFは仕事で求められることが多い機能なので知っといて損はありません。読んでいただけた皆さんの一助になれば幸いです。

コメント