AWS WAF(1)WAFの概要

AWS WAF

AWS WAFは、Amazon API GatewayAmazon CloudFrontApplication Load Balancer に転送される HTTP および HTTPS リクエストをモニタリングできるWAF。

  • 指定したリクエスト 以外の全てのリクエストを許可する
  • 指定したリクエスト 以外の全てのリクエストをブロックする
  • 指定したプロパティに一致するリクエストを カウントする

ことができる。これらを設定する際には、

  • リクエストの発生元の IP アドレス
  • リクエスト送信元の
  • リクエストヘッダーの値
  • リクエストに含まれる 文字列
  • リクエストの 長さ
  • 悪意のある 可能性がある SQLコード の有無
  • 悪意のある 可能性があるスクリプトの有無

などを条件として指定できる。また、 DDoS攻撃の影響を最小限に抑えることが可能な AWS Shield と組み合わせて使用することもでき、これらのサービスを簡単に管理可能な AWS Firewall Manager が用意されている。WAFは、ルールの複雑性が加味された Web ACl Capacity Unit 単位で課金される。

CloudFrontと併用する際には、WAFが返却したレスポンスに応じてカスタムエラーページを表示 したり、 CloudFrontの地理的ブロッキング機能と同時に使用する ことができる。

ACLとルール

Web ACLは、表示された リスト順に評価 され、ルールに一致するリクエストを 許可 , ブロック , カウント することができる。また、どのルールにも一致しないリクエストをどのように処理するかを定める デフォルトアクション を指定することができる。

WEB ACLに追加可能なルールセットである、ルールグループ を規定することができ、あらかじめAWSやベンダーが作成した、マネージドルールグループ を使用/購入することもできる。ルールグループにはデフォルトアクションが設定されておらず複数のWEB ACLに同一のルールグループを適用することができる。

グループ名 WCU 内容 利用シーンと効果
Admin protection 100 公開されている管理ページへの外部アクセスをブロックするためのルール サードパーティーのソフトウェアを実行している場合や、悪意のあるアクターがアプリケーションへの管理アクセスを得るリスクを軽減したい場合
Amazon IP reputation list 25 ボットやその他の脅威に関連付けられている IP アドレスをブロック ボットを軽減したい場合
Core rule set 700 ウェブアプリケーションに一般的に適用可能なルール
Known bad inputs 200 脆弱性の悪用または発見に関連するリクエストパターンをブロックするルール 悪意のあるアクターが脆弱なアプリケーションを発見するリスクを軽減
Linux operating system 200 Linux 固有の脆弱性の悪用に関連するリクエストパターンをブロック 攻撃者がアクセスしてはならないファイルの内容を公開したり、コードを実行したりする攻撃を防ぐ
PHP application 100 安全でない PHP 関数のインジェクションなど、PHP プログラミング言語の使用に固有の脆弱性の悪用に関連するリクエストパターンをブロックするルール 攻撃者が許可されていないコードまたはコマンドをリモートで実行できる脆弱性の悪用を防ぐ
POSIX operating system 100 POSIX および POSIX と同等のオペレーティングシステムに固有の脆弱性の悪用に関連するリクエストパターンをブロックするルール アクセスしてはならないファイルの内容を公開したり、コードを実行したりする攻撃を防ぐ
SQL database 200 SQL Database ルールグループには、SQL インジェクション攻撃などの SQL データベースの悪用に関連するリクエストパターンをブロックするルール 不正なクエリのリモートインジェクションを防ぐ
Windows operating system 200 PowerShell コマンドのリモート実行など、Windows 固有の脆弱性の悪用に関連するリクエストパターンをブロックするルール 悪意のあるコードを実行したりする脆弱性の悪用を防ぐ
WordPress application 100 WordPress サイト固有の脆弱性の悪用に関連するリクエストパターンをブロックするルール

ロギング

ログ記録を有効化することで、WEB ACLで分析されるトラフィックの詳細情報を取得することができる。ログ記録を有効化すると Kinesis Firehose経由で指定した場所にログが保存される

また、CloudWatchアラームで特定のメトリクスをモニタリング することができるほか、CloudTrailによるアクションレコードの保存にも対応している。

FireWall Manager

FireWall Managerを用いることで、AWS WAF Classic ルール、AWS Shield アドバンスド 保護、 Amazon VPC セキュリティグループ を有効化することができ、これにより組織全体の保護を行ったり、リソースの頻繁な追加に対応し、組織全体のDDoS攻撃を一元的に監視することができる。 FireWall Managerを使用するためには、AWS Organizationのメンバーである必要 がある。