WAFの概念をまとめてみた【AWS】

AWS

こんにちは。かじです。今回はWAFの各概念について、まとめたいと思います。

AWS WAFでは下記の用語を押さえておく必要があります。

1.ルール

WAFがHTTPリクエストを検査し、許可/拒否を判断する基準となるものがルールです。ルールには主にマネージドルールとカスタムルールの2種類あります。

マネージドルール

マネージドルールは、あらかじめAWSがまとめてくれているルールになります。

Webアプリケーションで頻繁に起こる攻撃への防御をまとめたルールやPHPの脆弱性に対する攻撃への防御をまとめたルールなどです。

マネージドルールはの一覧は下記を参照ください。

AWS マネージドルールルールグループリスト - AWS WAF、 AWS Firewall Manager、および AWS Shield Advanced
AWS 使用可能なマネージドルールルールグループのリスト。

カスタムルール

続いてはカスタムルールになります。

簡単に説明すると、利用者が好みで作成することのできるWAFルールです。

「HTTPリクエストに〇〇のデータが含まれていたら」とか「同一のIPから〇〇くらいアクセスが来たら」などWAFの基準を自分で定めることのできるルールになります。

どのアクセスをブロックするか明確になっている必要があります。

また、カスタムルールはマネージドルールに比べると、処理がシンプルであるため、後ほど説明するWCUが低いのも特徴です。

Web ACL

Web ACLは、WAFのルールの集まりです。ALBやCloudfrontには、このWeb ACL単位で適用します。

例えば、WordPressサーバーにてきようするのでであれば、PHPの脆弱性対策である、PHP アプリケーションマネージドルールグループとWordPressの脆弱性対策であるWordPress アプリケーションマネージドルールグループを適用したいとします。この場合は、Web ACLに両ルールグループを追加し、これをALBにアタッチします。

ここまではそんなに難しいことはなく、じゃあ、これでWAFにどんどんルールを追加したらええやんと思うかもしれませんが、そうはいきません。

なぜなら、WCUという概念が存在するからです。

WCU

WCUはWeb ACL キャパシティユニットの略です。一つのWeb ACL当たり設定できるルールの上限のようなものです。

取り敢えず、なんでもかんでもWAFルールを追加していくのは、ユーザーにとってはいいかもしれませんが、AWSとしては処理が増えるので、負荷がかかってしまいます。そのため、WCUという上限を設けているのです。

ルールにはそれぞれの処理の複雑さに応じて、WCUポイントが設定されています。

PHP アプリケーションマネージドルールグループ、WordPress アプリケーションマネージドルールグループだと100、カスタムルールだと1〜10程というような感じです。

WCUは1つのWeb ACLあたり1500を超えると追加料金がかかり5000が最大となっています。

WCUを考慮しつつ適切なルールを適用するために基本的なセキュリティの知識を持って、何に対処したいかをはっきりさせることが大切になります。

NLBにアタッチすることはできない

WAFはNLBに対して適用することは出来ません。その理由については、NLBが負荷分散を行っているのは、ネットワークのレイヤ4のトランスポート層であるのに対して、WAFで防御しているのはレイヤ7のアプリケーション層であるためです。

WAFをNLBにアタッチしたところで、取り扱うネットワークレイヤーが異なるため、攻撃を防御できません。

そういった時に使用するのはAWS Shieldになります。AWS Shieldはレイヤ3およびレイヤ4の攻撃に対して防御をしてくれるサービスになり、有料版のAdvancedと無料版のStandardがあります。必要に応じて選定するのが良いかと思います。

今回はここまでとなります。最後まで閲覧くださりありがとうございました。

タイトルとURLをコピーしました