AWS - WAF Enum
AWS - WAF Enum
AWS WAF
AWS WAFは、WebアプリケーションやAPIをさまざまなWeb脅威から保護するために設計されたWebアプリケーションファイアウォールです。これにより、ユーザーはSQLインジェクションやクロスサイトスクリプティングなどの典型的な攻撃ベクトルを緩和するセキュリティルールを設定したり、カスタムフィルタリングルールを定義したりして、着信トラフィックを制御できます。
モニタリング基準(条件)
条件は、AWS WAFが監視する着信HTTP/HTTPSリクエストの要素を指定します。これにはXSS、地理的位置(GEO)、IPアドレス、サイズ制約、SQLインジェクション、パターン(文字列と正規表現の一致)が含まれます。国に基づいてCloudFrontレベルで制限されたリクエストはWAFに到達しないことに注意することが重要です。
各AWSアカウントは次のように構成できます:
各タイプごとに100の条件(ただし、正規表現の場合は10の条件のみ許可されますが、この制限は増やすことができます)。
100のルールと50のWeb ACL。
最大5つのレートベースのルール。
WAFがアプリケーションロードバランサーと実装された場合の1秒あたりのリクエスト数は10,000件。
ルールの構成
ルールは指定された条件を使用して作成されます。たとえば、ルールは、特定の2つの条件を満たす場合にリクエストをブロックするかもしれません。2つのタイプのルールがあります:
通常のルール:指定された条件に基づく標準ルール。
レートベースのルール:特定のIPアドレスからのリクエストを5分間でカウントします。ここでは、ユーザーがしきい値を定義し、IPからのリクエスト数がこの制限を5分以内に超えると、そのIPからの後続のリクエストはしきい値を下回るまでブロックされます。レートベースのルールの最小しきい値は2000件のリクエストです。
アクション
アクションは各ルールに割り当てられ、許可、ブロック、またはカウントのオプションがあります:
許可:リクエストは適切なCloudFrontディストリビューションまたはアプリケーションロードバランサーに転送されます。
ブロック:リクエストは即座に終了します。
カウント:ルールの条件を満たすリクエストを集計します。これは、ルールを許可またはブロックに設定する前に、ルールの正確性を確認するために役立ちます。
Web ACL内のいずれのルールにも一致しないリクエストは、デフォルトアクション(許可またはブロック)を実行します。Web ACL内で定義されたルールの実行順序は重要であり、通常、次のシーケンスに従います:
ホワイトリストされたIPを許可します。
ブラックリストされたIPをブロックします。
有害な署名に一致するリクエストをブロックします。
CloudWatch統合
AWS WAFは、監視のためにCloudWatchと統合されており、AllowedRequests、BlockedRequests、CountedRequests、PassedRequestsなどのメトリクスを提供します。これらのメトリクスはデフォルトで1分ごとに報告され、2週間の期間保持されます。
列挙
スコープはCLOUDFRONTにも適用できますが、CLOUDFRONTに関連しないWAFをチェックする場合はREGIONALを使用する必要があります。
ポストエクスプロイテーション / バイパス
攻撃者の視点から、このサービスは攻撃者がWAF保護やネットワーク露出を特定し、他のWebを侵害するのに役立つ可能性があります。
ただし、攻撃者はこのサービスを妨害して、WebがWAFによって保護されないようにすることにも興味を持つかもしれません。
TODO: PRs are welcome
参考文献
https://www.citrusconsulting.com/aws-web-application-firewall-waf/#:~:text=Conditions%20allow%20you%20to%20specify,user%20via%20a%20web%20application.
最終更新