AWSマネージドルールは、AWSが提供しているAWS WAF専用のルールセット(シグネチャ)です。AWSマネージドルールをAWS WAFにアタッチするだけでルールの細かい設定を行う必要なく、AWS WAFを活用することができます。
では、AWSマネージドルールには具体的にどのようなルールが含まれているのか。そもそもマネージドルールとは何なのか。
この記事では、AWSマネージドルールの基本からルールの種類や内容までについてわかりやすく解説します。運用上の落とし穴とその対策も紹介するので、AWSマネージドルールの導入を検討していればぜひ最後までご覧ください。
目次
- AWSマネージドルールとは?
- AWSマネージドルールの種類とその内容
- コアルールセット(Core Rule Set、CRS)マネージドルールグループ
- 管理者保護(Admin Protection)マネージドルールグループ
- 既知の不正な入力(Known Bad Inputs)マネージドルールグループ
- SQLデータベース(SQL Database)マネージドルールグループ
- Linuxオペレーティングシステム(LINUX operating system)マネージドルールグループ
- POSIXオペレーティングシステム(POSIX Operating System)マネージドルールグループ
- Windowsオペレーティングシステム(Windows Operating System)マネージドルールグループ
- PHPアプリケーション(PHP Application)マネージドルールグループ
- WordPressアプリケーション(WordPress Application)マネージドルールグループ
- Amazon IPレピュテーションリスト(Amazon IP Reputation)マネージドルールグループ
- 匿名IPリスト(Anonymous IP List)マネージドルールグループ
- AWSマネージドルールの3つの落とし穴
- AWS WAFを導入するならWafCharmがおすすめ!
AWSマネージドルールとは?
AWSマネージドルールとは、AWS WAFで使用可能なAWSが提供しているルールセットのことです。AWSマネージドルールをAWS WAFに入れることで脆弱性を突く攻撃や望ましくないトラフィックからアプリケーションを守ることができます。
そもそもAWS WAFとは?
AWS WAFとは、AWSが提供している、AWS環境のWebアプリケーションを防御できるWAFです。ほかのWAFと同じく、SQLインジェクションやクロスサイトスクリプティング(XSS)などの脆弱性を突く攻撃からWebアプリケーションを守ることができます。
AWS WAFを使用するには、WAFのルールを設定する必要があります。ルールとは、過去に起きたりこれから起こると想定される攻撃のパターン、通信の手法、ウイルスなどのデータをまとめた定義ファイルです。
AWS WAFの力を発揮するために、自社に適したルールを設定する必要があります。なお、新しい攻撃でも防御できるようにルールを常に最新な状態に保たなければなりません。
ただし、ルールの設定や更新には高い専門性が求められますしとても煩雑な業務のため、対応が難しいと感じる企業も少なくありません。ここで生まれたのがマネージドルールです。
AWS WAFについてわかりやすくまとめたのでこちらからダウンロードしてください。
マネージドルールとは?
マネージドルールとは、AWS WAFで使用できるプリセットされたルールセットです。
ルールの詳細はベンダーのほうですでに調整されているので、自社側でルールの細かな設定を行う必要がありません。そのため、社内にセキュリティに詳しいエンジニアがいなくても、マネージドルールを利用することによってセキュリティレベルを担保することができます。
AWSが提供しているAWSマネージドルールに加えて複数のセキュリティベンダーもAWS WAFのマネージドルールを販売・提供しています。自社に適したマネージドルールを選定し購入することが可能です。
AWSマネージドルールの利用料金
AWSマネージドルールの利用料金は、AWS WAFの利用料金に含まれているので、基本無料で利用できます。
ただし、AWS WAF Bot Control ルールグループとAWS WAF Fraud Control アカウント乗っ取り防止(ATP)のルールグループを利用する場合、追加料金が発生するので要注意です。
詳しくはこちらの記事にご参照ください。
AWS WAF 料金体系について
AWSマネージドルールの種類とその内容
AWSマネージドルールにはOWASP Top 10に含まれた優先的に対応すべき脅威に対するルールを始め、さまざまな種類のルールがあります。
ここでは、AWSマネージドルールのルールグループについて、 AWSの公式情報の説明を元に解説します。
- ベースラインルールグループ
- コアルールセット(CRS)マネージドルールグループ
- 管理者保護マネージドルールグループ
- 既知の不正な入力マネージドルールグループ
- ユースケース固有のルールグループ
- SQL データベースマネージドルールグループ
- Linux オペレーティングシステムマネージドルールグループ
- POSIX オペレーティングシステムマネージドルールグループ
- Windows オペレーティングシステムマネージドルールグループ
- PHP アプリケーションマネージドルールグループ
- WordPress アプリケーションマネージドルールグループ
- IP レピュテーションルールグループ
- Amazon IP レピュテーションリストマネージドルールグループ
- 匿名IPリストマネージドルールグループ
なお、AWSマネージドルールにはAWS WAF Bot Control ルールグループとAWS WAF Fraud Control アカウント乗っ取り防止 (ATP) のルールグループが存在しています。ただし、利用するのに別途料金がかかってしまうため、ここでの説明は割愛します。
コアルールセット(Core Rule Set、CRS)マネージドルールグループ
コアルールセット(CRS)に含まれるルールは、一般的なWebアプリケーションに適用するルールです。
OWASP Top 10に含まれるリスクの高い脆弱性に関連するルールも含まれているので、CRSを入れることによって広い範囲の脆弱性からWebアプリケーションを保護できます。
管理者保護(Admin Protection)マネージドルールグループ
管理者保護(Admin Protection)マネージドルールグループには外部からのアクセスを遮断し管理ページを守るルールが含まれています。
このマネージドルールグループを適用することによって管理アカウントのアクセス権が第三者に乗っ取られるリスクを軽減できます。
既知の不正な入力(Known Bad Inputs)マネージドルールグループ
既知の不正な入力(Known Bad Inputs)マネージドルールグループには不正アクセスや脆弱性の悪用に関連する入力パターンを遮断するルールが含まれます。
このマネージドルールグループを利用することでWebアプリケーションの脆弱性によって攻撃されるリスクを減らすことができます。
SQLデータベース(SQL Database)マネージドルールグループ
SQLデータベース(SQL Database)マネージドルールグループにはSQLデータベースの悪用を防ぐルールが含まれています。
このマネージドルールグループを適用することによって、SQLインジェクションを初めとしたSQLデータベースに対する攻撃を防御することができます。
Linuxオペレーティングシステム(LINUX operating system)マネージドルールグループ
Linuxオペレーティングシステム(LINUX operating system)マネージドルールグループにはLinuxの脆弱性にまつわる攻撃を防げるルールが含まれています。
Linuxを利用している場合、こちらのマネージドルールグループを適用することをおすすめします。
POSIXオペレーティングシステム(POSIX Operating System)マネージドルールグループ
POSIXオペレーティングシステム(POSIX Operating System)マネージドルールグループにはPOSIXやPOSIXの準拠オペレーティングシステムの脆弱性に関連する攻撃を防御するルールが含まれています。
POSIXや、LinuxやmacOSなどのPOSIXに準拠するオペレーティングシステムを利用している場合、こちらのマネージドルールグループの適用がおすすめです。
Windowsオペレーティングシステム(Windows Operating System)マネージドルールグループ
Windowsオペレーティングシステム(Windows Operating System)マネージドルールグループにはWindowsの脆弱性の悪用を防止するルールが含まれています。
Windows環境で攻撃者による不正なコマンドやコードの実行を止めることができるので、Windowsを利用していればこちらのマネージドルールグループを使用すべきです。
PHPアプリケーション(PHP Application)マネージドルールグループ
PHPアプリケーション(PHP Application)マネージドルールグループにはPHP関数を悪用する不正アクセス、もしくはPHPの脆弱性を突く攻撃を遮断するルールが含まれています。
悪意のあるPHP関数の実行を封鎖してくれるので、サーバにPHPが使用される場合は、このマネージドルールグループを適用したほうが安心できます。
WordPressアプリケーション(WordPress Application)マネージドルールグループ
WordPressアプリケーション(WordPress Application)マネージドルールグループにはWordPressの脆弱性を悪用する不正アクセスを遮断するルールが含まれています。
CMS(コンテンツマネジメントシステム)としてWordPressを利用している場合、こちらのマネージドルールグループを適用することをおすすめします。
また、より高いレベルのセキュリティを維持するために、SQLデータベース(SQL Database)マネージドルールグループとPHPアプリケーション(PHP Application)マネージドルールグループも併せて導入すべきです。
Amazon IPレピュテーションリスト(Amazon IP Reputation)マネージドルールグループ
Amazon IPレピュテーションリスト(Amazon IP Reputation)マネージドルールグループには、Amazon内部脅威インテリジェンス(Amazon internal threat intelligence)に基づいて作成されたルールが含まれています。
ボットや既存の脅威のIPアドレスをブロックするので、Webアプリケーションをボットや悪意のある人から守りたいのであれば、このマネージドルールグループを入れることをおすすめします。
匿名IPリスト(Anonymous IP List)マネージドルールグループ
匿名IPリスト(Anonymous IP List)マネージドルールグループにはIPアドレスを始めとしたユーザーの身元を難読化できるサービスを利用したアクセスを遮断できるルールが含まれています。プロキシやVPNなどはそういったサービスに該当します。
このルールグループを適用することによって、自分の身元を隠そうとする不正アクセスを遮断することができます。
AWSマネージドルールの3つの落とし穴
AWS WAFにアタッチするだけでルールの設定が完了できる、とても便利なAWSマネージドルールですが、実は運用上に関する落とし穴もあります。
導入したあとに後悔がないように、AWSマネージドルールの注意点も事前に抑えておきましょう!
ルールのチューニングができない
AWSマネージドルールのセキュリティレベルを保つために、ルールの詳細がブラックボックス化され非公開となっています。そのため、ルールの細かい内容の確認や修正ができません。
個別の環境に合わせることができないことから、誤検知が発生しやすくなります。
誤検知した場合の工数負荷が高い
誤検知が発生した際の対応に多くの工数がかかるというのもAWSマネージドルールの注意点です。
誤検知の原因となるルールを特定し停止することは可能ですが、その結果、本来防ぎたい攻撃の防御ができなくなる恐れがあります。適切なセキュリティ対策を維持しつつ誤検知を回避するためには、慎重な検討と複雑な調整が必要です。
また、ルールをそのまま適用しながら誤検知を解消したい場合、Webアプリケーションの改修が必要となることがあります。このような改修は、開発チームの追加の工数が必要になり、プロジェクトのスケジュールやコストに影響を与える可能性があります。
固有の脆弱性への対応が難しい
AWSマネージドルールはすべてのユーザーが同じ内容のルールを利用する仕様となるので、個別の環境で発見した脆弱性に対応することが難しいです。
仮に、固有の脆弱性に対応したい場合、ユーザー自身がAWS WAFにカスタムルールを追加する必要があります。カスタムルールの作成に高い専門知識や追加のリソースがかかるので、運用の手間が増えてしまいます。
AWS WAFを導入するならWafCharmがおすすめ!
AWSマネージドルールは、無料で導入しやすくセキュリティレベルの向上もできる一方、ルールの内容がブラックボックス化されているため、ルールのチューニングが難しいというデメリットがあります。また、誤検知が発生した場合の対応もとても大変です。
さらに、固有の脆弱性に対応したい場合には、カスタムルールを作成する必要があるので、その分の工数が逆に増えてしまいます。
AWS WAFのセキュリティレベルを高めながら運用工数を抑えたい場合、WAFの自動運用サービス『WafCharm』を利用することがおすすめです。
WafCharmはAWS WAFを始めとしたパブリッククラウドWAFの自動運用サービスです。導入することによって、WafCharmがそれぞれのAWS環境に合わせた最適なルールを自動で作成します。仮に誤検知やトラブルが発生したとしてもWafCharmの日本語サポートが追加のルールを作成し適用してくれるので安心です。
もちろん、WafCharmもAWSマネージドルールと同じように簡単に導入することができます!WafCharmについて詳しく知りたい方はぜひこちらよりサービス資料をダウンロードしてください。