ルール、ルールグループ、Web ACL
一致ルールを組み合わせてデプロイ可能なポリシーにする方法を学びます。
「ルール、ルールグループ、Web ACL」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
構成要素
AWS WAFでは、保護を3つのレイヤーに分けて構成します。ルール、ルールグループ、web ACLです。ルールは1つの条件とアクション、ルールグループは関連するルールの集合、web ACLはリソースに関連付けてデプロイするコンテナであり、すべてをまとめる役割を持ちます。
ルールとは
ルールは、一致ステートメント(URIに対する文字列一致など)とアクション(許可、ブロック、カウント、CAPTCHA)を組み合わせたものです。ルールでは、AND、OR、NOTの論理演算子でステートメントを組み合わせることもできます。これにより、「信頼されたIPセットからのリクエストでない限り、このパスをブロックする」といった条件を表現できます。
ルールグループ
ルールグループは、複数のweb ACLに関連付けて再利用できるルールの集合です。グループには、AWSマネージド、Marketplaceでベンダーが提供するもの、カスタマーマネージドのものがあります。再利用することで、個々のルールを複製せずに、多数のアプリケーション間でポリシーを一貫させられます。
Web ACL
web ACL(アクセスコントロールリスト)は、CloudFrontディストリビューション、ALB、またはAPI Gatewayに関連付ける最上位のオブジェクトです。ルールとルールグループの順序付きリストに加えて、デフォルトアクションを含みます。web ACLに関連付けられたリソースだけが、実際にWAFによって保護されます。
優先度と順序
web ACL内のルールは優先度の順序で評価され、番号の小さいものから先に処理されます。評価を終了させるアクション(ブロックまたは許可)を持つ最初のルールが適用されます。カウントアクションでは評価が終了しないため、処理が続行されます。優先度の設定は重要です。先に広範なブロックを置くと、より具体的なルールが適用されなくなる可能性があります。
# Web ACL evaluation
Priority 0: IP allow-list -> Allow (terminates)
Priority 1: AWS managed SQLi -> Block
Priority 2: Rate limit -> BlockWeb ACLキャパシティユニット
どのルールでも終了アクションに到達しなかった場合、web ACLはデフォルトアクション(許可またはブロック)を適用します。各web ACLには、WCU(WAF Capacity Units)で測定される複雑さの予算もあり、デフォルトの最大値は1,500です。複雑なルールや大規模なルールグループほど多くのWCUを消費します。予算を超えた場合は、ルールを簡素化するか上限の引き上げを申請する必要があるため、複数のマネージドルールグループを組み合わせる際はキャパシティを計画してください。
スコープが重要
web ACLにはスコープがあります。CLOUDFRONT(グローバル。us-east-1で作成)またはREGIONAL(特定のリージョンにあるALB、API Gateway、AppSync向け)のいずれかです。REGIONALのweb ACLでCloudFrontを保護することはできないため、最初から正しいスコープでweb ACLを作成する必要があります。
連携のためのラベル
ルールはリクエストにラベルを追加でき、後続のルールがそのラベルを検査できます。マネージドルールグループがリクエストをボットの可能性が高いものとしてラベル付けし、カスタムルールがその後にブロックするかチャレンジするかを判断するといった使い方ができます。ラベルを使うと、検出ロジックを重複させずに、マネージドとカスタムのロジックを連携できます。
マネージドルールの上書き
マネージドルールグループ内では、個々のルールを上書きして、ブロックの代わりにカウントさせたり、ルール自体を除外したりできます。これにより、誤検知を引き起こすマネージドルールグループ全体を破棄することなく調整し、その他の保護機能を維持できます。
バージョン管理と再利用
マネージドルールグループはAWSによってバージョン管理されるため、更新によって動作が予告なく変わることはありません。特定のバージョンに固定することも、最新バージョンに追従することもできます。カスタマーマネージドルールグループを使えば、セキュリティチームがポリシーを一元管理し、単一の保守単位としてアプリケーションチーム間で共有できます。
組み合わせる
一般的なweb ACLでは、IP許可リスト、1つまたは2つのAWSマネージドルールグループ(コアルールセット、既知の悪意ある入力)、レートベースルール、いくつかのカスタムルールを連鎖させ、最後にデフォルトの許可を設定します。これらのレイヤーと優先度がどのように相互作用するかを理解することは、WAFを効果的に導入するうえで重要です。
クイックチェック
WAFの構造について理解度を確認しましょう。
まとめ
WAFでは、ルールをルールグループに、ルールグループをリソースに関連付けるweb ACLに組み込みます。ルールは一致ステートメントとアクションを組み合わせたもので、ルールグループは再利用でき、AWSマネージド、Marketplace提供、カスタムのいずれかです。web ACLは優先度の順序でルールを評価し、デフォルトアクションを適用します。また、WCUの上限があり、CLOUDFRONTまたはREGIONALのスコープを持ちます。ラベルとルール単位の上書きにより、マネージドとカスタムのロジックを連携できます。
よくある質問
「ルール、ルールグループ、Web ACL」レッスンは無料ですか?
はい。「ルール、ルールグループ、Web ACL」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「ルール、ルールグループ、Web ACL」で何を学びますか?
一致ルールを組み合わせてデプロイ可能なポリシーにする方法を学びます。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「ルール、ルールグループ、Web ACL」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- AWS WAFがリクエストを検査する仕組み
- ルール、ルールグループ、Web ACL
- マネージドルールとレート制限
- CloudFrontとALBへのWAFの関連付け