[アップデート]Amazon CloudFront のコンソール上からワンクリックで、AWS WAFを作成し適用できるようになりました。

[アップデート]Amazon CloudFront のコンソール上からワンクリックで、AWS WAFを作成し適用できるようになりました。

Clock Icon2023.05.11

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

はじめ

題名通り、CloudFront のコンソール上でワンクリックで、AWS WAFを作成し適用できるようになりました。

今までは、WAFを自身で作成後、CloudFront のコンソール上で適用していましたが、今回のアップデートで、CloudFrontのコンソール上でWAFを作成できるようになったため、より手間が減りますね。

CloudFrontのコンソール上でどのような設定でWAFが作成できるのか確認しました。

CloudFrontを作成する

CloudFrontのディストリビューションを作成します。

WAFの有効/無効が選択できるようになっていますね。

日本語に変換してみます。

WAFの有効/無効を選択できることと、モニターモード(=カウントモード)が選べるのみで、AWSマネージドルールは、選択できないようです。

含まれるセキュリティ保護は、以下の3つのようです

・ Web アプリケーションで最も一般的な脆弱性から保護します。
・ アプリケーションの脆弱性を発見する悪意のある攻撃者から保護します。
・ Amazon 内部の脅威インテリジェンスに基づいて、潜在的な脅威から IP アドレスをブロックします。

また、他のサービスではあまり見ないですが、リクエスト数によるWAFの見積もり金額が分かるようです。

リクエスト数を1000/月にすると見積もり金額が$8.00/月のため、WAFの作成で5$かかることを考えると、ルールは3つ適用されていると推測できますね。

カウントモードを適用し、ディストリビューションを作成します。

WAFを確認する

ディストリビューションを作成後、WAFを確認してみます。

「CreatedByCloudFront-xxxxxxx」という名前で作成されています。

やはりルールは、3つでした。

一般的なアプリケーションで確実に設定するであろうルールが適用されていますね。

  • AWS-AWSManagedRulesAmazonIpReputationList
    • ボットやその他の脅威に関連付けられている IP アドレスのリクエストをブロック
  • AWS-AWSManagedRulesCommonRuleSet
    • リスクが高く一般的に発生する脆弱性を含む、さまざまな脆弱性の悪用に対する保護
  • AWS-AWSManagedRulesKnownBadInputsRuleSet
    • 脆弱性の悪用または発見に関連するリクエストパターンをブロックする

ルールに関して詳しくは、下記のドキュメントをご参照ください。

ディストリビューション作成時に設定したカウントモードが反映されており、カウントモードがオーバーライドされていることを確認できました。

CloudFrontを編集する

先程作成したディストリビューションを編集し、WAFを有効から無効にしてみます。

無効にします。

ディストリビューションでWAFを無効にしても、WAF自体は残ることを確認できました。(追記:2024年10月時点ではWAFは削除されることが確認できました。)

ただし、既存のCloudFrontのディストリビューションから、編集でWAFを無効から有効しようとしましたが、[変更を保存]をクリックしても反応せずページ遷移もしませんでした。

そのため、現時点では作成済みのディストリビューションにおいて、編集でWAFを有効にすることは確認できませんでした(追記:2024年10月時点では有効化できるようになっておりました。)

最後に

CloudFrontのコンソール上からワンクリックでWAFを作成し適用できるアップデートでした。

WAFのリクエストによる見積もり金額が確認できるのは、他のサービスだとあまり見ることがなかった機能なので、驚きました。

ただし、WAFのルールは、ご自身のアプリケーションによってルールを追加する必要が出てくると思いますので、修正しましょう。

欲を言えば、WAFルールの選択やWAFの名前が指定できるとよいかなと思いました。。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.