AWS WAFが保護してくれるもの
WAFは「Web Application Firewall」の略でウェブアプリケーションの脆弱性を悪用した攻撃などからウェブアプリケーションを保護するサービスで、 OSI参照モデルの「アプリケーション層(L7)」にあたるHTTP/HTTPSを対象としています。
具体的には以下のような攻撃を対象としています。
・HTTP floods(DDoSの一種)
・パスワードリスト攻撃
・SQLインジェクション
・クロスサイトスクリプティング(XSS)
・クロスサイトリクエストフォージェリ(CSRF)
・悪意のあるボット(クローラーやスクレーパーなど)
・RFI (Remote File Inclusion)/LFI (Local File Inclusion)
・Application Exploits
似たようなサービスで「AWS Shield」がありますがこちらはDDoSに特化したサービスで、保護するレイヤーも異なりL3/L4が対象となります。
対応するAWSサービス
以下のAWSサービスにデプロイすることが可能です。(2022年7月時点)
・Application Load Balancer
・Amazon CloudFront
・Amazon API Gateway(REST API)
・AppSync(GraphQL API)
AWS WAFのコンポーネント
基本的なコンポーネントは「Rule」と「Web ACL」です。
「Rule」ではクエリ文字列やIPアドレスなどの条件と、それらに一致した場合のアクションを定義します。「Rule」はグルーピング化することも可能です。
サービスへの適応は「Web ACL」単位で行います。「Web ACL」に適応したい「Rule」に優先度をつけて設定します。
「Default Web ACL Action」では指定したルールのいずれにも一致しない場合の動作を規定します。例えばホワイトリスト形式で許可を与えていきたい場合などはデフォルトアクションで全てのアクションを拒否した上で、許可するルールを作成していきます。
料金
正確な最新の情報は公式ページで確認お願いします。
AWS WAF の料金
AWS WAFの料金は以下3点に対して課金されます。
・作成したWeb ACLの数
・WEb ACL ごとに追加するルールの数
・受信するウェブリクエストの数
またルールについてはマーケットプレイスで購入することも可能で、その場合は上記に加えてサブスクリプションの料金が必要となります。
ログ出力
ログは以下のサービスに出力することが出来ます。
・Amazon CloudWatch Logs
・Amazon Simple Storage Service
・Amazon Kinesis Data Firehose
また、保存時にフィルタリングすることも可能です。
AWS WAF が、ログフィルタリングのサポートを追加
保存したログはAmazon AthenaやS3 Selectで検索することが出来ます。
以上