AWS WAFの料金体系を紹介|利用するメリットや注意点とは?
AWS WAFは、アプリケーションのセキュリティを保護する役割があります。
本記事では、AWS WAFの活用方法や料金体系について解説します。
そのほか、AWS WAFを利用するメリットや注意点もご紹介するので、利用しようか迷っている場合はぜひ参考にしてください。
目次
AWS WAFとは?

AWS WAF(Web Application Firewall)は、AWS(Amazon Web Services)が提供するマネージド型のWebアプリケーションファイアウォールサービスです。AWS WAFは、Webアプリケーションに対する一般的なセキュリティ攻撃から保護するための仕組みを提供します。
AWS WAFは、HTTPやHTTPSのリクエストをフィルタリングし、不正なトラフィックや悪意のある攻撃から保護します。例えば、SQLインジェクションやクロスサイトスクリプティング(XSS)などの攻撃を防ぐために利用されるでしょう。
また、AWS WAFは他のAWSサービスと統合されており、Amazon CloudFront、Amazon API Gateway、AWS Application Load Balancerなどと連携が可能です。これにより、全体のアプリケーションスタックに対する保護が実現できます。
AWS WAFの活用方法

ここでは、AWS WAFの活用方法を3つご紹介します。
脅威からアプリケーションを保護
AWS WAFでは、Web ACLを使用してリクエストをフィルタリングします。IPアドレスをブラックリストやホワイトリストとして管理できるIPセットを使用して、特定のIPアドレスからのトラフィックを制御することが可能です。
AWS WAFは、条件付きリクエストをブロックできるため、不審な挙動や悪意のあるアクセスパターンを検知できます。例えば、異常に高いリクエストレートや特定のリファラーからのアクセスのブロックが可能です。
またAWS WAFは、CloudWatch Metricsを使用してパフォーマンスとセキュリティのメトリクスを監視できます。これにより、アプリケーションのセキュリティステータスや異常なアクティビティをリアルタイムで確認が可能です。
L7層へのDDoS攻撃対策
L7層の攻撃は、アプリケーションに対する大量の不正なトラフィックを生成し、サービスの正常な提供を妨げるものです。
AWS WAFでは、Web ACLを作成してセキュリティポリシーを適用しており、AWSが提供する事前構築済みのセキュリティルールや、独自に作成したカスタムルールが含まれます。
また、リクエストのレートリミットや一定期間内の同一IPからのリクエストの制限を設定して、異常なトラフィックを制御し、AWS WAFを使用してHTTP Flood攻撃から保護することが可能です。
攻撃者が特定のURIに対して大量のリクエストを送信する場合、AWS WAFでURIに対するアクセスを制限できます。特定のエンドポイントに対してのみトラフィックをブロックすることが可能です。
IPレピュテーションリストのインポート
AWS WAFでは、IPレピュテーションリストを活用して特定のIPアドレスやIPレンジに基づいてアクセスを制御することができます。IPレピュテーションリストとは、信頼性やセキュリティに関連する情報を提供するリストです。
まずは、信頼性やセキュリティに関連するIPアドレスやIPレンジのリストを取得する必要があります。これは、外部の情報源やサードパーティのサービスから取得できます。
取得したIPレピュテーションリストを、AWS WAFが理解できる形式に変更します。一般的には、CSV形式やテキスト形式が利用されるでしょう。
AWS WAFのコンソールやAWS CLIを使用して、先ほど変更したIPレピュテーションリストを元にIPセットを作成します。IPセットとは、ブラックリストとして設定されるIPアドレスの集合です。
作成したIPセットを、AWS WAFのWeb ACLに関連付けます。これにより、IPセット内のIPアドレスがブラックリストとして適用され、アクセスが拒否されるようになります。
必要に応じて、IPレピュテーションリストから新しい不正なIPアドレスを抽出し、IPセットに追加します。また、信頼性が確認されたIPアドレスを削除してホワイトリストにすることも可能です。
AWS WAFの料金体系

ここでは、AWS WAFの料金体系について3つの項目に分けて解説します。
Web ACL数
Web ACLは、AWS WAFで利用されるセキュリティポリシーの設定をまとめたもので、1つのWeb ACLが1つのアプリケーションやWebサイトに対応します。
Web ACL内で使用される構成要素やセキュリティルールの数や複雑さも料金に影響します。例えば、多くのカスタムルールや高度な条件が含まれている場合も反映されます。
また、AWS WAFの利用範囲によっても料金が変動します。AWS WAFはAmazon CloudFront、AWS Application Load Balancer、API Gatewayなどと統合できますが、統合先や使用頻度によっても費用が変わるので把握しておきましょう。
ルール数
AWS WAFのセキュリティポリシーは、複数のルールから構成され、Web ACLに適用されます。ルールはAWSが提供するものであり、利用する際には数に応じて料金が発生します。
ユーザーが作成したカスタムルールも、Web ACLに追加が可能です。カスタムルールも料金の対象となり、その数に応じて課金されるでしょう。
また、AWS WAFのルールはリクエストルールとレスポンスルールに分類されます。リクエストルールはリクエストをフィルタリングするためのものであり、レスポンスルールはサーバーからのレスポンスを操作するためのものです。これらのルールの合計数が料金に影響します。
リクエスト数
AWS WAFは、処理するリクエスト数に基づいて料金が発生します。これは、Web ACLに適用されたセキュリティポリシーに基づいてフィルタリングされるリクエストの総数のことです。
リクエスト数の課金は、各Web ACL単位で行われます。異なるWeb ACLに適用されたセキュリティポリシーに基づくリクエスト数が別々に計算されるでしょう。
また料金は、リクエストのピーク時の数に基づいているケースがあります。リクエスト数が急増する瞬間やトラフィックの急激な変動がある場合、料金に影響する可能性があるので把握しておきましょう。
AWS WAFを利用するメリット

ここでは、AWS WAFを利用するメリットを5つご紹介します。
アプリケーションを保護できる
AWS WAFは、アプリケーションに対する悪意あるトラフィックから保護するためのセキュリティ層を提供します。そのため、Webアプリケーションがさまざまな脅威や攻撃から安全に運用できるでしょう。
AWS WAFでは、Web ACLを使用してセキュリティポリシーを定義できます。Web ACLはリクエストを検査し、不正なトラフィックを検知し防ぐためのルールや条件を適用するので、アプリケーションへの不正なアクセスや攻撃の制御が可能です。
また、AWS WAFはAWSが提供するマネージドルールの活用により、AWSが定期的に更新する一般的な攻撃パターンに対するルールが利用でき、最新のセキュリティ脅威に対してアプリケーションが防御されます。
セキュリティを最適化できる
AWS WAFは、特定の脅威や攻撃パターンに対する保護を最適化するためのルールセットや条件を適用できます。そのため、アプリケーションが特定のセキュリティリスクに焦点を当て、必要な対策を最適化できるでしょう。
ユーザーは、独自のセキュリティルールを作成して適用することが可能です。アプリケーションの特定の要件やセキュリティポリシーに基づいて、カスタムルールを追加し、最適な保護を構築できます。
また、AWS WAFはリアルタイムでセキュリティイベントをモニタリングし、アクセスや攻撃のパターンを可視化します。そのため、アプリケーションのセキュリティ状態を把握し、対応の最適化を実現できるでしょう。
Webトラフィックを可視化できる
AWS WAFは、リアルタイムでWebトラフィックをモニタリングし、アプリケーションに対するリクエストのパターンやトラフィックの変動を可視化できます。その結果、アプリケーションへのアクセスパターンや攻撃の検知が可能となります。
また、セキュリティイベントのログを生成し、これをCloudWatch LogsなどのAWSサービスに転送が可能です。アプリケーションに対する悪意あるアクセスや攻撃のログを収集し・分析できます。
AWS WAFが適用されているWeb ACLにおいて、どのようなリクエストが許可され、どのようなリクエストがブロックされたかを分析が可能です。セキュリティポリシーの適用状況を把握したいときに便利です。
コストの最適化が期待できる
AWS WAFは、利用したリクエスト数やWeb ACLの数に応じて課金されますが、ユーザーは実際の使用状況に応じて柔軟にコストを管理できます。必要な機能だけを利用することで、最適なコスト構造を構築できる可能性があります。
AWS WAFが提供するAWS Managed Rulesは、AWSが提供する一般的な攻撃パターンに対するルールセットです。組み合わせて使用すると、専門のセキュリティエキスパートを雇う必要がなくなり、コストを削減できるでしょう。
また、AWS WAFは自動スケーリングが可能であり、トラフィックの増減に応じてリソースが柔軟にスケーリングされます。必要なときにだけリソースを使用し、アクティブな期間以外は最小限のコストで運用できるでしょう。
メンテナンスが簡単である
AWS WAFはマネージドサービスであり、AWSがインフラストラクチャの管理やメンテナンスを担当します。ユーザーはサービスの利用に集中でき、セキュリティ対策に必要な更新やパッチ適用などの作業がAWSによって自動的に行われます。
AWS WAFが提供するAWS Managed Rulesは、AWSが定期的に更新するので、新たな攻撃パターンやセキュリティの脅威に対しても常に最新の保護が実現できるでしょう。ユーザーは、手動でのルールの更新やメンテナンス作業が不要です。
AWS WAFは自動スケーリングが可能であり、トラフィックの増減に応じてリソースが自動的に拡張または縮小されます。そのため、アプリケーションのトラフィックパターンに合わせて効率的に対策が適用され、手動でのスケーリング作業が不要です。
AWS WAFを利用する時の注意点

AWS WAFのAWS Managed Rulesを利用する場合、それらのルールがアプリケーションに対して適切であるかを検証する必要があります。特定のルールが不要なトラフィックをブロックする可能性があるため、注意が必要です。
リクエスト検査のためのルールを設定する際には、正確で包括的な検査を行うことが大切です。適切な条件を指定しなければ、不正なリクエストを確実に検知できない恐れがあります。
また、複数のルールや条件を含む場合、Web ACLの構成や優先順位の設定が重要です。ルールの評価順序に留意し、意図した通りにアクションが適用されるように構成しましょう。
AWS WAFを設定する方法

ここでは、AWS WAFを設定する方法を3つのステップに分けてご紹介します。
ステップ1. マネジメントコンソールにログインする
AWSマネジメントコンソールにアクセスし、ログインします。
AWSアカウントのユーザー名とパスワードを入力してサインインしましょう。
ログインした後は、コンソールの検索バーに「WAF」と入力し、「AWS WAF」を選択します。
ステップ2. Webアクセスコントロールリストを作成する
AWS WAFでは、CloudFrontディストリビューションやALBなどのリソースに対するアクセス制御を行うために、Webアクセスコントロールリスト(Web ACL)を作成します。
「Web ACLs」を選択し「Create Web ACL」をクリックしたら、作成するWeb ACLに対して、Web ACL名や適用するリソースを選択しましょう。
例えば、CloudFrontの場合はグローバルに適用されますが、ALBの場合は特定のリージョンに適用します。
必要な設定を行い、「Create Web ACL」をクリックしてWeb ACLを作成してください。
ステップ3. ルールに条件を追加する
AWS WAFのルールでは、特定の条件に基づいてリクエストを許可、拒否、またはカウントします。
これらのルールをWeb ACLに追加する必要があります。
「Web ACLs」内で作成したWeb ACLを選択し、「Rules」セクションに移動しましょう。
「Add rule」をクリックし、必要に応じてIPアドレス制限やSQLインジェクション対策、クロスサイトスクリプティング(XSS)対策などの条件を設定します。
ルールの条件を設定した後、アクションを選択しましょう。
複数の条件を組み合わせて複雑なロジックを作成することも可能です。
ルールを追加し終わったら、設定を保存し、Web ACLに適用します。
AWS WAFを安くするコツ

ここでは、AWS WAFを安くするコツを2つご紹介します。
AWS Shieldを利用する
AWS Shieldは、DDoS攻撃に対する保護サービスです。
AWS Shield Standardは、DDoS攻撃に対して自動的に保護を提供するため、攻撃による負荷を減らせます。
これにより、WAFのルールで過度にリソースを消費するような攻撃トラフィックを減らすことができ、WAFの処理負荷の軽減が可能です。
さらに、AWS Shield Standardが提供するDDoS保護によって、AWS WAFがリクエストを処理する前に悪意のあるトラフィックがフィルタリングされ、WAFが本来の役割である正当なトラフィックの検査に集中できるようになります。
その結果、WAFのパフォーマンスが向上し、必要なリソースを削減できるでしょう。
無料利用枠を活用する
AWS Free Tierは、新規アカウントに対して提供される無料利用枠です。
無料利用枠では、月に1つのWebアクセスコントロールリストを作成できます。
基本的なWAFの設定を試せる上に、月間1,000件のリクエストが無料で処理されます。
少量のトラフィックを処理する場合は、この枠内でコストを無料で抑えることが可能です。
CloudFrontはAWSのCDNサービスで、AWS WAFと組み合わせることで、無料利用枠の適用を受けられます。
CloudFrontを使用すると、コンテンツ配信をグローバルに行うことができ、WAFによるトラフィックのセキュリティ保護を強化できるでしょう。
AWS WAFを安く利用するにはマネージドルールもおすすめ

マネージドルールを利用すると、すぐに利用可能なルールセットが使えます。
セキュリティリスクに即対応できるため、手動でルールを設定する時間とコストを節約できます。
特に、自分で複雑なセキュリティルールを一から作成する必要がなくなり、迅速にWebアプリケーションの保護が可能です。
マネージドルールの利用には、定額の料金が設定されていますが、独自にWAFルールを構築する場合に比べて、設定作業やメンテナンスコストを削減できます。
また、AWS WAFで発生する請求は、ルール数やリクエスト数に基づいて決まるため、標準化されたルールセットを利用することで無駄なリソース消費を防ぎ、コストの最適化が可能です。
そもそもマネージドルールとは?
AWS WAFのマネージドルールは、AWSが提供する事前定義されたセキュリティルールのセットです。
特定のセキュリティリスクに対する保護を自動で提供します。
マネージドルールは、AWS MarketplaceやAWS WAFのコンソールから簡単に適用でき、セキュリティ管理の負担を大幅に軽減が可能です。
マネージドルールの種類

ここでは、マネージドルールの種類を6つご紹介します。
ベースラインルールグループ
ベースラインルールグループは、一般的なセキュリティリスクに対する防御を目的としています。
Webアプリケーションのセキュリティの基本的なレベルの確保が可能です。
AWSが提供するベースラインルールグループには、さまざまな種類の攻撃に対応するルールが含まれています。
そのため、独自に細かい設定を行わずに、一般的な攻撃からアプリケーションを守れます。
また、一般的に軽量なルールセットとして設計されており、Webアプリケーションに与えるパフォーマンスへの影響が最小限に抑えられるように最適化されているのが特徴です。
これにより、セキュリティ対策を強化しつつ、システム全体のパフォーマンスへの負荷を最小化できます。
ユースケース固有のルールグループ
ユースケース固有のルールグループは、特定のアプリケーションやビジネスニーズに対応するために設計されたものです。
例えば、API、eコマースサイト、モバイルアプリケーションなど、特定の種類のWebサービスに特化したルールが含まれている場合が多いです。
一般的なセキュリティ脅威に加えて、特定のユースケース固有のリスクを想定してルールが作成されています。
例えば、eコマースサイトではカード情報の盗難や不正な取引に関するルールが含まれているケースなどが挙げられます。
一部のユースケース固有のルールグループは、特定の業界や規制に基づいて設計されているケースもあるでしょう。
IP評価ルールグループ
IP評価ルールグループは、リクエストが送信されたIPアドレスを評価し、攻撃や不正アクセスの可能性が高いIPアドレスからのリクエストを特定してブロックします。
悪意のあるIPアドレスやスパム発信元を迅速に識別し、アクセスの制限が可能です。
ルールグループには、既知の悪意のあるIPアドレスリストやブラックリストに基づくルールが含まれており、これらのIPからのアクセスを遮断します。
例えば、過去にスパム攻撃やDDoS攻撃を行ったことがあるIPアドレスや、ボットによる攻撃が頻繁に行われるIPアドレスなどが対象です。
さらに、IP評価ルールグループでは、特定のIPレンジや地理的な位置からのリクエストを制限することも可能です。
そのため、特定の国や地域からの攻撃をターゲットにした制限も設定できます。
AWS WAF Fraud Control Account Creation Fraud Prevention(ACFP)ルールグループ
ACFPルールグループは、特に新規アカウントの作成時に焦点を当てています。
このルールグループは、悪意のあるアカウント作成試行を識別し、不正なリクエストのブロックが可能です。
例えば、偽のユーザー情報を使ったアカウント作成や、複数のアカウントを作成して詐欺行為を行おうとする攻撃を特定します。
また、アカウント作成に関するリクエストデータを分析し、不正行為をリアルタイムで検出します。
例えば、異常なアカウント作成パターンや、既知の詐欺行為の兆候に基づいて該当するリクエストのブロックが可能です。
AWS WAF Fraud Controlアカウント乗っ取り防止(ATP)のルールグループ
ATPルールグループは、ユーザーアカウントの乗っ取りを試みる不正なログイン試行や不審な認証活動を検出し防止します。
例えば、同一のIPアドレスからの連続したログイン失敗や、急に異常な時間帯に行われたログイン試行などを特定し、それらのアクションを即時に防止が可能です。
ATPルールグループは、機械学習とデータ分析を活用して、ログイン試行に関する不正の兆候をリアルタイムで評価します。
その結果、攻撃者が利用する可能性がある新しい手法や技術に迅速に対応が可能です。
また、多層的な防御アプローチを採用しており、アカウント乗っ取りを試みる攻撃者をブロックするために、複数の検出メカニズムを組み合わせています。
これにより、単一のセキュリティ層に依存せずに、総合的な防御を実現します。
アカウント乗っ取りの試みをリアルタイムで監視し、不審なアクティビティが検出されるとすぐに警告を発するとともに、必要に応じてそのアクションのブロックが可能です。
この即時対応により、アカウント乗っ取りが成功する前にリスクを最小限に抑えられます。
AWS WAF Bot Controlルールグループ
Bot Controlルールグループは、正常なユーザーと自動化されたボットを区別し、不正なボットからのアクセスをブロックします。
ボットは一般的に、ユーザーエージェントやIPアドレス、リクエストパターンなどを元に識別されるでしょう。
また、このルールグループは、正常なトラフィックとボットトラフィックを区別するために、ボット特有のリクエストパターンやヘッダー情報を監視します。
例えば、ボットは通常、人間のようにページを遷移せず、一定の速度でリクエストを送ることが多いため、これらのパターンを元にボットの識別が可能です。
ボットはしばしば特定のIPアドレスから大量のリクエストを発行するため、このルールグループは異常なトラフィックのパターンを検出し、ボットのアクセスを制限します。
例えば、1秒間に大量のリクエストが送られている場合、それがボットによる攻撃である可能性が高いと判断されます。
まとめ
AWS WAFは、Webアプリケーションのセキュリティを向上させるためのマネージドサービスです。
料金はWeb ACL数、ルール数、リクエスト数に基づいており、必要な機能のみを使うことでコストの最適化につながります。
また、AWS WAFを利用すると、アプリケーションを保護しセキュリティを最適化するだけではなく、Webトラフィックを可視化できたり、メンテナンスが容易であったりとさまざまなメリットがあります。
ただし、利用する際はセキュリティポリシーの適切な設定やAWS Managed Rulesの検証が必要です。