【目次】

  1. 1. ご利用開始までの流れ
  2. 2. 事前準備
  3. 3. アカウント登録
  4. 4. WAF policy Config と Web Site Config の登録
  5. 5. 動作確認
  6. 6. CRS の無効化

1. ご利用開始までの流れ

WafCharm Azure 版は Microsoft Azure が提供する WAF のカスタム規則を
自動で適用、運用するサービスです。以下に大まかな利用開始の流れを示します。

※ 本説明ではトライアルプランでの WafCharm の利用を想定します。
初めてのご利用では非本番用の Azure リソースの利用を推奨します。
本番環境でご利用いただく際は、有償プランへの変更をお願いします。
ただし Azure 版の WafCharm は 2020年11月時点では有償プランを
利用することはできませんのでご注意ください。


 

2. 事前準備

ご利用をスムーズに開始するために、WafCharm を利用するために必要となる Azure リソースについて事前に確認しましょう。
 

必要となる Azure リソース
・Azure サブスクリプション
・Application Gateway WAF v2
・WAF policy
・Log Analytics
・アプリケーション(WafCharm にアクセス権を渡すためのリソース)

細かい各リソースの設定方法については WafCharm Azure 版 設定項目について にて詳しく説明しています。本ブログでは利用開始までの大きな流れだけを確認します。

 

3. アカウント登録

 

3.1 アカウント登録フォーム (https://dashboard.wafcharm.com/sign_up) にアクセスし、メールアドレスとパスワードでアカウント登録を実施します。

 

3.2 登録ボタンを押すと、ご登録したメールアドレス宛に wafcharm@cscloud.co.jp より、確認メールが届きます。メール本文の 「確認する」 のリンクをクリックします。

 

3.3 「お名前」、「会社名」、「国」、「郵便番号」、「住所」、「電話番号」、「プラットフォーム (Microsoft Azure)」 を入力します。さらに、サービス利用規約(約款) と重要事項説明(プラン説明事項) に同意した上で、「アカウントを登録してすすむ」 をクリックします。

登録が完了するとトライアルプランで利用可能になります。

 

4. プラン契約のお申込み

4.1 「WAF Policy Config」 をクリックします。さらに左上の Add ボタンを押します。

 

4.2 WAF policy に関する情報を入力します。設定情報に関しては、参考ブログ: WafCharm Azure 版 設定項目について

にて詳しく説明しています。入力後はページ下部の Save ボタンで登録を完了します。

 

4.3 「Web Site Config」をクリックして、 WAF Policy Config と同様に設定を追加します。設定情報に関しては、参考ブログ: WafCharm Azure 版 設定項目について

にて詳しく説明しています。

 

 

5.動作確認

 
WAF Policy Config と Web Site Config の登録まで完了すると、WafCharm によるカスタム規則の自動適用が開始されます。
まずは、ご登録した WAF Policy に WafCharm のカスタム規則が投入されているか確認します。

5.1 Azure portal より 「アプリケーション ゲートウェイ」 をクリックし、そこから対象の Application Gateway を選択します。

 

5.2 WAF ポリシー を選択し、カスタム規則を選択します。

5.3 カスタム規則の中に、”WafCharm“から始まる名前の規則が存在していれば、WafCharmの初期シグネチャが適用されています。

 

5.4 WafCharm 管理画面より、「Account」 をクリックします。下記の赤枠で囲まれているログ集計の“今月”の数値がカウントアップしていくことを確認します。
※ 1時間ほど待ってもログのカウントアップがされない場合には、WafCharm Azure 版 設定項目について を参照してください。

 

5.5 (1日程度、十分に時間が経過したら) 最後にブラックリスト運用がなされているか確認します。
赤で囲まれた WafCharmBlackListRule2 と WafCharmBlackListRule3 が存在していればブラックリスト運用が開始されたことがわかります。WafCharmBlackListRule2 は攻撃を受けていなければ存在していない場合があります。

 

これで、ほぼ全ての登録と確認が完了です。

WafCharm が初期カスタム規則を適用したことと、ログを元にしたブラックリスト運用を開始したことが確認できました。

6. CRS の無効化

WafCharm の動作が確認できた段階で、次に CRS (コアルールセット)の無効化処理に入ります。こちらは無効化していただけない場合、誤検知などの対応は WafCharm 側でご協力できかねます。CRS を無効化してもセキュリティ上問題がないカスタム規則を提供しておりますのでご安心ください。

6.1 Azure Portal にログインして Azure Cloud Shell を起動します。
上部にある Azure Cloud Shell のアイコンを選択してください。

 

6.2 Azure Cloud Shell で Azure CLI を利用してコマンドを入力します。
Azure Cloud Shell を起動するとコマンドの入力が可能となります。

 

6.3 対象バージョンのコマンドを1行ずつ実行します。
policy-name で指定する、resource-group で指定する は環境に合わせて変更してください。

 

 
OWASP_2.2.9 の場合

az network application-gateway waf-policy managed-rule rule-set update --group-name General --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 2.2.9 --rules 200004
az network application-gateway waf-policy managed-rule rule-set update --group-name crs_20_protocol_violations --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 2.2.9 --rules 950107 950108 950109 950116 950801 958230 958231 958291 958295 960000 960011 960012 960016 960018 960020 960022 960901 960902 960911 960912 960914 960915 981227
az network application-gateway waf-policy managed-rule rule-set update --group-name crs_21_protocol_anomalies --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 2.2.9 --rules 960006 960007 960008 960009 960015 960017 960021 960904
az network application-gateway waf-policy managed-rule rule-set update --group-name crs_23_request_limits --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 2.2.9 --rules 960208 960209 960335 960341 960342 960343
az network application-gateway waf-policy managed-rule rule-set update --group-name crs_30_http_policy --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 2.2.9 --rules 960010 960032 960034 960035 960038
az network application-gateway waf-policy managed-rule rule-set update --group-name crs_35_bad_robots --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 2.2.9 --rules 990002 990012 990901 990902
az network application-gateway waf-policy managed-rule rule-set update --group-name crs_40_generic_attacks --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 2.2.9 --rules 950000 950002 950003 950005 950006 950008 950009 950010 950011 950012 950018 950019 950117 950118 950119 950120 950907 950910 950911 958976 958977 959151 960024 981133 981134
az network application-gateway waf-policy managed-rule rule-set update --group-name crs_41_sql_injection_attacks --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 2.2.9 --rules 950001 950007 950901 950908 959070 959071 959072 959073 981172 981173 981231 981240 981241 981242 981243 981244 981245 981246 981247 981248 981249 981250 981251 981252 981253 981254 981255 981256 981257 981260 981270 981272 981276 981277 981300 981301 981302 981303 981304 981305 981306 981307 981308 981309 981310 981311 981312 981313 981314 981315 981316 981317 981318 981319 981320
az network application-gateway waf-policy managed-rule rule-set update --group-name crs_41_xss_attacks --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 2.2.9 --rules 958000 958001 958002 958003 958004 958005 958006 958007 958008 958009 958010 958011 958012 958013 958016 958017 958018 958019 958020 958022 958023 958024 958025 958026 958027 958028 958030 958031 958032 958033 958034 958036 958037 958038 958039 958040 958041 958045 958046 958047 958049 958051 958052 958054 958056 958057 958059 958404 958405 958406 958407 958408 958409 958410 958411 958412 958413 958414 958415 958416 958417 958418 958419 958420 958421 958422 958423 973300 973301 973302 973303 973304 973305 973306 973307 973308 973309 973310 973311 973312 973313 973314 973315 973316 973317 973318 973319 973320 973321 973322 973323 973324 973325 973326 973327 973328 973329 973330 973331 973332 973333 973334 973335 973336 973337 973338 973344 973345 973346 973347 973348 981018 981136
az network application-gateway waf-policy managed-rule rule-set update --group-name crs_42_tight_security --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 2.2.9 --rules 950103
az network application-gateway waf-policy managed-rule rule-set update --group-name crs_45_trojans --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 2.2.9 --rules 950110 950921
az network application-gateway waf-policy managed-rule rule-set update --group-name crs_49_inbound_blocking --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 2.2.9 --rules 981175 981176

 
OWASP_3.0 の場合

az network application-gateway waf-policy managed-rule rule-set update --group-name General --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.0 --rules 200004
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-911-METHOD-ENFORCEMENT --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.0 --rules 911100
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-913-SCANNER-DETECTION --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.0 --rules 913100 913101 913102 913110 913120
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-920-PROTOCOL-ENFORCEMENT --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.0 --rules 920100 920120 920130 920140 920160 920170 920180 920190 920200 920201 920202 920210 920220 920230 920240 920250 920260 920270 920271 920272 920273 920274 920280 920290 920300 920310 920311 920320 920330 920340 920350 920420 920430 920440 920450 920460
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-921-PROTOCOL-ATTACK --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.0 --rules 921100 921110 921120 921130 921140 921150 921151 921160 921170 921180
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-930-APPLICATION-ATTACK-LFI --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.0 --rules 930100 930110 930120 930130
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-931-APPLICATION-ATTACK-RFI --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.0 --rules 931100 931110 931120 931130
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-932-APPLICATION-ATTACK-RCE --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.0 --rules 932100 932105 932110 932115 932120 932130 932140 932150 932160 932170 932171
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-933-APPLICATION-ATTACK-PHP --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.0 --rules 933100 933110 933111 933120 933130 933131 933140 933150 933151 933160 933161 933170 933180
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-941-APPLICATION-ATTACK-XSS --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.0 --rules 941100 941110 941120 941130 941140 941150 941160 941170 941180 941190 941200 941210 941220 941230 941240 941250 941260 941270 941280 941290 941300 941310 941320 941330 941340 941350
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-942-APPLICATION-ATTACK-SQLI --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.0 --rules 942100 942110 942120 942130 942140 942150 942160 942170 942180 942190 942200 942210 942220 942230 942240 942250 942251 942260 942270 942280 942290 942300 942310 942320 942330 942340 942350 942360 942370 942380 942390 942400 942410 942420 942421 942430 942431 942432 942440 942450 942460
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.0 --rules 943100 943110 943120

 

OWASP_3.1 の場合

az network application-gateway waf-policy managed-rule rule-set update --group-name General --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.1 --rules 200004
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-911-METHOD-ENFORCEMENT --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.1 --rules 911100
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-913-SCANNER-DETECTION --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.1 --rules 913100 913101 913102 913110 913120
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-920-PROTOCOL-ENFORCEMENT --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.1 --rules 920100 920120 920121 920130 920140 920160 920170 920171 920180 920190 920200 920201 920202 920210 920220 920230 920240 920250 920260 920270 920271 920272 920273 920274 920280 920290 920300 920310 920311 920320 920330 920340 920341 920350 920420 920430 920440 920450 920460 920470 920480
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-921-PROTOCOL-ATTACK --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.1 --rules 921110 921120 921130 921140 921150 921151 921160 921170 921180
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-930-APPLICATION-ATTACK-LFI --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.1 --rules 930100 930110 930120 930130
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-931-APPLICATION-ATTACK-RFI --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.1 --rules 931100 931110 931120 931130
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-932-APPLICATION-ATTACK-RCE --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.1 --rules 932100 932105 932106 932110 932115 932120 932130 932140 932150 932160 932170 932171 932180 932190
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-933-APPLICATION-ATTACK-PHP --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.1 --rules 933100 933110 933111 933120 933130 933131 933140 933150 933151 933160 933161 933170 933180 933190
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-941-APPLICATION-ATTACK-XSS --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.1 --rules 941100 941101 941110 941120 941130 941140 941150 941160 941170 941180 941190 941200 941210 941220 941230 941240 941250 941260 941270 941280 941290 941300 941310 941320 941330 941340 941350
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-942-APPLICATION-ATTACK-SQLI --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.1 --rules 942100 942110 942120 942130 942140 942150 942160 942170 942180 942190 942200 942210 942220 942230 942240 942250 942251 942260 942270 942280 942290 942300 942310 942320 942330 942340 942350 942360 942361 942370 942380 942390 942400 942410 942420 942421 942430 942431 942432 942440 942450 942460 942470 942480 942490
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.1 --rules 943100 943110 943120
az network application-gateway waf-policy managed-rule rule-set update --group-name REQUEST-944-APPLICATION-ATTACK-JAVA --policy-name <YOUR WAF POLICY> --resource-group <YOUR RESOURCE GROUP> --type OWASP --version 3.1 --rules 944120 944130 944200

 

 

6.4 ご利用のバージョンのコマンドをすべて実施したあとに、「管理されている
ルール」 がすべて無効となっていることを確認してください。


 
※ 「管理されているルール」 から手動での変更も可能ですが、数が多いことと、チェックボックスの選択をミスすると選択中のチェックボックスの値が初期化される仕様のため骨が折れます。どうしても手動で実施する場合は、Mac であれば 「command ⌘」 を押しながら、Windows であれば 「Ctrl 」 を押しながら連続で選択すると選択ミスによる手戻りなく複数ルールのオンオフが行えます。

以上で利用開始のための設定は完了です。