翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
EC2 インスタンスの露出の修正
AWS Security Hub は、Amazon Elastic Compute Cloud (EC2) インスタンスの公開結果を生成できます。
Security Hub コンソールでは、露出の検出結果に関与した EC2 インスタンスとその識別情報が、検出結果の詳細の [リソース] セクションに一覧表示されます。プログラムにより、Security Hub CSPM API の GetFindingsV2オペレーションを使用してリソースの詳細を取得できます。
露出の検出結果に関連するリソースを特定したら、不要なリソースを削除できます。不要なリソースを削除すると、露出プロファイルと AWS コストを削減できます。リソースが不可欠な場合は、以下の推奨される修復手順に従ってリスクを軽減します。修復トピックは、特性のタイプに基づいて分割されます。
1 つの露出の検出結果には、複数の修復トピックで特定された問題が含まれます。逆に、1 つの修復トピックだけに対処することで、露出の検出結果に対処し、その重要度レベルを下げることができます。リスク修復へのアプローチは、組織の要件とワークロードによって異なります。
注記
このトピックで提供される修復ガイダンスでは、他の AWS リソースで追加の相談が必要になる場合があります。
目次
EC2 インスタンスの設定ミス特性
EC2 インスタンスの設定ミスの特性と推奨される修復手順は次のとおりです。
EC2 インスタンスは、バージョン 1 を使用して IMDS へのアクセスを許可します
インスタンスメタデータは、アプリケーションが実行中のインスタンスを設定または管理するために使用できる Amazon EC2 インスタンスに関するデータです。インスタンスメタデータサービス (IMDS) は、インスタンス上のコードによって、インスタンスメタデータに安全にアクセスするために使用されるインスタンス上のコンポーネントです。IMDS が適切に保護されていない場合、一時的な認証情報やその他の機密設定データにアクセスできるため、潜在的な攻撃ベクトルになる可能性があります。IMDSv2 は、セッション指向認証による悪用に対する保護を強化し、メタデータリクエストにセッショントークンを必要とし、セッション期間を制限します。標準のセキュリティ原則に従って、IMDSvAmazon EC2IMDSv1インスタンスを設定します。 IMDSv2
修正
この露出に対処するには、次の 1 つ以上のアクションを実行します。
アプリケーションの互換性
IMDSv2 を実装する前に、インスタンスをテストして IMDSv2 との互換性を確認します。一部のアプリケーションまたはスクリプトでは、コア機能に IMDSv1 が必要となり、追加の設定が必要になる場合があります。アプリケーションの互換性をテストするためのツールと推奨パスの詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「インスタンスメタデータサービスバージョン 2 の使用への移行」を参照してください。
IMDSv2 を使用するようにインスタンスを更新する
IMDSv2 を使用するように既存のインスタンスを変更します。詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「既存インスタンスのインスタンスメタデータオプションの変更」を参照してください。
Auto Scaling グループのインスタンスに更新を適用する
インスタンスが Auto Scaling グループの一部である場合は、起動テンプレートまたは起動設定を新しい設定で更新し、インスタンスの更新を実行します。
Amazon EC2 インスタンスに、SSH または RDP アクセスを許可するセキュリティグループまたはネットワーク ACL がある
SSH や RDP などのリモートアクセスプロトコルを使用すると、ユーザーは外部の場所から Amazon EC2 インスタンスに接続して管理できます。セキュリティグループがインターネットからこれらのプロトコルへの無制限のアクセスを許可すると、インスタンスへのインターネットアクセスを許可することで、Amazon EC2 インスタンスのアタックサーフェスが増加します。標準のセキュリティ原則に従って、リモートアクセスを信頼できる特定の IP アドレスまたは範囲に制限します。
修復: セキュリティグループルールの変更
Amazon EC2 インスタンスへのアクセスを特定の信頼された IP アドレスに制限します。SSH および RDP アクセスを特定の信頼できる IP アドレスに制限するか、CIDR 表記を使用して IP 範囲 (192.168.1.0/24 など) を指定します。セキュリティグループルールを変更するには、「Amazon Elastic Compute Cloud ユーザーガイド」の「セキュリティグループルールの設定」を参照してください。
Amazon EC2 インスタンスにオープンセキュリティグループがある
セキュリティグループは、Amazon EC2 インスタンスの仮想ファイアウォールとして機能し、インバウンドトラフィックとアウトバウンドトラフィックを制御します。任意の IP アドレスからの無制限のアクセスを許可するオープンセキュリティグループは、インスタンスを不正アクセスにさらす可能性があります。標準のセキュリティ原則に従って、セキュリティグループのアクセスを特定の IP アドレスとポートに制限します。
修正
この露出に対処するには、次の 1 つ以上のアクションを実行します。
セキュリティグループのルールを確認し、現在の設定を評価する
(0.0.0.0/0 or ::/0) などの幅広い IP 範囲からオープンおよびアクセス可能なポートを評価します。セキュリティグループの詳細を表示する手順については、「Porting Assistant for .NET API リファレンス」の「DescribeSecurityGroups」を参照してください。
セキュリティグループルールの変更
セキュリティグループルールを変更して、特定の信頼された IP アドレスまたは範囲へのアクセスを制限します。セキュリティグループルールを更新するときは、必要なソース IP 範囲ごとにルールを作成するか、特定のポートへのアクセスを制限することで、異なるネットワークセグメントのアクセス要件を分離することを検討してください。セキュリティグループルールを変更するには、「Amazon EC2 ユーザーガイド」の「セキュリティグループルールの設定」を参照してください。
EC2 インスタンスの到達可能性特性
EC2 インスタンスの到達可能性の特性と推奨される修復手順は次のとおりです。
EC2 インスタンスはインターネット経由で到達可能
インターネットから到達可能なポートを持つ Amazon EC2 インスタンスは、インスタンスを公開する可能性があります。到達可能性は、インターネットゲートウェイ (Application Load Balancer または Classic Load Balancer の背後にあるインスタンスを含む)、VPC ピアリング接続、または VPN 仮想ゲートウェイを介して発生する可能性があります。標準のセキュリティ原則に従って、インバウンドトラフィックを必要なソースとポートのみに制限することで、最小特権のネットワークアクセスコントロールを実装します。
修正
この露出に対処するには、次の 1 つ以上のアクションを実行します。
セキュリティグループルールの変更または削除
[リソース] タブで、Amazon EC2 セキュリティグループのリソースを開きます。インスタンスが機能するためにインターネットアクセスが必要かどうかを確認します。無制限のアクセス (0.0.0.0/0 または ::/0) を許可するインバウンドセキュリティグループルールを変更または削除します。特定の IP 範囲またはセキュリティグループに基づいて、より制限の厳しいルールを実装します。制限されたパブリックアクセスが必要な場合は、インスタンスの関数に必要な特定のポートとプロトコルへのアクセスを制限します。セキュリティグループルールを管理する手順については、「Amazon EC2 ユーザーガイド」の「セキュリティグループルールの設定」を参照してください。
ネットワーク ACL を更新する
インスタンスのサブネットに関連付けられたネットワークアクセスコントロールリスト (ACL) を確認して変更します。ACL 設定がセキュリティグループの変更と一致しており、意図しないパブリックアクセスを許可していないことを確認します。ネットワーク ACL を変更する手順については、「Amazon VPC ユーザーガイド」の「ネットワーク ACL の動作」を参照してください。
代替アクセス方法
代替アクセス方法には、次のオプションを検討してください。
-
アウトバウンドインターネット接続に NAT ゲートウェイを使用する – インターネットへのアクセスを必要とするプライベートサブネット内のインスタンス (更新のダウンロードなど) では、パブリック IP アドレスを割り当てる代わりに NAT ゲートウェイを使用することを検討してください。NAT ゲートウェイを使用すると、プライベートサブネットのインスタンスは、インターネットからのインバウンド接続を防ぎながら、インターネットへのアウトバウンド接続を開始できます。
-
Systems Manager セッションマネージャーを使用する – Session Manager は、インバウンドポートの開放、SSH キーの管理、踏み台ホストの維持を必要とせずに、Amazon EC2 インスタンスへの安全なシェルアクセスを提供します。
-
WAF と Elastic Load Balancing または Application Load Balancer を使用する – ウェブアプリケーションを実行しているインスタンスの場合は、LB を AWS ウェブアプリケーションファイアウォール (WAF) と組み合わせて使用することを検討してください。LB は、LB がパブリックサブネットで実行され、インターネットトラフィックを処理する間に、インスタンスがプライベートサブネットで実行されるように設定できます。WAF をロードバランサーに追加すると、ウェブエクスプロイトやボットに対する保護を強化できます。
EC2 インスタンスの脆弱性特性
EC2 インスタンスの脆弱性の特性と推奨される修復手順は次のとおりです。
EC2 インスタンスには、ネットワークで悪用される可能性の高いソフトウェアの脆弱性があります。
EC2 インスタンスにインストールされているソフトウェアパッケージは、共通脆弱性識別子 (CVE) に公開される可能性があります。重要な CVEs AWS 、環境に重大なセキュリティリスクをもたらします。権限のないプリンシパルは、こうしたパッチが適用されていない脆弱性を利用し、データの機密性、完全性、可用性を侵害したり、他のシステムにアクセスしたりする可能性があります。悪用の可能性の高い重大な脆弱性は即時のセキュリティ脅威を意味します。なぜなら、エクスプロイトコードはすでに公開されており、攻撃者や自動スキャンツールによってアクティブに使用されている可能性があるためです。これらの脆弱性にパッチを適用してインスタンスを保護します。
修復: 影響を受けるインスタンスを更新する
特性の [脆弱性] タブのリファレンスセクションを確認します。ベンダーのドキュメントには、特定の修復ガイダンスが含まれている場合があります。これらの一般的なガイドラインを使用して、適切な修復に従ってください。
Systems Manager Patch Manager を使用して、オペレーティングシステムとアプリケーションの両方にパッチを適用します。Patch Manager を使用すると、オペレーティングシステムとソフトウェアのパッチを自動的に選択して、インスタンスの大規模なグループにデプロイすることができます。Patch Manager を設定していない場合は、影響を受ける各インスタンスのオペレーティングシステムを手動で更新します。
ベンダーが推奨する手順に従って、影響を受けるアプリケーションを最新の安全なバージョンに更新します。複数のインスタンスでアプリケーションの更新を管理するには、Systems Manager ステートマネージャーを使用してソフトウェアを一貫した状態に保つことを検討してください。更新が利用できない場合は、パッチがリリースされるか、アプリケーションへのネットワークアクセスの制限や脆弱な機能の無効化などのその他の緩和策が行われるまで、脆弱なアプリケーションを削除または無効化することを検討してください。
Amazon Inspector の検出結果に記載されている特定の修復アドバイスに従ってください。これには、セキュリティグループルールの変更、インスタンス設定の変更、アプリケーション設定の調整が含まれる場合があります。
インスタンスが Auto Scaling グループの一部であるかどうかを確認します。AMI 置き換えパッチ適用は、Auto Scaling グループに新しい Amazon EC2 インスタンスをデプロイするように設定された AMI ID を更新することにより、イミュータブルインフラストラクチャで行われます。カスタム/ゴールデン AMI を使用している場合は、新しい AMI でインスタンスを作成し、インスタンスをカスタマイズして新しいゴールデン AMI を作成します。詳細については、「AMI updates patching (using patched AMIs for Auto Scaling groups)」を参照してください。
今後の考慮事項
今後の発生を防ぐには、脆弱性管理プログラムの実装を検討してください。Amazon Inspector は、インスタンスで CVE を自動的にスキャンするように設定できます。Amazon Inspector は、自動修復のために Security Hub と統合することもできます。Systems Manager Maintenance Windows を使用して定期的なパッチ適用スケジュールを実装し、インスタンスの中断を最小限に抑えることを検討してください。
Amazon EC2 インスタンスにソフトウェアの脆弱性がある
Amazon EC2 インスタンスにインストールされているソフトウェアパッケージは、共通脆弱性識別子 (CVEs) に公開できます。重要でない CVE とは、重要な CVE と比較して重要度や悪用可能性が低いセキュリティの弱点を示します。これらの脆弱性は差し迫ったリスクは低いものの、攻撃者は、こうしたパッチが適用されていない脆弱性を利用し、データの機密性、完全性、可用性を侵害したり、他のシステムにアクセスしたりする可能性があります。セキュリティのベストプラクティスに従って、これらの脆弱性にパッチを適用して、インスタンスを攻撃から保護します。
修復: 影響を受けるインスタンスを更新する
AWS Systems Manager Patch Manager を使用して、オペレーティングシステムにパッチを適用します。Patch Manager を使用すると、オペレーティングシステムとソフトウェアのパッチを自動的に選択して、インスタンスの大規模なグループにデプロイすることができます。Patch Manager を設定していない場合は、影響を受ける各インスタンスのオペレーティングシステムを手動で更新します。
ベンダーが推奨する手順に従って、影響を受けるアプリケーションを最新の安全なバージョンに更新します。複数のインスタンスでアプリケーションの更新を管理するには、 AWS Systems Manager ステートマネージャーを使用してソフトウェアを一貫した状態に保つことを検討してください。更新が利用できない場合は、パッチがリリースされるか、アプリケーションへのネットワークアクセスの制限や脆弱な機能の無効化などのその他の緩和策が行われるまで、脆弱なアプリケーションを削除または無効化することを検討してください。
Amazon Inspector の検出結果に記載されている特定の修復アドバイスに従ってください。これには、セキュリティグループルールの変更、インスタンス設定の変更、アプリケーション設定の調整が含まれる場合があります。
インスタンスが Auto Scaling グループの一部であるかどうかを確認します。AMI 置き換えパッチ適用は、Auto Scaling グループに新しい Amazon EC2 インスタンスをデプロイするように設定された AMI ID を更新することにより、イミュータブルインフラストラクチャで行われます。カスタム/ゴールデン AMI を使用している場合は、新しい AMI でインスタンスを作成し、インスタンスをカスタマイズして新しいゴールデン AMI を作成します。詳細については、「AMI updates patching (using patched AMIs for Auto Scaling groups)」を参照してください。
今後の考慮事項
今後の発生を防ぐには、脆弱性管理プログラムの実装を検討してください。Amazon Inspector は、インスタンスで CVE を自動的にスキャンするように設定できます。Amazon Inspector は、自動修復のために Security Hub と統合することもできます。Systems Manager Maintenance Windows を使用して定期的なパッチ適用スケジュールを実装し、インスタンスの中断を最小限に抑えることを検討してください。
EC2 インスタンスに End-Of-Life オペレーティングシステムがある
EC2 インスタンスは、元の開発者によってサポートまたは保守されなくなったend-of-lifeオペレーティングシステムを実行します。これにより、インスタンスがセキュリティの脆弱性と潜在的な攻撃にさらされます。オペレーティングシステムend-of-life、ベンダーは通常、新しいセキュリティアドバイザリのリリースを停止します。既存のセキュリティアドバイザリは、ベンダーフィードから削除することもできます。その結果、Amazon Inspector は既知の CVEs の検出結果の生成を停止し、セキュリティカバレッジにさらなるギャップが生じる可能性があります。
Amazon Inspector で検出できるサポート終了に達したオペレーティングシステムの詳細については、Amazon Inspector ユーザーガイド」の「廃止されたオペレーティングシステム」を参照してください。 Amazon Inspector
修復: サポートされているオペレーティングシステムバージョンへの更新
サポートされているバージョンのオペレーティングシステムに更新します。公開結果で、リソースを開いて、影響を受けるリソースにアクセスします。インスタンスのオペレーティングシステムのバージョンを更新する前に、ロールバックする必要がある場合に備えてスナップショットまたは AMI バックアップを作成します。次に、Amazon Inspector ユーザーガイドのサポートされているオペレーティングシステムで、現在サポートされている OS バージョンのリストを確認してください。
EC2 インスタンスに悪意のあるソフトウェアパッケージがある
悪意のあるパッケージは、システムとデータの機密性、完全性、可用性を侵害するように設計された有害なコードを含むソフトウェアコンポーネントです。攻撃者は脆弱性を悪用することなく悪意のあるコードを自動的に実行できるため、悪意のあるパッケージはインスタンスにアクティブで重大な脅威をもたらします。セキュリティのベストプラクティスに従って、悪意のあるパッケージを削除して、潜在的な攻撃からインスタンスを保護します。
修復: 悪意のあるパッケージを削除する
特性の脆弱性タブの「リファレンス」セクションにある悪意のあるパッケージの詳細を確認して、脅威を理解します。適切なパッケージマネージャーを使用して、特定された悪意のあるパッケージを削除します。例については、「Amazon Linux 2023 ユーザーガイド」の「パッケージ管理ツール」を参照してください。悪意のあるパッケージを削除したら、スキャンを実行して、悪意のあるコードによってインストールされた可能性のあるすべてのパッケージが削除されていることを確認することを検討してください。詳細については、のGuardDuty でのオンデマンドマルウェアスキャンの開始」を参照してください。
EC2 インスタンスに悪意のあるファイルがある
悪意のあるファイルには、システムとデータの機密性、完全性、可用性を侵害するように設計された有害なコードが含まれています。攻撃者は脆弱性を悪用することなく悪意のあるコードを自動的に実行できるため、悪意のあるファイルはインスタンスにアクティブで重大な脅威をもたらします。セキュリティのベストプラクティスに従って、悪意のあるファイルを削除して、潜在的な攻撃からインスタンスを保護します。
修復: 悪意のあるファイルを削除する
悪意のあるファイルがある特定の Amazon Elastic Block Store (Amazon EBS) ボリュームを特定するには、特性の検出結果の詳細のリソースセクションを確認してください。悪意のあるファイルでボリュームを特定したら、変更を行う前にボリュームのスナップショットを作成し、特定された悪意のあるファイルを削除します。悪意のあるファイルを削除したら、スキャンを実行して、悪意のあるファイルによってインストールされた可能性のあるすべてのファイルが削除されていることを確認することを検討してください。詳細については、のGuardDuty でのオンデマンドマルウェアスキャンの開始」を参照してください。
EC2 インスタンスの影響特性
影響特性は、露出の潜在的なブラスト半径を表します。Security Hub は、EC2 インスタンスに関連付けられた AWS Identity and Access Management プリンシパルの有効なアクセス許可を分析し、インスタンスが侵害された場合に攻撃者が到達できるダウンストリームリソースを特定します。各影響特性は、特定の特権エスカレーションパターンを識別します。ブラスト半径を減らすには、各特性で説明されているアクセス許可パスを確認し、不要な権限を削除します。
標準のセキュリティ原則に従い、タスクの実行に必要なアクセス許可のみを提供することで、最小権限を付与します。広範なポリシーを、必要な特定のアクションとリソースのみを付与するスコープダウンポリシーに置き換えます。削除する未使用のアクセス許可を特定するには、IAM Access Analyzer を使用して、アクセス履歴に基づいてレコメンデーションを生成します。詳細については、IAM ユーザーガイドの「外部アクセスと未使用のアクセスの検出結果」および「最小特権のアクセス許可の適用」を参照してください。
フルコントロール特権エグゼキュター
関連付けられたプリンシパルは、ロールを に渡し、既に昇格されたアクセス許可を持つコンピューティングリソースにコードを挿入できます。これにより、プリンシパルはエグゼキュターを完全に制御し、エグゼキュターのロールが許可するアクションを実行できます。
ポリシーの直接エスカレーション
関連付けられたプリンシパルは、IAM ポリシーを直接変更して追加のアクセス許可を付与し、中間リソースなしで独自の権限をエスカレートできます。
信頼ポリシーのハイジャック
関連付けられたプリンシパルは、IAM ロールの信頼ポリシーを変更して、そのロールを引き受けることを自身に許可し、ロールのアクセス許可を取得できます。
データランサムウェア
関連付けられたプリンシパルは、カスタマーマネージド AWS KMS キーを使用して Amazon S3 オブジェクトを暗号化し、キーポリシーを変更するなど、ランサムウェアに使用できる方法でデータを暗号化または削除できます。
制限を削除する
関連付けられたプリンシパルは、アクセス許可の境界、サービスコントロールポリシー、リソースベースのポリシー拒否ステートメントなどのセキュリティ制限を削除し、他のプリンシパルやリソース自体にできることを拡張できます。
ロール作成エグゼキュターを渡す
関連付けられたプリンシパルは、新しいコンピューティングリソース (Lambda 関数や Amazon EC2 インスタンスなど) を作成し、特権ロールを渡すことで、新しいリソースを通じて独自のアクセス許可を効果的に強化できます。
ロールの既存のエグゼキュターをスワップする
関連付けられたプリンシパルは、既存のコンピューティングリソースにアタッチされた IAM ロールを変更し、より特権のあるロールに置き換えてアクセスをエスカレートできます。
ロールチェーンのエスカレーション
関連付けられたプリンシパルは一連のロールを引き受けることができます。チェーン内の各ロールには徐々に広範なアクセス許可があり、最終的には特権の高いロールに到達します。
コード特権エグゼキュターを挿入する
関連付けられたプリンシパルは、昇格されたアクセス許可を持つ実行中のコンピューティングリソースにコードを挿入し、そのリソースの特権ロールで任意のオペレーションを実行できます。
監査証跡を無効にする
関連付けられたプリンシパルは、CloudTrail などのログ記録またはモニタリングサービスを無効にして、エスカレーション中またはエスカレーション後にトラックを効果的にカバーできます。
既存のエグゼキュターにアクセスする
関連付けられたプリンシパルは、既存のコンピューティングリソースを呼び出すか接続し、アタッチされたロールを使用して特権アクションを実行できます。
認証情報のマイニング
関連付けられたプリンシパルは、他のプリンシパルの新しい長期的な認証情報 (アクセスキーやログインプロファイルなど) を作成し、パスワードのローテーションやセッションの有効期限が切れても存続する永続的なアクセスパスを確立できます。
ロールデータアクセスを渡す
関連付けられたプリンシパルは、サービスリソースを作成し、機密データにアクセスできるロールを渡すことができ、新しいリソースを介してそのデータに間接的にアクセスできます。
ロールタスクハイジャックを渡す
関連付けられたプリンシパルは、スケジュールされたタスクまたはイベント駆動型タスク (イベントによってトリガーされる Lambda 関数など) にロールを渡すことができ、そのロールのアクセス許可を持つ任意のコードを実行できます。
シングルホップデータアクセス
関連付けられたプリンシパルは、中間エスカレーションステップを必要とせずに、既存のアクセス許可を通じて機密データリソース (Amazon S3 バケットや DynamoDB テーブルなど) に直接アクセスできます。
機能の向上
関連付けられたプリンシパルには、直接割り当てられたアクセス許可が提案する以上の全体的な機能を進める特権エスカレーションパスがあります。これは、より具体的なパターンと一致しないパスの一般的な分類です。