Amazon GuardDuty における Amazon S3 保護 - Amazon GuardDuty

Amazon GuardDuty における Amazon S3 保護

S3 保護は S3 バケット内のデータの潜在的なセキュリティリスクを特定するために、オブジェクトレベルの API オペレーションを Amazon GuardDuty がモニタリングする機能を有効にします。

GuardDuty は AWS CloudTrail 管理イベントと CloudTrail S3 データイベントを分析して Amazon S3 リソースに対する脅威をモニタリングします。これらのデータソースは、さまざまな種類のアクティビティをモニタリングします。例えば、S3 の CloudTrail 管理イベントには、ListBucketsDeleteBucketsPutBucketReplication などの S3 バケットを一覧表示または設定するオペレーションが含まれます。S3 のデータイベントの例には、GetObjectListObjectsDeleteObjectPutObject などのオブジェクトレベルの API オペレーションが含まれます。

GuardDuty を有効にしているすべてのアカウントで、CloudTrail 管理イベントの GuardDuty モニタリングはデフォルトでオンになっており、設定できません。CloudTrail S3 データイベントログは、GuardDuty で設定可能なデータソースです。S3 保護は新しいディテクターに対してデフォルトで有効になっています。S3 保護の追加前に作成されたアカウントでは、このデータソースを手動で有効にする必要があります。このトピックでは、S3 データイベントモニタリングを有効または無効にするプロセスについて説明します。

GuardDuty では、S3 保護を有効にすることが強く推奨されます。この機能が無効になっている場合、GuardDuty は S3 バケットに格納されているデータへの疑わしいアクセスの検出結果を完全にモニタリングまたは発見することができません。

GuardDuty S3 データイベントの使用方法を理解しましょう。

GuardDuty の S3 保護機能とは、S3 データイベントを GuardDuty のデータソースとして有効になっているかどうかを指します。S3 データイベントのモニタリングが有効になった場合、GuardDuty はすべての S3 バケットに関する S3 データイベントを分析し、悪意のあるアクティビティや疑わしいアクティビティがないかのモニタリングを開始します。詳細については、「Amazon GuardDuty でデータソースを使用する方法」を参照してください。

GuardDuty は、パブリックにアクセスできるようにしたオブジェクトに対するリクエストは処理しませんが、バケットがパブリックにアクセス可能になったときに警告を発します。GuardDuty が S3 データイベントモニタリングに基づいて脅威を検出すると、セキュリティの検出結果が生成されます。GuardDuty が Amazon S3 で生成できる検出結果のタイプについては、「GuardDuty のS3 の検出結果タイプ」を参照してください。

S3 保護を無効にすると、GuardDuty はこのデータソースの使用を直ちに停止し、S3 バケットに格納されたデータへのアクセスのモニタリングを停止します。

スタンドアロンアカウントの S3 保護の設定。

AWS Organizations に関連付けられているアカウントの場合、次のセクションで説明されているように、コンソールの設定を使用してこのプロセスを自動化できます。

S3 保護の追加前に GuardDuty を使用していたアカウントでは、コンソールまたは UpdateDetector API オペレーションを通して GuardDuty を生成することで、新しいデータソースを有効にできます。

Amazon S3 データイベントをアカウントのデータソースとして設定するには、次の設定オプションを参照してください。

S3 保護を有効または無効にするには

スタンドアロンアカウントの S3 保護を有効または無効にする手順については、以下のアクセス方法を選択してください。

Console
  1. https://console.aws.amazon.com/guardduty/ コンソールにログインします。

  2. ナビゲーションペインで、[Settings] (設定) 内の [S3 Protection] (S3 保護) を選択します。

  3. [S3 Protection] (S3 保護) ペインには、アカウントの S3 保護の現在のステータスが一覧表示されます。[Enable] (有効) または [Disable] (無効) を選択することで、このオプションはいつでも有効または無効にできます。

API
  • 独自のリージョンレベルのディテクター ID を使用し、"S3 Logs":"enable" をそれぞれ true または false に設定した dataSources オブジェクトを渡して、updateDetector API オペレーションを実行します。

    AWS コマンドラインツールを使用して AWS CLI コマンドを実行することで、S3 保護を有効または無効にすることもできます。自身の有効なディテクター ID を使用してください。

    注記

    次のサンプルコードは S3 保護を有効にします。無効にするには、truefalse に置き換えます。

    AWS guardduty update-detector --detector-id 12abc34d567e8fa901bc2d34e56789f0 --data-sources '{"S3Logs":{"Enable":true}}'

マルチアカウント環境での S3 保護の設定

マルチアカウント環境では、GuardDuty 管理者アカウントのみが S3 保護を構成できます。GuardDuty 管理者アカウントは、メンバーアカウントの S3 保護を有効または無効にできます。GuardDuty メンバーアカウントでは、このデータソースを有効または無効化できません。

AWS Organizations サポートでメンバーアカウントを管理する GuardDuty 管理者アカウントは、組織内のすべての新しいアカウントで S3 保護を自動的に有効にすることを選択できます。詳細については、「AWS Organizations を使用した GuardDuty アカウントの管理」を参照してください。

組織メンバーアカウントの S3 保護を自動的に有効にします。

注記

この機能は、AWS Organizations を通じて組み込まれた GuardDuty メンバーの管理者だけが利用できます。

  1. 管理者アカウントを使用して https://console.aws.amazon.com/guardduty/ コンソールにログインします。

  2. ナビゲーションペインで [Settings] (設定) の [Accounts] (アカウント) を選択します。

  3. GuardDuty の [Auto-enable] (自動有効化) がオンになっていることを確認します。オフの場合は、バナーから [Enable] (有効化) を選択するか、[Auto-enable is OFF] (自動有効化がオフ) を選択して有効にできます。この機能は、組織内の新しいメンバーアカウントに対して GuardDuty を自動的に有効にし、S3 保護を自動有効にするには、有効にしておく必要があります。

  4. GuardDuty の自動有効化をオンにすると、[S3 Protection] (S3 保護) 切り替えアイコンを選択することで GuardDuty を有効にすることに加えて、新しいメンバーの S3 保護を有効にできます。[Update Settings] (更新の設定) を選択して確定します。

メンバーアカウントで S3 保護を選択的に有効または無効にするには

メンバーアカウントの S3 保護を有効または無効にする手順については、以下のアクセス方法を選択してください。

Console

すべてのアカウントで S3 保護を有効にするには

  1. https://console.aws.amazon.com/guardduty/ コンソールにログインします。

  2. すべてのアカウントで S3 保護を一度に有効にするには、ナビゲーションペインから [S3 Protection] (S3 保護) を選択します。

  3. 管理しているアカウントの内、S3 保護が有効になっているアカウントの数を示すステートメントが表示されます。すべてのアカウントで S3 保護を有効にするには [Enable all] (すべて有効化) を選択します。

    注記

    組織内のアカウントを管理している場合、この操作により、[Auto-enable] (自動有効化) 機能が組織内の将来のメンバーアカウントに対して S3 保護を自動的に有効にします。

メンバーアカウントで S3 保護を選択的に有効または無効にするには

  1. https://console.aws.amazon.com/guardduty/ コンソールにログインします。

  2. ナビゲーションペインで [Settings] (設定) の [Accounts] (アカウント) を選択します。

    注記

    アカウントテーブルから、[S3 Protection] (S3 保護) 列を確認します。緑のチェックマークアイコンは S3 保護が有効であることを示し、青いダッシュアイコンはそれが無効であることを示します。この列が空白の場合、アカウントは S3 保護の対象になりません。[ENABLED] (有効) または [DISABLED] (無効) でフィルタリングすることもできます。

  3. S3 保護を設定するアカウントを選択します。[Actions] (アクション) メニューから [Enable S3 Protection] (S3 保護を有効にする) または [Disable S3 Protection] (S3 保護を無効にする) のいずれかを選択し、選択内容を確認することで、選択したアカウントの設定を変更します。テーブルは自動的に更新され、変更点が表示されます。

API

メンバーアカウントの S3 保護を選択的に有効または無効にするには、自身のディテクター ID を使用し、updateMemberDetectors API オペレーションを実行します。次の例では、単一のメンバーアカウントで S3 保護を有効にする方法を示しています。無効にするには、truefalse に置き換えます。

AWS guardduty update-member-detectors --detector-id 12abc34d567e8fa901bc2d34e56789f0 --account-ids 123456789012 --data-sources '{"S3Logs":{"Enable":true}}'
注記

スペースで区切られたアカウント ID のリストを渡すこともできます。

コードが正常に実行されると、UnprocessedAccounts の空のリストが返されます。アカウントのディテクター設定を変更する際に問題が発生した場合は、そのアカウント ID と問題の概要が表示されます。

注記

スクリプトを使用して新しいアカウントをオンボーディングし、新しいアカウントで S3 保護を無効にする場合は、このトピックで説明されているように、オプションの dataSources オブジェクトで createDetector API オペレーションを変更できます。

新しい GuardDuty アカウントの S3 保護の自動無効化

重要

デフォルトで、新しいディテクターでは S3 保護が自動的に有効になっています。

GuardDuty 管理者が新しいアカウントで初めて GuardDuty を有効にしていて、S3 保護をデフォルトで有効にしたくない場合は、オプションの dataSources オブジェクトで createDetector API オペレーションを変更することで無効にできます。次の例では S3 保護を無効にしたまま新しい GuardDuty ディテクターを有効にするために、AWS CLI を使用しています。

AWS guardduty create-detector --enable --data-sources '{"S3Logs":{"Enable":false}}'