概要
AWS が提供している AWS Managed Rules for AWS WAF で、どんな攻撃を防御可能かを知りたい。
セキュリティ製品はレイヤーごとに防げる攻撃が違う。AWS の責任共有モデル と一緒に、どこをユーザ側で守っていかないといけないか理解する。
- WAF : アプリケーション(SQLi, XSS, DDoS など)、Webサーバも一部
- IPS(IDS) : TCP/HTTP、OS、Webサーバも一部
- FW : L3/L4
AWS WAF ルール
大きく3種類ある。今回見ていくのは 2 の AWS が提供するマネージドルール。
- ユーザが自分で定義する
- AWS が提供するマネージドルール (AWS Managed Rules for AWS WAF)
- サードパーティが提供するマネージドルール (v2 に適用可能なやつ)
- F5
- Imperva
- Fortinet
- Cyber Security Cloud
- GeoGuardなど
AWS Managed Rules for AWS WAF
AWS Managed Rules for AWS WAF は AWS が提供する AWS WAF 用のルール。
サードパーティ製マネージドルールと違いサブスクライブ料金はかからない。
今の所 AWS WAF v2 (new) の方にのみ提供している?
どんなルールがあるか
AWS Managed Rules for AWS WAF 一覧
現在 11 種類ある。「Anonymous IP List」は途中で増えたルールであるため、今後もルールは増えていくことが期待できる。
No | Rule | 説明 | capacity |
---|---|---|---|
1 | Admin protection | 公開された管理ページへの外部アクセスをブロックできるルールが含まれています。これは、サードパーティのソフトウェアを実行している場合や、悪意のあるアクターがアプリケーションへの管理アクセスを取得するリスクを軽減したい場合に役立ちます。 | 100 |
2 | Amazon IP reputation list | このグループには、Amazonの脅威インテリジェンスに基づくルールが含まれています。これは、ボットやその他の脅威に関連するソースをブロックする場合に役立ちます。 | 25 |
3 | Anonymous IP List | このグループには、視聴者IDの難読化を可能にするサービスからのリクエストをブロックできるルールが含まれています。これには、VPN、プロキシ、Torノード、ホスティングプロバイダーからのリクエストが含まれます。これは、アプリケーションからIDを隠そうとしている可能性があるビューアを除外する場合に役立ちます。 | 50 |
4 | Core rule set | Webアプリケーションに一般的に適用されるルールが含まれています。これにより、OWASPの出版物に記載されている脆弱性を含む、さまざまな脆弱性の悪用に対する保護が提供されます。 | 700 |
5 | Known bad inputs | 無効であることがわかっており、脆弱性の悪用または発見に関連付けられているリクエストパターンをブロックできるルールが含まれています。これにより、悪意のあるアクターが脆弱なアプリケーションを発見するリスクを軽減できます。 | 200 |
6 | Linux operating system | LFI攻撃など、Linux固有の脆弱性の悪用に関連するリクエストパターンをブロックするルールが含まれています。これにより、ファイルの内容を公開したり、攻撃者がアクセスすべきではないコードを実行したりする攻撃を防ぐことができます。 | 200 |
7 | PHP application | 安全でないPHP関数の注入など、PHPの使用に固有の脆弱性の悪用に関連するリクエストパターンをブロックするルールが含まれています。これは、攻撃者がコードまたはコマンドをリモートで実行することを可能にする悪用を防ぐのに役立ちます。 | 100 |
8 | POSIX operating system | LFI攻撃を含む、POSIX / POSIXのようなOSに固有の脆弱性の悪用に関連するリクエストパターンをブロックするルールが含まれています。これにより、ファイルの内容を公開したり、アクセスを許可しないコードを実行したりする攻撃を防ぐことができます。 | 100 |
9 | SQL database | SQLインジェクション攻撃など、SQLデータベースの悪用に関連するリクエストパターンをブロックできるルールが含まれています。これにより、不正なクエリのリモートインジェクションを防ぐことができます。 | 200 |
10 | Windows operating system | Windowsに固有の脆弱性(PowerShellコマンドなど)の悪用に関連するリクエストパターンをブロックするルールが含まれています。これにより、攻撃者が不正なコマンドを実行したり、悪意のあるコードを実行したりする悪用を防ぐことができます。 | 200 |
11 | WordPress application | WordPressアプリケーショングループには、WordPressサイト固有の脆弱性の悪用に関連するリクエストパターンをブロックするルールが含まれています。 | 100 |
例えば、 PHP を利用していない Web アプリケーションに No.7 のルールは不要であり、サーバが Linux の場合は No.10 のルールは不要。
要件に合わせて適用すべきルールを選択していく必要がある。
Core rule set
AWS Managed Rules のなかで特に Capacity が大きいのが「Core rule set」。
このルールは OWASP Top 10 で指摘されている脆弱性に対する防御を行ってくれるとのこと。
AWS で OWASP というと以下のホワイトペーパーが公開されている。
日本語記事だと以下2つが詳しい。
- 忙しい人のための Use AWS WAF to Mitigate OWASP’s Top 10 Web Application Vulnerabilities メモ
- AWSセキュリティホワイトペーパー「Use AWS WAF to Mitigate OWASP’s Top 10 Web Application Vulnerabilities」のご紹介
どこから設定する?
Web ACL を作成から、 Add rules の「Add managed rule groups」→ AWS managed rule groups から確認できる。
参考
[アップデート] AWS WAF向けAWS製のManaged Rulesが出ました
AWS Managed Rules for AWS WAF を構成するCloudFormationテンプレートを作ってみた
[アップデート] AWS Managed Rules for AWS WAF に匿名 IP リストのルールが追加されました
コメント