今回は、Amazon GuardDutyをAWS Organizationsと連携させる時の初期セットアップ手順について説明します。

Amazon GuardDutyはAWS CloudTrailなどのセキュリティ関連のAWSサービスのデータを分析して、通常と異なる振る舞いを検知するサービスです。Amazon GuardDutyはAWS Organizationsと連携させることでAWS Organizations配下のすべてのAWSアカウントのGuardDutyの情報を集約したり、一括での有効化ができるようになります。

以下、セットアップ手順について紹介していきます。

想定する構成

GuardDutyはS3に検出結果をエクスポートすることも可能なのですが、監査等の目的で検出結果を長期保管しておくことは少ないため、下記のようなシンプルな構成でのセットアップ手順を紹介します。

GuardDutyは前回紹介したSecurity Hubと連携させることが多く、各メンバーアカウントでのGuardDutyの検出結果はSecurity Hubと連携させ、そのうえでSecurity Hub管理アカウントで集約された結果を確認することが多いかと思います。

委任管理者アカウントの設定

これまで紹介してきたサービスと同じく、まずは管理アカウントで委任管理者の設定を行います。

(1)委任管理者アカウントの設定は、管理アカウントでのみ実施できるため、まず管理アカウントにログインを行い、Organizationsの画面へ遷移します。

(2)サイドメニューから「サービス」をクリックします。

(3)GuardDutyを見つけ、クリックします。

(4)「信頼されたアクセスを有効にする」をクリックします。

(5)表示されたポップアップで下記のように入力を行い、「信頼されたアクセスを有効にする」ボタンをクリックします。

(6)ステータスが変更されていることを確認します。

(7)「コンソールに移動する」ボタンをクリックし、GuardDutyへ移動します。

(8)管理アカウントのGuardDutyが有効化されていない場合は、有効化を行います。

GuardDutyの有効化と委任管理者の設定を同一画面から実施することが可能です。

(9)作業後に念のため設定から委任管理者の項目内のMalware Protectionに関する許可を確認してください。こちらの許可設定は後述する作業で必要になるため、有効化されていることを確認しておきます。

(10)GuardDutyはリージョンサービスであるため、このステップを繰り返し、委任管理者の設定をすべてのリージョンで実施します。

セキュリティアカウントの設定

委任管理者として指定されたセキュリティアカウントでGuardDutyへ移動し、サイドメニューから「アカウント」をクリックすると、下記のようにOrganizations配下のAWSアカウントが自動で追加されていることが確認できます。

GuardDutyは本稿執筆時点で、下記の保護プランと呼ばれるオプション機能があり、追加料金を払うことでサービスに特化したセキュリティチェックを受けることが可能です。  

保護プラン 内容
S3 Protection S3 データイベントをもとに悪意のあるアクティビティや不審なアクティビティがないかをモニタリング
EKS Protection EKSのログや実際のふるまいをもとに不審なアクティビティがないかをモニタリング
Malware Protection EBS内にマルウェアが含まれていないかをモニタリング
RDS Protection RDSのログインアクティビティをもとに不審なログインがないかをモニタリング
Lambda Protection Lambdaのネットワークトラフィックをもとに不審なアクティビティがないかをモニタリング

Organizationsと連携すると、GuardDutyの一括有効化に加えて、保護プランの一括有効化も実現できます。 まずは、GuardDuty自体の一括有効化について紹介します

(1)有効化を行いたいアカウントの左のチェックボックスにチェックを入れ、「アクション」-「メンバーを追加」をクリックします。

(2)ポップアップ画面で「メンバーを追加」をクリックします。

(3)Statusが有効になっていることを確認します(少々時間を要します)。

(4)保護プランも「保護プランを編集」ボタンから選択形式での一括有効化が可能です。

課題となりやすいポイント

(1)上記のセットアップ手順でも触れておりますが、GuardDutyはリージョンサービスであるため、リージョンごとに有効化を行う必要があります。リージョンごとのGuardDutyの委任管理者アカウントの指定や有効化作業が必要になるため、忘れないように実施してください。

(2)一部の金額ではありますが、委任管理者のGuardDutyの使用状況メニューから金額が見えるようになります。金額を見せたくない場合は、IAMやSCPでguardduty:GetUsageStatisticsのアクションをDenyするようにしてください。

(3)委任管理者アカウントには、管理アカウントのGuardDutyの検知結果も集約されてしまいます。管理アカウントの情報を見せたくない場合は、委任管理者アカウントにて、管理アカウントをメンバーから除外するようにしてください。

まとめ

今回は、Amazon GuardDutyのOrganizations連携ステップとセットアップ時や実運用上で課題となりやすいポイントについても紹介しました。本稿がOrganizations配下のAWSアカウントのGuardDutyの管理にお役に立てば幸いです。

次回は、AWS IAM Identity Centerについて紹介します。