2.4. GuardDuty の仕組み

データソース

GuardDuty を有効にした瞬間から、そのリージョンのすべての VPC フローログ、CloudTrail イベントログ、DNS ログの分析が開始されます。DNS ログは、VPC に使用されるデフォルトの AWS DNS リゾルバーから生成されます。

サードパーティの DNS リゾルバーを使用している場合、または独自の DNS リゾルバーを設定している場合、GuardDuty はそのデータソースにアクセスし、脅威を分析・識別をすることはできません

GuardDuty を有効にするために、ユーザーはこれらのデータソースのいずれも有効にする必要はありません。GuardDuty が自動でデータソースにアクセスします。ただし、独自の分析と調査のために CloudTrail と VPC フローログを有効にすることをお勧めします。GuardDuty はリージョナルサービスであるため、他のリージョンでもこれらのデータソースを監視するには、そのリージョンで GuardDuty を有効にする必要があります。これは、上記と同じ手順に従ってコンソールから有効にすることで実現できますが、多くのユーザーは AWS Organizations や API を呼び出すスクリプトを使用して、全てのリージョンで、複数のアカウントに対して GuardDuty を有効にしています。GuardDuty を有効にしても、AWS アカウント内の VPC、IAM ユーザー、またはその他の AWS リソースの数に関係なく、すべての処理がマネージドサービス内で行われるため、ユーザーのリソースへの影響はありません。

GuardDutyの料金は、分析された AWS CloudTrail イベント、Amazon VPC フローログ、 DNS ログデータの量(GBあたり)に基づいています。AWS アカウントの各リージョンには、30日間の無料トライアルがあり、サービスのコストをより正確に予測できます。

検出結果

GuardDuty が有効になったため、3つのデータソースに対して EC2 インスタンスと AWS IAM プリンシパルに関連する悪意のある、または不正な動作がないかをアクティブに監視しています。GuardDuty が検出した結果の詳細を確認するには 結果 タブに移動します。

GuardDuty Enabled

ラボ環境の CloudFormation を実行すると、GuardDuty の検出結果の表示が始まります。各検出結果は、潜在的なセキュリティ問題を、簡潔かつ読みやすい説明を可能にするために、次の形式に分類されます。

ThreatPurpose : ResourceTypeAffected / ThreatFamilyName . ThreatFamilyVariant ! Artifact

詳細は公式ドキュメントの GuardDuty 結果形式 でご確認ください。

より高度なアクティビティベースおよび機械学習による脅威検出にはベースライン(7〜14日)を確立する必要があります。これにより、GuardDuty は通常のアクティビティおよび認証認可を学習して異常を検出できるようになります。異常検知による検出結果の例は、EC2 インスタンスが通常とは異なるポートでリモートホストとの通信を開始した場合や、ルートテーブルの変更履歴を持たない IAM ユーザーが変更をする場合です。今回のシナリオで生成されるすべての検出結果はシグネチャベースのため、CloudFormation スタックの完了から約 10 分後に検出結果が検出されます。タイムラグの原因は、データソース側でログと脅威に関する情報を出力するのにかかる時間と、GuardDuty がその特定のデータソースにアクセスして分析するのに時間がかかるためです。

検出結果の一覧は公式ドキュメントの検出結果タイプでご確認ください。

GuardDuty は、新規の検出結果があると Amazon EventBridge イベントに通知を送信します。この通知は、検出から 5 分以内に送信されます。同じ検出結果の継続発生は、元の検出結果と同じ ID を持ち、最初の通知から 6 時間ごとに通知が送信されます。これは、同じ検出結果によるアラートへの過度な対応を解消するためです。

CloudFormation スタックの作成が完了してから約 10分 後に、最初の結果が GuardDuty に表示されるようになります。

何が作成されるか?

CloudFormation テンプレートは、次のリソースを作成します。

  • 4 つの Amazon EC2 インスタンス(およびサポートするネットワークインフラストラクチャ)
    • 2つの Compromised Instance (侵害されたインスタンス)
    • 2つの Malicious Instance (不正なインスタンス)
  • AWS Systems Manager パラメーターストア と DynamoDB へのアクセス許可を持つ EC2 の AWS IAMロール
  • 1つの Amazon SNSトピック。これによって通知を受け取ることができます。
  • 3つの AWS EventBridge ルール。適切な通知または修復をトリガーします。
  • 2つの AWS Lambda 関数。検出結果の修復に使用され、セキュリティグループを変更し、アクティブな IAM ロールセッションを取り消すアクセス許可を持ちます。(対象はこのシナリオに関連付けられた IAM ロールのみ)
  • 偽のデータベースパスワードを格納するための AWS Systems Manager パラメータストアの値
  • 3つの S3 バケット.

次に進む前に、CloudFormation スタックのステータスが CREATE_COMPLETE であることを確認してください