侵害されたEC2インスタンスの隔離
制限の厳しいセキュリティグループを適用し、感染したワークロードを切り離します。
「侵害されたEC2インスタンスの隔離」はCoddyKit上の無料AWS Security Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAWS Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AWS Security Academyコースには全4レッスンが含まれています。
隔離するタイミング
GuardDuty や監視システムによって、EC2 インスタンスが悪意のある外向き接続、暗号資産のマイニング、またはネットワークスキャンを行っていることが示された場合は、インスタンスを隔離する必要があります。
隔離すると、インスタンスを調査のために稼働させたまま、他のすべてから切り離して、それ以上の被害を防げます。証拠を消去することもありません。
セキュリティグループの入れ替え
最も確実な隔離方法は、インスタンスのセキュリティグループを、インバウンドルールがなく、できればアウトバウンドルールもない単一のフォレンジック用グループに置き換えることです。
セキュリティグループはステートフルで、インスタンスに直接関連付けられています。そのため、サブネット内の他のものに触れることなく、ほぼすべての新しい接続を直ちに遮断できます。
aws ec2 modify-instance-attribute \
--instance-id i-0abc123 \
--groups sg-quarantine単に停止してはいけない理由
インスタンスを停止または終了すると、多くのマルウェアが存在する RAM が消去され、攻撃者が残した痕跡も破壊される可能性があります。
隔離では、インスタンスを稼働させたまま分離するため、ディスクのスナップショット取得、メモリのダンプ、挙動の観察ができます。証拠を安全に取得してから、初めて駆除を行います。
IAM ロールを切り離す
侵害されたインスタンスには、インスタンスプロファイルを介して IAM ロールが付与されていることが多く、攻撃者がその一時認証情報を外部へ持ち出して別の場所で使用している可能性があります。
ロールを置き換えるか削除し、アクティブなセッションを取り消して、盗まれた認証情報がインスタンス上だけでなく、すべての AWS サービスで使えないようにします。
フォレンジック状態を保持する
直ちに、接続されているすべてのEBSボリュームのスナップショットを取得してディスクを固定し、使用しているツールで可能であればメモリも取得します。
これらの成果物に隔離時の証拠であることを示すタグを付けます。スナップショットのコピーを別のフォレンジック用インスタンスに読み取り専用でマウントすれば、元のデータを変更したり再感染の危険にさらしたりせずに調査できます。
ネットワーク ACL による補強
さらに防御を強化するには、インスタンスのプライベート IP に対する拒否ルールをサブネットのネットワーク ACLに追加できます。
NACL はステートレスで、サブネットの境界に適用されます。そのため、セキュリティグループの変更で見逃す可能性のある経路も遮断できます。これは主要な制御ではなく、補助的な防御として使用してください。
ロードバランサーから切り離す
インスタンスが Elastic Load Balancer の背後にあるか、Auto Scaling グループに含まれている場合は、登録を解除してトラフィックが流れないようにします。
Auto Scaling のインスタンスはスタンバイにするかグループから切り離してください。そうしないと、グループが異常なホストと判断して置き換え、証拠を破棄する可能性があります。
隔離を自動化する
大規模な環境では、手作業の手順は遅すぎます。一般的なパターンは、GuardDuty の検出結果を EventBridge ルールから Lambda へ渡し、Lambda でセキュリティグループの入れ替え、ボリュームのスナップショット取得、ロールの削除、インスタンスへのタグ付けを行う方法です。
これにより、複数の手順からなる対応を、検出から数秒以内に実行される単一の自動アクションに変えられます。
根本原因を調査する
隔離によって、攻撃者がどのように侵入したのかを調査する時間を確保できます。CloudTrail、VPC Flow Logs、ホスト上のログを確認し、侵入口が公開ポート、未適用の脆弱性、盗まれた認証情報のいずれだったのかを特定します。
根本原因を突き止めなければ、再構築したインスタンスもまったく同じ方法で侵害される可能性があります。
修復せずに再構築する
証拠を取得し、根本原因を把握したら、感染したインスタンスをクリーンアップするのではなく、クリーンでパッチ適用済みの AMIからインスタンスを置き換えます。
バックドアを完全に除去できたと保証することは、ほとんどできません。信頼できるイメージから再デプロイするほうが、侵害されたホストを徹底的に掃除するよりも迅速で、はるかに確実です。
隔離状態にタグを付けて追跡する
隔離したインスタンスとそのスナップショットに、Status=Quarantineやインシデント ID などの明確なタグを付けます。これにより、自動化処理や担当者が誤ってインスタンスをサービスに戻したり、証拠を削除したりするのを防げます。
インシデント記録でクローズまで追跡し、脅威が封じ込められていることと、フォレンジック成果物が保持されていることの両方を確認します。
クイックチェック
適切な認証情報に関する手順を選択してください。
まとめ
侵害された EC2 インスタンスは、稼働させたまま、すべてを拒否するセキュリティグループに入れ替えて隔離します。その後、変更を加える前に EBS ボリュームのスナップショットを取得し、メモリを保存します。インスタンスプロファイルのロールを削除し、アクティブなセッションを取り消して盗まれた認証情報を無効にします。さらに、ロードバランサーと Auto Scaling から切り離し、NACL による補助的な防御を追加します。GuardDuty から一連の処理を自動化し、根本原因を調査して、信頼できる AMI から再構築します。
よくある質問
「侵害されたEC2インスタンスの隔離」レッスンは無料ですか?
はい。「侵害されたEC2インスタンスの隔離」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AWS Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AWS Security Academyコースには全4レッスンが含まれています。
「侵害されたEC2インスタンスの隔離」で何を学びますか?
制限の厳しいセキュリティグループを適用し、感染したワークロードを切り離します。 ブラウザで直接実行するハンズオンコードでAWS Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AWS Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAWS Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「侵害されたEC2インスタンスの隔離」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAWS Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのAWS Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- アクセスキー漏洩の兆候
- 漏洩したシークレットの無効化とローテーション
- 侵害されたEC2インスタンスの隔離
- フォレンジックのためのボリュームのスナップショット取得