【Security Hub修復手順】[WAF.10] WAFV2 ウェブ ACL には、1 つ以上のルールまたはルールグループが必要です

2023.03.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは!AWS事業本部のみなみです。

皆さん、お使いのAWS環境のセキュリティチェックはしていますか?

当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。

本記事の対象コントロール

[WAF.10] WAFV2 ウェブ ACL には、1 つ以上のルールまたはルールグループが必要です

[WAF.10] A WAFv2 web ACL should have at least one rule or rule group

前提条件

本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。
AWS Security Hubの詳細についてはこちらのブログをご覧ください。

対象コントロールの説明

AWS WAFとはAWSが提供するWAF(Web Application Firewall)です。
AWS WAF V2ではウェブACLに関連付けされたAWSサービスが保護対象となり、ウェブACLの配下に作成したルールやルールグループが保護対象リソースのアクセス制御の評価基準となります。

本コントロールでは、AWS WAF V2のウェブACLに1つ以上のルールまたはルールグループが含まれていない場合に検知されます。この状況では、リクエストを検査せずWAFとしての機能しません。また、ルールが設定されていないウェブACLであっても、ウェブACL1個単位で課金されるため不要なウェブACLは削除して下さい。

修復手順

1 対象のリソースの確認方法

  1. AWSマネージメントコンソールにログインし、AWS 基礎セキュリティのベストプラクティス v1.0.0にて、「WAF.10」を検索します。タイトルを選択します。
  2. リソースの欄から失敗しているリソースを確認できます。

2 ステークホルダーに確認

ステークホルダー(リソースの作成者や管理している部署などの関係者)に以下を確認します。

  • ウェブACLにルールやルールグループを1つも設定しないのは意図したものか?
    • YESの場合
    • ルールが設定されていないウェブACLであっても、ウェブACL1個単位で課金が発生されます。それでもなお残しておく場合は対象のFindingsを抑制済みに変更し、以降の検知対応から除外します
    • NOの場合
    • 「3 ルールの追加の前」に進みます。

3. ルールの追加の前に

AWS WAFを導入する際は誤検知による正常なリクエストのブロックなどサービスの影響を減らす為、いくつかのステップを踏む必要があります。

1. ルールの設定

AWS WAFでは独自のルールやルールグループを作成する以外にAWSがメンテナンスしている一般的なアプリケーションの脆弱性保護するマネージドルールグループが数種類提供されています。
またその他にもAWS MarketPlaceで購入可能なセキュリティベンダーによって管理されているルールもございます。
OSや言語、システムの種類などワークロードに合わせて選択することが重要です。

ぜひ一度以下のブログをご一読ください。

2. カウントモードで運用する

ルールやルールグループを設定する際に、ルールアクションというルールで定義した条件と一致した場合にリクエストをどのように処理するか、を指定するパラメータを設定する必要があります。
ルールアクションには以下の4つがあります。

  • カウント(COUNT)
  • 許可(ALLOW)
  • ブロック(BLOCK)
  • CAPTCHA

ルールの設定がリクエストをブロックする設定になっている場合、誤検知による正常なリクエストのブロックが発生する可能性があります。 その為、まずはリクエストをブロックしない状態(=カウントモード)で運用を開始します。

カウントモードでは、リクエストのブロックは行いませんが、ブロックされるリクエストがあった場合にログにカウントを行います。

しばらくテスト動作させた後に、ログを分析しカウントされているリクエストがないか確認します。 カウントされているリクエストがある場合は、ルールの修正もしくは特定のルールは利用しない方針で進めて下さい。

3. ブロックモードへの切り替え

正常なアクセスがすべてカウントされないようになったら、ブロックモードへ切り替えます。

4. ルールの追加

本ブログでは例としてAWSマネージドルールグループの一つであり、一般的なWebアプリケーションに適用されるルールグループのCore Rule Setをカウントモードで設定してみます。

  1. AWS WAFのサービスページに移動し、ルールグループを割り当てるウェブACLの詳細画面に進みます。

  2. 「Rules」タブを選択し、「Add rules」から「Add managed rule groups」を選択します。

  3. マネージドルールグループが一覧表示されるので、「Core Rule Set」にチェックを入れます。また、ルールアクションをカウントモードにする為に「Edit」に進みます。

  4. 「Override all rule actions」で「Override to Count」を選択することで全てのルールをカウントモードにすることが出来ます。

  5. 最後に「Save」をクリックして保存します。

  6. ルールグループが追加されていれば設定完了となります。

最後に

今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。

コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!

最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。

以上、みなみでした!