この記事のポイント
- Azure WAFは、Application Gateway、Front Door、CDNと統合可能なWebアプリケーション保護ツール
- OWASPルールセットに基づくマネージドルールとカスタムルールを組み合わせて保護を実現
- 検知モードと防止モードの2つの動作モードをサポートし、段階的な導入が可能
- WAFポリシーにより、グローバル、サイトごと、URIごとの柔軟な設定が可能
- Azure ポータルやARMテンプレートを使用した簡単な導入と、地域別・グローバルの料金体系を提供
監修者プロフィール
坂本 将磨
Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。
Webアプリケーションのセキュリティ確保が重要性を増す中、Azure Web Application Firewall (WAF)は効果的な保護を提供するソリューションとして注目されています。本記事では、Azure WAFの基本概念から高度な利用方法まで、包括的に解説します。Azure Application Gateway、Azure Front Door、Azure CDNとの統合機能、OWASPルールセットに基づくマネージドルールとカスタムルールの組み合わせ、検知モードと防止モードの2つの動作モードなど、WAFの主要機能を詳しく紹介します。また、WAFポリシーの設定方法、Azure ポータルやARMテンプレートを使用した導入手順、検知モードでの動作確認と誤検知の調整プロセス、さらに地域料金とグローバル料金を含む料金体系についても解説します。Webアプリケーションのセキュリティ強化を目指す開発者やIT管理者にとって、本記事はAzure WAFの可能性と活用法を理解する上で重要な指針となるでしょう。
目次
Azure Application Gateway、Azure Front Door、Azure CDNなどのサービスと統合可能
OWASPのルールセットに基づくマネージドルールと、カスタムルールの組み合わせで保護
Azure WAFとは
Azure Web Application Firewall (WAF) は、Webアプリケーションを保護するためのクラウドベースのセキュリティツールです。
SQLインジェクションやクロスサイトスクリプティングといった一般的な攻撃からWebサイトを守るだけでなく、アプリケーション側に特別なセキュリティ対策を組み込む必要がありません。また、WAFは常に最新のセキュリティ情報に基づいて自動的に更新されるため、新たな脅威に対しても高いセキュリティを維持できます。
WAF画面
Webアプリケーションの外側で攻撃を防ぐバリアのような役割を果たしてくれるWAFについてこの記事でご紹介します。
Azure WAFの特徴
まず最初に、Azure WAFの主要な特徴について説明しましょう。
Azure Application Gateway、Azure Front Door、Azure CDNなどのサービスと統合可能
Azure WAFは、さまざまなAzureサービスと組み合わせて使うことで、Webアプリケーションを強力に保護することができます。
-
Azure Application Gateway と組み合わせると、オンプレミスやAzure上で動いているWebアプリケーションを守ることができます。
-
Azure Front Door と統合することで、世界中に分散したアプリケーションに対して、入り口で一元的にセキュリティを確保できます。
Azure Front Doorについては、こちらもご覧ください。
【関連記事】
➡️ Azure Front Doorとは?料金体系や主要機能、利用手順を徹底解説 -
Azure CDN と組み合わせれば、、Web アプリケーションやコンテンツをインターネットユーザーに配信する際のセキュリティが強化されます。
OWASPのルールセットに基づくマネージドルールと、カスタムルールの組み合わせで保護
Azure WAFは、Open Web Application Security Project (OWASP) が定義するCore Rule Set (CRS) に基づくマネージドルールを提供しており、一般的なWeb攻撃からの保護を行います。こうしたマネージドルールは、基本的なセキュリティ対策として自動的に適用されるため、設定が簡単です。
-
OWASP Core Rule Set (CRS)とは?
OWASP(Open Web Application Security Project)という組織が定義した、一般的なWeb攻撃からWebアプリケーションを守るための基本的なルールのセットです。これには、SQLインジェクションやクロスサイトスクリプティングといった、よく知られた攻撃を防ぐルールが含まれています。 -
マネージドルール
ユーザーが自分で詳細な設定をする必要がなく、自動的に管理・更新されるセキュリティルールのことです。このルールにより常に最新の脅威に対応でき、設定の手間を省けます。
さらに、企業やアプリケーションの特性に合わせてカスタムルールを作成することも可能で、特定のセキュリティニーズに対応した独自の保護設定を追加できます。
マネージドルールとカスタムルールを組み合わせることで、一般的な攻撃からの防御に加えて、柔軟で包括的なセキュリティ対策を実現することができます。
検知モードと防止モードの2つの動作モードをサポート
Azure WAFには、検知モードと防止モードの2つの動作モードがあります。
-
検知モード:
- 悪意のあるトラフィックを検出して記録するだけで、実際にはブロックしません。
- このモードを使って、WAFがどのように動作するか確認し、間違った検知(誤検知)がないかを調整することができます。
-
防止モード:
- 悪意のあるトラフィックを検出し、実際にブロックします。
- 実際の攻撃からアプリケーションを守るためのモードです。
通常、まず検知モードで十分にテストと調整を行い、問題がないことを確認してから防止モードに切り替えることが望ましいでしょう。
Azure WAFポリシー
Azure WAFポリシーは、WAF がどのようにWebトラフィックを監視し、保護するかを設定するルールの集まりのことです。ポリシーを設定することで、WAFがどのように攻撃を検知・防止するか、またどのトラフィックをブロックまたは許可するかを制御できます。
以下では、Azure WAFポリシーの概要と特徴についてご説明します。
WAFの設定と構成を含むポリシーベースの管理
WAFは、ポリシーベースの管理モデル(特定のルールや設定(ポリシー)をまとめて定義し、それを複数のリソースや環境に適用することで、効率的に管理・制御する方法)を採用しているため、WAFの設定を一元的に管理し、複数のリソースに同じポリシーを適用することが可能です。
WAFポリシーの主な要素は、以下のとおりです。
-
ルールセット: Webアプリケーションを保護するための基本的なセキュリティルール(例: SQLインジェクションやクロスサイトスクリプティングの対策)。
-
カスタムルール: 組織やアプリケーションの特定のニーズに合わせて作成する独自のルール。
-
除外設定: 特定のリクエストや部分に対してWAFの適用を除外する設定。
-
動作モード: 検知モードまたは防止モードの設定。
グローバル、サイトごと、URIごとのポリシー適用が可能
Azure WAFポリシーは、さまざまな範囲で設定することができ、Webアプリケーションのセキュリティを柔軟に管理することができます。
ポリシーの適用範囲は次のとおりです。
-
グローバルポリシー:
- すべてのWebアプリケーションに共通のセキュリティ設定を適用できます。
例:会社全体のWebアプリを同じセキュリティルールで保護したいとき。
-
特定のサイトやアプリケーション用のポリシー:
- それぞれのWebサイトやアプリケーションに個別のポリシーを作成できます。
例:特定のWebアプリだけに特別なセキュリティ対策が必要なとき。
-
特定のURIやパスへのポリシー:
- サイト全体ではなく、特定のページや機能(URIやパス)だけにポリシーを適用できます。
例:ログインページや管理ページに対してのみ、強力なセキュリティを設定する場合。
除外、カスタムルール、マネージドルールなどをポリシーで定義
WAFポリシーでは、Webアプリケーションを保護するために、以下のようなルールをポリシーで定義できます。
-
除外ルール: 特定のリクエストをWAFの検査から除外する設定です。
-
カスタムルール: 自分でルールを作成し、組織特有のセキュリティニーズに対応できます。
-
マネージドルールの管理: マネージドルールを有効/無効にしたり、特定のルールを調整することが可能です。
Azure WAFの導入と設定
では、ここからAzure WAFの導入と設定の流れについてご説明します。AzureポータルまたはARMテンプレートを使って、簡単にAzure WAFを導入することができます。
Azure ポータルやARMテンプレートを使用した簡単な導入方法
Azureポータルでの導入手順
WAFはAzure Application Gateway、Azure Front Doorなどに適用することが可能なのでそれぞれのサービスによって手順が異なります。
ここでは、WAFポリシーをAzure Front Doorに適用する場合について解説します。
Azure Application Gatewayに適用する場合については、こちらをご参照ください。
前提条件:
Azure Front Doorインスタンスまたは Azure Front Door Standard または Premium プロファイルを作成します。
Azure Front Doorについての手順詳細は、こちらの記事もご覧ください。
関連記事
➡️ Azure Front Doorとは?料金体系や主要機能、利用手順を徹底解説
ステップ1:Azureポータルにサインイン:
Azureポータルにアクセスし、Azureアカウントでサインインします。
Azureポータル画面
前提準備として、Azureアカウントの作成を行う必要があります。
関連記事
➡️ Azure Portalとは?操作方法やメリットをわかりやすく解説
ステップ2:WAFポリシーを作成:
-
リソースの作成をクリック。
リソースの作成ボタン -
①検索バーに「WAF」と入力して、②WAFを選び、③「作成」ボタンをクリックします。
検索画面
- 作成画面(基本タブ)が現れるので、以下の項目を入力します。
基本タブ
設定 | 値 |
---|---|
次に対するポリシー | [グローバル WAF (フロント ドア)] を選択します。 |
Front Door のレベル | クラシック、Standard、Premium の SKU の中から選択します。 |
サブスクリプション | Azure サブスクリプションを選択します。 |
リソース グループ | Azure Front Door のリソース グループ名を選択します。 |
ポリシー名 | WAF ポリシーの一意の名前を入力します。 |
ポリシーの状態 | [有効] に設定します。 |
ポリシーのモード | [検出] がおすすめです。 |
- 「管理されているルール」タブに移動し、マネージドルールの設定をします。
管理されているルールタブ
「Microsoft_DefaultRuleSet」などの事前設定されたマネージドルールを適用することで、SQLインジェクションやXSS(クロスサイトスクリプティング)など一般的な攻撃に対して保護を設定できます。
- カスタムルールの設定(必要に応じて)
カスタムルールを追加するには、「カスタムルール」タブから「ルールの追加」をクリックします。
カスタムルールタブ
特定のIPアドレスやURLパターンなどを基にした独自のセキュリティルールを作成できます。
- 関連付け
[関連付け] タブを選択し、①[フロント ドア プロファイルを関連付ける] を選択します。すると入力画面が現れるので、②以下の事項を入力し、[追加] を選択します。
関連付けタブ
設定 | 値 |
---|---|
フロント ドア プロファイル | Azure Front Door プロファイルの名前を選択します。 |
ドメイン | WAF ポリシーを関連付けるドメインを選択し、[追加] を選択します。 |
- 画面下の[確認と作成]ボタンを押し、確認後、[作成] をクリックする。
確認と作成ボタン
以上の手順はARMテンプレートでの導入も可能です。
詳細は、こちらをご覧ください。
検知モードでの動作確認と誤検知の調整
ステップ1:検知モードの設定:
WAFポリシー作成時、上記Azure ポータルやARMテンプレートを使用した簡単な導入の手順に従って検出モードを選択します。このモードでは、攻撃を検出してログに記録するだけで、ブロックは行いません。
ステップ2:動作確認:
WAF のトラフィックに関する詳細なログを確認するには、Azure Front Door または Application Gateway の診断ログ や Azure MonitorやLog Analytics などを使う必要があります。
こちらは、それぞれの診断ログについてのリンクです:
Azure Monitorについてはこちらをご覧ください。
【関連記事】
Azure Monitorとは?導入目的やメリット、料金体系を解説
ステップ3:誤検知の調整:
誤検知が見つかった場合は、カスタムルールを調整したりして、正当なトラフィックがブロックされないようにします。
カスタムルールを追加するには、作成した WAF ポリシーの設定画面に移動し、①左メニューから「カスタム ルール」タブに移動、②カスタム ルールの追加 ボタンをクリック、③必要事項を記入して、作成ボタンをクリックします。
カスタムルールの追加画面
防止モードへの移行とログの監視
1. 防止モードに切り替え:
- 検知モードでのテストと調整が完了したら、WAFポリシーの設定を防止モードに変更しましょう。
Azureポータルで、作成済みのWAFポリシーの設定画面に移動します。その後、「ポリシーモード」を「防止モード」に変更してください。
モードの変更ボタン
防止モードでは、検出した攻撃を実際にブロックするようになります。
2. ログの監視:
-
防止モードに移行後も、定期的にWAFのログを監視し、ブロックされたトラフィックや誤検知の有無を確認してください。
-
必要に応じて、カスタムルールや除外設定を追加して、Webアプリケーションに適したセキュリティ設定を保ちます。
Azure WAFの料金体系
ここからはAzure WAFの料金体系について説明します。料金体系には、地域料金とグローバル料金があります。
地域料金
地域料金とは、特定のAzureリージョン(例えば、日本東や米国西部)にデプロイされる場合の料金です。
利用するゲートウェイのバージョンによって、料金体系が異なります。
Application Gateway v2の場合:
- 固定料金と容量ユニット料金に基づいて課金され、ゲートウェイが動作している時間と処理するリクエスト量に応じて料金が発生します。
項目 | 料金 |
---|---|
固定料金 | ¥80.6394/ゲートウェイ時間 |
容量ユニット料金 | ¥2.0811/容量ユニット時間 |
- データ転送料金は受信が無料で、送信には別途料金がかかります。
- パフォーマンス強化や自動スケーリングなど、v1と比較して高機能な特長があります。
Application Gateway v1の場合:
- ゲートウェイ稼働時間に応じて、MサイズとLサイズで料金が異なります。
サイズ | 料金 |
---|---|
Mサイズ | ¥20.3940/ゲートウェイ時間 (~¥14,887.589/月) |
Lサイズ | ¥72.5119/ゲートウェイ時間 (~¥52,933.649/月) |
- データ処理料金は、サイズごとに異なり、特にMサイズとLサイズでは、一定量のデータまでは無料です。
データ処理 | 料金 |
---|---|
Mサイズ 最初の10TB/月 | 無料 |
Mサイズ 10TB超/月 | ¥1.0117/GB |
Lサイズ 最初の40TB/月 | 無料 |
Lサイズ 40TB超/月 | ¥0.5059/GB |
- 受信データ転送は無料ですが、送信データ転送は課金されます。
データ転送 | 料金 |
---|---|
受信データ | 無料 |
送信データ | Standardのデータ転送レートで課金 |
グローバル料金
グローバル料金とは、世界中に広がるアプリケーションを保護するための料金で、Azure Front Doorなどのサービスと組み合わせて、グローバルに分散したトラフィックの保護に適しています。
-
Azure Front Door Premiumでは、WAFの機能は追加料金なしで含まれており、広範なセキュリティ対策が可能です。
→Azure Front Door Premiumの料金詳細はこちら -
クラシック版では、固定月額料金と要求ベースの処理料金が発生します。
月額固定料金
項目 | 料金 |
---|---|
ポリシー | 1 か月あたり ¥722.5751 |
アドオンの料金
項目 | 料金 |
---|---|
カスタム規則 | 1 か月あたり ¥144.5151 |
処理された要求 | 要求 100 万回あたり ¥86.7091 |
マネージド ルールセット
項目 | 料金 |
---|---|
既定のルールセット | 1 か月あたり ¥2,890.3001 |
処理された要求 | 要求 100 万回あたり ¥144.5151 |
WAFの料金体系の詳細については、こちらをご覧ください。
まとめ
Azure Web Application Firewall (WAF) について、特徴・ポリシー・導入と設定・料金体系をご紹介しました。WAFは、Webアプリケーションを既知の脆弱性を悪用した攻撃から保護するための強力なクラウドベースのツールです。
ぜひ、WAFを導入することで、Webアプリケーションのセキュリティを強化し、組織の重要な資産を保護するために役立ててください。
この記事が、皆様のお役に立てたなら幸いです。