翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
の開始方法 GuardDuty
このチュートリアルでは、 の実践的な概要を説明します GuardDuty。をスタンドアロンアカウント GuardDuty または の GuardDuty 管理者として有効にするための最小要件 AWS Organizations については、ステップ 1 で説明します。ステップ 2~5 では、 が推奨する追加機能を使用して検出 GuardDuty 結果を最大限に活用します。
トピック
開始する前に
GuardDuty は、 AWS CloudTrail イベントログ、 AWS CloudTrail 管理イベント、Amazon VPC Flow Logs、 DNS ログGuardDuty 基礎データソースなどの をモニタリングする脅威検出サービスです。 GuardDuty は、保護タイプに関連する機能を個別に有効にする場合にのみ分析します。機能には、Kubernetes 監査ログ、RDSログインアクティビティ、S3 ログ、 EBSボリューム、ランタイムモニタリング、Lambda ネットワークアクティビティログが含まれます。これらのデータソースと機能 (有効になっている場合) を使用して、アカウントのセキュリティ検出結果 GuardDuty を生成します。
を有効にすると GuardDuty、環境のモニタリングが開始されます。どのリージョンのどのアカウント GuardDuty でも、いつでも を無効にできます。これにより、基盤データソースと個別に有効化された機能 GuardDuty の処理が停止します。
GuardDuty 基礎データソース のいずれかを明示的に有効にする必要はありません。Amazon は、これらのサービスから直接独立したデータストリーム GuardDuty を取得します。新しい GuardDuty アカウントでは、 で AWS リージョン サポートされているすべての利用可能な保護タイプが有効になり、デフォルトで 30 日間の無料トライアル期間に含まれます。それらのいずれか、またはすべての設定をオプトアウトできます。既存の GuardDuty お客様は、 で利用可能な保護プランのいずれかまたはすべてを有効にすることができます AWS リージョン。詳細については、「 の各保護タイプに関連付けられた機能」を参照してください GuardDuty。
を有効にするときは GuardDuty、次の項目を考慮してください。
-
GuardDuty はリージョンサービスです。つまり、このページで実行する設定手順は、 でモニタリングする各リージョンで繰り返す必要があります GuardDuty。
サポートされているすべての AWS リージョン GuardDuty で を有効にすることを強くお勧めします。これにより、アクティブ GuardDuty に使用されていないリージョンでも、不正または異常なアクティビティに関する検出結果を生成できます。これにより、 GuardDuty は などのグローバル AWS サービスの AWS CloudTrail イベントをモニタリングすることもできますIAM。サポートされているすべてのリージョンで が有効になってい GuardDuty ない場合、グローバルサービスを含むアクティビティを検出する機能は低下します。 GuardDuty が利用可能なリージョンの完全なリストについては、「」を参照してくださいリージョンとエンドポイント。
-
AWS アカウントで管理者権限を持つユーザーは、 を有効にできます GuardDutyが、最小特権のセキュリティのベストプラクティスに従って、 GuardDuty 特に を管理する IAMロール、ユーザー、またはグループを作成することをお勧めします。を有効にするために必要なアクセス許可の詳細については、 GuardDuty 「」を参照してください GuardDuty の有効化に必要なアクセス許可。
-
任意の で GuardDuty 初めて を有効にすると AWS リージョン、デフォルトでは、Malware Protection for .EC2 GuardDuty creates a service-linked role for your account called など、そのリージョンでサポートされているすべての保護タイプも有効になります
AWSServiceRoleForAmazonGuardDuty
。このロールには、 が から直接イベント GuardDuty を消費および分析GuardDuty 基礎データソースしてセキュリティ検出結果を生成できるようにするアクセス許可と信頼ポリシーが含まれます。Malware Protection for EC2は、 という別のサービスにリンクされたロールをアカウントに作成しますAWSServiceRoleForAmazonGuardDutyMalwareProtection
。このロールには、Malware Protection がエージェントレススキャンEC2を実行して GuardDuty アカウントのマルウェアを検出できるようにするアクセス許可と信頼ポリシーが含まれています。これにより GuardDuty 、 アカウントでEBSボリュームスナップショットを作成し、そのスナップショットを GuardDuty サービスアカウントと共有できます。詳細については、「のサービスにリンクされたロールのアクセス許可 GuardDuty」を参照してください。サービスにリンクされたロールの詳細については、「サービスリンクロールの使用」を参照してください。 -
任意のリージョンで GuardDuty を初めて有効にすると、そのリージョンの 30 日間の GuardDuty 無料トライアルに AWS アカウントが自動的に登録されます。
開始方法: スタンドアロン環境またはマルチアカウント環境で Amazon GuardDuty を有効にする
ステップ 1: Amazon を有効にする GuardDuty
を使用する最初のステップ GuardDuty は、アカウントで有効にすることです。有効にすると、 GuardDuty は直ちに現在のリージョンのセキュリティ脅威のモニタリングを開始します。
組織内の他のアカウント GuardDuty の結果を GuardDuty 管理者として管理する場合は、メンバーアカウントを追加し、 GuardDuty も有効にする必要があります。
注記
を有効にせずに GuardDuty Malware Protection for S3 を有効にする場合は GuardDuty、「」を参照してくださいGuardDuty S3 のマルウェア保護。
ステップ 2: サンプル検出結果を生成し、ベーシックなオペレーションの詳細を確認する
がセキュリティ問題 GuardDuty を検出すると、検出結果が生成されます。 GuardDuty 検出結果は、その固有のセキュリティ問題に関する詳細を含むデータセットです。検出結果の詳細を使用して、問題の調査に役立てることができます。
GuardDuty では、プレースホルダー値を含むサンプル検出結果の生成がサポートされています。プレースホルダー値を使用すると、 によって検出された実際のセキュリティ問題に対応する前に GuardDuty 、機能をテストし、検出結果に慣れることができます GuardDuty。以下のガイドに従って、 で利用可能な各検出結果タイプのサンプル検出結果を生成します。アカウント内でシミュレートされたセキュリティイベントを生成するなど、サンプル検出結果を生成する GuardDutyその他の方法については、「」を参照してくださいサンプルの検出結果。
サンプル検出結果を作成して調査するには
-
ナビゲーションペインで [設定] を選択します。
-
[設定] ページの [結果のサンプル] で、[結果サンプルの生成] を選択します。
-
ナビゲーションペインで、概要 を選択して、 AWS 環境で生成された結果に関するインサイトを表示します。概要ダッシュボードのコンポーネントの詳細については、「[要約] ダッシュボード」を参照してください。
-
ナビゲーションペインで [結果] を選択します。サンプルの検出結果は、プレフィックス 〔SAMPLE〕 が付いた現在の検出結果ページに表示されます。
-
リストから検出結果を選択して、検出結果の詳細を表示します。
-
検出結果の詳細ペインで使用可能なさまざまな情報フィールドを確認できます。検出結果のタイプが異なると、フィールドが異なる場合があります。すべての検出結果タイプで使用可能なフィールドの詳細については、「検出結果の詳細」を参照してください。詳細ペインから、次のアクションを実行できます。
-
ペインの上部にある検出結果 ID を選択して、検出結果の完全なJSON詳細を開きます。完全なJSONファイルは、このパネルからダウンロードすることもできます。JSON には、コンソールビューに含まれていない追加情報が含まれており、他のツールやサービスで取り込むことができる形式です。
-
[影響を受けるリソース] セクションを表示します。実際の検出結果では、ここに記載されている情報は、調査すべきアカウント内のリソースを特定するのに役立ち、実用的なリソース AWS Management Console に適した へのリンクが含まれます。
-
「+」または「-」の虫眼鏡アイコンを選択して、その詳細の包括的または排他的なフィルターを作成します。検出結果フィルターの詳細については、「検出結果のフィルタリング」を参照してください。
-
-
-
サンプル検出結果をすべてアーカイブする
-
リストの上部にあるチェックボックスを選んで、すべての検出結果を選択します。
-
保持したい検出結果を選択解除します。
-
[アクション] メニューを選択し、[アーカイブ] をクリックして、サンプルの検出結果を非表示にします。
注記
Actions メニューを見るために、[最新] を選択し、検出結果ビューを切り替えるために [アーカイブ] を選択してください。
-
ステップ 3: Amazon S3 バケットへの GuardDuty 結果のエクスポートを設定する
GuardDuty では、 GuardDuty 90 日間の保持期間を超えて無期限に保存するために、検出結果を S3 バケットにエクスポートできるので、検出結果をエクスポートするように設定することをお勧めします。これにより、検出結果の記録を保持したり、 AWS 環境内の問題を経時的に追跡したりできます。ここで説明するプロセスでは、新しい S3 バケットを設定し、コンソール内から検出結果を暗号化するための新しいKMSキーを作成する手順を説明します。独自の既存のバケットや別のアカウントのバケットを使用する方法などの詳細については、「検出結果のエクスポート」を参照してください。
S3 エクスポート検出結果を設定するには
-
検出結果を暗号化するには、 がそのKMSキー GuardDuty を暗号化に使用できるようにするポリシーを持つキーが必要です。次の手順は、新しいKMSキーの作成に役立ちます。別のアカウントのKMSキーを使用している場合は、キーを所有 AWS アカウント する にログインしてキーポリシーを適用する必要があります。KMS キーと S3 バケットのリージョンは同じである必要があります。ただし、検出結果をエクスポートするリージョンごとに、これと同じバケットとキーのペアを使用できます。
-
https://console.aws.amazon.com/kms
で AWS KMS コンソールを開きます。 -
を変更するには AWS リージョン、ページの右上隅にあるリージョンセレクタを使用します。
-
ナビゲーションペインで、[カスタマーマネージドキー] を選択します。
-
[Create key] (キーの作成) を選択します。
-
[キーのタイプ] の [対称] を選択してから、[次へ] を選択します。
注記
KMS キーの作成に関する詳細な手順については、「 デベロッパーガイド」の「キーの作成」を参照してください。 AWS Key Management Service
-
キーの [エイリアス] を指定し、[次へ] を選択します。
-
[次へ] を選択し、再度 [次へ] を選択して、デフォルトの管理許可と使用許可を承諾します。
-
設定を [確認] した後、[完了] を選択してキーを作成します。
-
[顧客管理キー] ページで、キーエイリアスを選択します。
-
[キーポリシー] セクションで、[ポリシービューへの切り替え] を選択します。
-
編集 を選択して次のキーポリシーをKMSキーに追加し、キー GuardDuty へのアクセスを許可します。このステートメントでは GuardDuty 、このポリシーを追加するキーのみを使用できます。キーポリシーを編集するときは、JSON構文が有効であることを確認してください。最後のステートメントの前にステートメントを追加する場合は、閉じ括弧の後にカンマを追加する必要があります。
{ "Sid": "AllowGuardDutyKey", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:
Region1
:444455556666
:key/KMSKeyId
", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333
", "aws:SourceArn": "arn:aws:guardduty:Region2
:111122223333
:detector/SourceDetectorID
" } } }置換
Region1
KMS キーのリージョンを指定します。置換444455556666
KMS キーを所有 AWS アカウント する を持つ 。置換KMSKeyId
暗号化用に選択したキーのKMSキー ID を指定します。リージョン AWS アカウント、およびキー ID のこれらの値をすべて識別するには、KMSキーARNの を表示します。キー を見つけるにはARN、「キー ID の検索」およびARN「」を参照してください。同様に、
111122223333
GuardDuty アカウントの AWS アカウント を使用します。置換Region2
GuardDuty アカウントの リージョン。置換SourceDetectorID
の GuardDuty アカウントのディテクター ID を持つRegion2
.アカウントと現在のリージョン
detectorId
の を検索するには、https://console.aws.amazon.com/guardduty/コンソールの設定ページを参照するか、 ListDetectors を実行しますAPI。 [Save] を選択します。
-
-
で GuardDuty コンソールを開きますhttps://console.aws.amazon.com/guardduty/
。 -
ナビゲーションペインで [設定] を選択します。
-
[Findings export options] (結果のエクスポートオプション) の下で、[Configure now] (今すぐ設定) を選択します。
-
[新規バケット] を選択します。S3 バケットの一意の名前を入力します。
-
(オプション) サンプル検出結果を生成して、新しいエクスポート設定をテストできます。ナビゲーションペインで [設定] を選択します。
-
[サンプル検出結果] で、[サンプル調査結果を生成] を選択します。新しいサンプル検出結果は、最大 5 分 GuardDuty で によって作成された S3 バケットにエントリとして表示されます。
ステップ 4: を使用して検出 GuardDuty 結果アラートを設定する SNS
GuardDuty は Amazon と統合されており EventBridge、これを使用して検出結果データを他のアプリケーションやサービスに送信して処理できます。 EventBridge を使用すると、 GuardDuty 検出結果イベントを AWS Lambda 関数、Amazon EC2 Systems Manager オートメーション、Amazon Simple Notification Service (SNS) などのターゲットに接続することで、検出結果への自動応答を開始できます。
この例では、 EventBridge ルールのターゲットとなる SNSトピックを作成し、 EventBridge を使用して から検出結果データをキャプチャするルールを作成します GuardDuty。結果として得られるルールは、検出結果の詳細をメールアドレスに転送します。検出結果を Slack または Amazon Chime に送信する方法、および送信される検出結果のアラートタイプを変更する方法については、「Amazon SNS トピックおよびエンドポイントの設定」を参照してください。
検出結果アラートの SNSトピックを作成するには
-
https://console.aws.amazon.com/sns/v3/home
で Amazon SNSコンソールを開きます。 -
ナビゲーションペインで、[トピック] を選択します。
-
[トピックの作成] を選択します。
-
[Type] (タイプ) に、[Standard] (標準) を選択します。
-
[名前] に
GuardDuty
と入力します。 -
[トピックの作成] を選択します。新しいトピックのトピック詳細が開きます。
-
[サブスクリプション] セクションで、[サブスクリプションの作成] を選択します。
-
[プロトコル] で [E メール] を選択します。
-
[Endpoint] (エンドポイント) に、通知を送信する先の E メールアドレスを入力します。
-
[Create subscription] (サブスクリプションの作成) を選択します。
サブスクリプションを作成した後に、E メールを通してサブスクリプションを確認する必要があります。
-
サブスクリプションメッセージを確認するには、E メールの受信ボックスに移動して、サブスクリプションメッセージで [Confirm subscription] (サブスクリプションの確認) を選択します。
注記
E メールの確認ステータスを確認するには、SNSコンソールに移動し、サブスクリプション を選択します。
GuardDuty 結果を取得してフォーマットする EventBridge ルールを作成するには
-
で EventBridge コンソールを開きますhttps://console.aws.amazon.com/events/
。 -
ナビゲーションペインで ルール] を選択します。
-
ルールの作成 を選択します。
-
ルールの名前と説明を入力します。
ルールには、同じリージョン内および同じイベントバス上の別のルールと同じ名前を付けることはできません。
-
[イベントバス] として、[デフォルト] を選択します。
-
[ルールタイプ] では、[イベントパターンを持つルール] を選択します。
-
[Next] (次へ) を選択します。
-
[Event source] (イベントソース) で、[AWS events] (イベント) を選択します。
-
[イベントパターン] で、[イベントパターンフォーム] を選択します。
-
[イベントパターンフォーム] では、AWS [サービス] を選択します。
-
AWS サービス で、 を選択しますGuardDuty。
-
イベントタイプ で、GuardDuty検出結果 を選択します。
-
[Next (次へ)] を選択します。
-
ターゲットタイプ] では、AWS サービス] を選択します。
-
「ターゲットを選択」でSNSトピック を選択し、「トピック」で、前に作成したSNSトピックの名前を選択します。
-
[Additional settings] (追加設定) セクションの [Configure target input] (ターゲット入力の設定) では、[Input transformer] (入力トランスフォーマー) を選択します。
入力トランスフォーマーを追加すると、 から送信されたJSON検出結果が人間が読めるメッセージ GuardDuty にフォーマットされます。
-
[Configure input transformer] (入力トランスフォーマーの設定) を選択します。
-
[Target input transformer] (ターゲット入力トランスフォーマー) セクションで、[Input path] (入力パス) に以下のコードを貼り付けます。
{ "severity": "$.detail.severity", "Finding_ID": "$.detail.id", "Finding_Type": "$.detail.type", "region": "$.region", "Finding_description": "$.detail.description" }
-
E メールをフォーマットするには、テンプレート で次のコードを貼り付け、赤のテキストをリージョンに適した値に置き換えてください。
"You have a severity
severity
GuardDuty finding typeFinding_Type
in theRegion_Name
Region." "Finding Description:" "Finding_Description
." "For more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?region=region
#/findings?search=id%3DFinding_ID
" -
[確認] を選択します。
-
[次へ] をクリックします。
-
(オプション) ルールに 1 つ以上のタグを入力します。詳細については、「Amazon ユーザーガイド」の「Amazon EventBridge タグ」を参照してください。 EventBridge
-
[Next (次へ)] を選択します。
-
ルールの詳細を確認し、[ルールの作成] を選択します。
-
(オプション) ステップ 2 のプロセスでサンプル検出結果を生成して、新しいルールをテストします。生成されたサンプル検出結果ごとにメールが届きます。
次のステップ
を引き続き使用すると GuardDuty、環境に関連する検出結果のタイプを理解できるようになります。新しい検出結果を受け取ったときはいつでも、検出結果の詳細ペイン中の検出結果の記述から [詳細はこちら] を選択することにより、あるいは 検出結果タイプ の検出結果名を探すことにより、その検出結果に関する修復に関するレコメンデーションを含む情報を検索できます。
以下の機能は、 AWS 環境に最も関連性の高い結果を提供 GuardDuty できるように調整するのに役立ちます。
-
インスタンス ID、アカウント ID、S3 バケット名など、特定の基準に基づいて結果を簡単にソートするには、 内でフィルターを作成して保存できます GuardDuty。詳細については、「検出結果のフィルタリング」を参照してください。
-
環境内で予想される動作に関する検出結果を受け取っている場合は、[suppression rules] (抑制ルール) で定義した基準に基づいて検出結果を自動的にアーカイブできます。
-
信頼できる のサブセットから検出結果が生成されないようにしたりIPs、通常のモニタリング範囲外の GuardDuty でモニタリングしたりするには、信頼できる IP IPs と脅威リスト を設定できます。 信頼できる IP リストと 脅威リストの使用