AWS WAF
AWS WAFは、Amazon API Gateway
、Amazon CloudFront
、Application 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のメンバーである必要 がある。