Automated Security Response on AWS (ASR) v3 で強化されたフィルタリング機能を使ってみた
はじめに
みなさん Automated Security Response on AWS (ASR) を使っているでしょうか?
ASR は Security Hub の検出結果に対して自動修復する AWS ソリューションです。
マルチアカウント環境でセキュリティ対応を自動化するのに便利ですよね。ただ、「特定のアカウントだけ自動修復したい」「本番環境は除外したい」といった細かい制御は難しい部分がありました。
v3.0.0 でフィルタリング機能が大幅に強化されたので、どのような変更があったのかまとめます。v3 へのアップデート手順について以下を参照ください。
何が嬉しいのか
フィルタリング対象の拡大
v2 系ではアカウント ID によるフィルタリングのみでしたが、v3.0.0 では以下の 3 種類でフィルタリングできるようになりました。
| フィルター種類 | 用途 |
|---|---|
| アカウント ID | 特定の AWS アカウントを対象/除外 |
| 組織単位(OU)ID | 特定の OU 配下のアカウントを対象/除外 |
| リソースタグ | 特定のタグを持つリソースを対象/除外 |
「開発環境の OU だけ自動修復を有効にする」「Environment: Production タグが付いたリソースは除外する」といった運用が可能になります。
設定箇所の集約
以前は CloudFormation のスタックパラメータで管理していました。v3.0.0 では SSM パラメータストアの /ASR/Filters/ パス配下に一元化されています。
スタックの再デプロイなしに動的な設定変更ができるようになったのは嬉しいですね。
アーキテクチャの効率化
以前はコントロール ID ごとに EventBridge ルールが存在していました。v3.0.0 からは「Pre-Processor」Lambda 関数がイベントを一括処理する仕組みに変更されています。
SSM パラメータの設定に基づいてフィルタリングを行うため、ルール管理の複雑さが軽減されています。
大まかなフィルタリングの流れです。

設定手順
フィルタリングの設定は、Admin スタックを展開した管理者アカウントの SSM パラメータストアから行います。
SSM パラメータストアの確認
管理者アカウントのコンソールから Systems Manager の「パラメータストア」を開きます。/ASR/Filters/ パスに以下のパラメータが作成されています。

| パラメータ名 | 用途 |
|---|---|
AccountFilters |
対象アカウント ID のリスト |
AccountFilterMode |
アカウントフィルターのモード |
OUFilters |
対象 OU ID のリスト |
OUFilterMode |
OU フィルターのモード |
TagFilters |
対象タグのリスト |
TagFilterMode |
タグフィルターのモード |
フィルター値の設定
各 Filters パラメータに、対象となる ID やタグをカンマ区切りで入力します。
OUFiltersを使って特定の OU を対象としたい場合、/ASR/Filters/OUFiltersを特定の OU ID(ou-xxx-xxxxx)へ変更します。

フィルターモードの設定
各 FilterMode パラメータに、以下のいずれかの値を設定します。
| モード | 動作 |
|---|---|
Include |
指定した対象のみ修復する(ホワイトリスト) |
Exclude |
指定した対象を除外する(ブラックリスト) |
Disabled |
フィルタリングを無効にする(デフォルト) |
例えば、先ほどの/ASR/Filters/OUFiltersで設定した OU だけで自動修復を有効にしたい場合は以下のように設定します。
/ASR/Filters/OUFilterModeを Include へ変更します。

逆に指定した OU を除外対象にする場合はExcludeを設定してください。
動作確認
先ほど設定した OU 外で自動修復対象のリソースを作成し修復されないこと、対象の OU に移動させて修復されることを確認します。
EC2.2のコントロールを自動修復対象としています。

まず指定した OU 外でデフォルト VPC を作成し、修正されないことを確認します。
VPC 作成後、Security Hub CSPM で検知はされていますが、自動修復は行われませんでした。

デフォルト VPC を削除し、 OU を移動して、/ASR/Filters/OUFiltersで対象とした OU で再度デフォルト VPC を作成します。
(再作成するのは、Findings を新規で検知させて動作確認するためです)

無事自動修復が実行されたことを確認できました。
注意点
完全自動修復のみに適用される
このフィルタリング設定は「完全自動修復」にのみ適用されます。Security Hub CSPM の「カスタムアクション」や Web UI から手動で実行した修復には、フィルタリング設定は適用されません。
手動修復は引き続きすべてのリソースに対して実行できるので、意図しないリソースを修復しないよう注意が必要です。
設定前の確認
自動修復を有効化する前に、フィルタリングが意図した範囲をカバーしているか確認してください。設定ミスにより、修復対象外のリソースが自動修復される・もしくは修復対象外になる可能性があります。

また、例えば OU フィルターで Include を設定した場合で考えてみます。指定した OU に含まれないアカウントから生成された検出結果は、Pre-Processor によってすべてスキップされます。
デフォルト(Disabled)の状態では ASR が展開されている全アカウントが対象ですが、一度 Include に変更するとホワイトリスト運用となります。新しい OU を追加した場合などはパラメータの更新を忘れないようにしてください。
まとめ
ASR v3.0.0 のフィルタリング機能強化により、アカウント ID、OU、リソースタグの 3 種類でフィルタリングできるようになりました。
設定も SSM パラメータストアに集約され、スタックの再デプロイなしに動的な変更が可能です。マルチアカウント環境で ASR を運用している方は、ぜひ活用してみてください。
参考






