Amazon EC2 인스턴스 적용 범위 - 아마존 GuardDuty

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon EC2 인스턴스 적용 범위

Amazon EC2 리소스의 경우 런타임 커버리지는 인스턴스 수준에서 평가됩니다. Amazon EC2 인스턴스는 사용자 환경에서 다양한 유형의 애플리케이션과 워크로드를 실행할 수 있습니다. AWS 이 기능은 Amazon ECS 관리형 Amazon EC2 인스턴스도 지원하며, Amazon EC2 인스턴스에서 Amazon ECS 클러스터를 실행하는 경우 인스턴스 수준의 커버리지 문제는 Amazon EC2 런타임 커버리지에 표시됩니다.

적용 범위 통계 검토

사용자 계정 또는 멤버 계정과 연결된 Amazon EC2 인스턴스의 적용 범위 통계는 선택한 인스턴스의 모든 EC2 인스턴스에서 정상 EC2 인스턴스가 차지하는 AWS 리전비율입니다. 다음 등식은 이를 다음과 같이 나타냅니다.

(정상 인스턴스/모든 인스턴스) *100

Amazon ECS 클러스터용 GuardDuty 보안 에이전트도 배포한 경우 Amazon 인스턴스에서 실행되는 Amazon ECS 클러스터와 관련된 모든 인스턴스 수준 적용 범위 문제는 Amazon EC2 EC2 인스턴스 런타임 적용 범위 문제로 나타납니다.

액세스 방법 중 하나를 선택하여 계정의 적용 범위 통계를 검토합니다.

Console
  • 에서 AWS Management Console 로그인하고 GuardDuty 콘솔을 여십시오 https://console.aws.amazon.com/guardduty/.

  • 탐색 창에서 [런타임 모니터링] 을 선택합니다.

  • 런타임 커버리지 탭을 선택합니다.

  • EC2인스턴스 런타임 커버리지 탭에서 인스턴스 목록 테이블에 있는 각 Amazon EC2 인스턴스의 커버리지 상태별로 집계된 커버리지 통계를 볼 수 있습니다.

    • 다음 열을 기준으로 인스턴스 목록 테이블을 필터링할 수 있습니다.

      • 계정 ID

      • 에이전트 관리 유형

      • 에이전트 버전

      • 적용 범위 상태

      • 인스턴스 ID

      • 클러스터 ARN

  • 커버리지 상태가 비정상인 EC2 인스턴스가 있는 경우 Issue 열에는 비정상 상태의 이유에 대한 추가 정보가 포함됩니다.

API/CLI
  • 자신의 유효한 탐지기 ID, 현재 지역 및 서비스 ListCoverageAPI엔드포인트로 실행하십시오. 이를 사용하여 인스턴스 목록을 필터링하고 정렬할 수 API 있습니다.

    • CriterionKey에 대한 다음 옵션 중 하나를 사용하여 예시 filter-criteria를 변경할 수 있습니다.

      • ACCOUNT_ID

      • RESOURCE_TYPE

      • COVERAGE_STATUS

      • AGENT_VERSION

      • MANAGEMENT_TYPE

      • INSTANCE_ID

      • CLUSTER_ARN

    • RESOURCE_TYPEas가 filter-criteria 포함된 EC2경우 런타임 모니터링은 ISSUEas의 사용을 지원하지 않습니다AttributeName. 사용하면 API 응답 결과가 다음과 같이 나타납니다InvalidInputException.

      다음 옵션을 사용하여 sort-criteria에서 예시 AttributeName을 변경할 수 있습니다.

      • ACCOUNT_ID

      • COVERAGE_STATUS

      • INSTANCE_ID

      • UPDATED_AT

    • 변경할 수 있습니다.max-results (최대 50개).

    • 계정과 현재 지역을 찾으려면 https://console.aws.amazon.com/guardduty/콘솔의 설정 페이지를 참조하거나 를 실행하십시오 ListDetectorsAPI. detectorId

    aws guardduty --region us-east-1 list-coverage --detector-id 12abc34d567e8fa901bc2d34e56789f0 --sort-criteria '{"AttributeName": "EKS_CLUSTER_NAME", "OrderBy": "DESC"}' --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"111122223333"}}] }' --max-results 5
  • GetCoverageStatisticsAPI실행하여 를 기반으로 커버리지 집계 통계를 검색하십시오. statisticsType

    • 다음 옵션 중 하나를 사용하여 예시 statisticsType을 변경할 수 있습니다.

      • COUNT_BY_COVERAGE_STATUS— 커버리지 상태별로 집계된 EKS 클러스터의 커버리지 통계를 나타냅니다.

      • COUNT_BY_RESOURCE_TYPE— 목록에 있는 AWS 리소스 유형에 따라 집계된 커버리지 통계입니다.

      • 명령에서 예시 filter-criteria를 변경할 수 있습니다. CriterionKey에 대해 다음 옵션을 사용할 수 있습니다.

        • ACCOUNT_ID

        • RESOURCE_TYPE

        • COVERAGE_STATUS

        • AGENT_VERSION

        • MANAGEMENT_TYPE

        • INSTANCE_ID

        • CLUSTER_ARN

    • 계정과 현재 지역에 detectorId 대한 정보를 찾으려면 https://console.aws.amazon.com/guardduty/콘솔의 설정 페이지를 참조하거나 를 실행하십시오. ListDetectorsAPI

    aws guardduty --region us-east-1 get-coverage-statistics --detector-id 12abc34d567e8fa901bc2d34e56789f0 --statistics-type COUNT_BY_COVERAGE_STATUS --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"123456789012"}}] }'

EC2인스턴스의 커버리지 상태가 비정상인 경우 을 참조하십시오적용 범위 문제 해결.

적용 범위 상태 변경 알림 구성

Amazon EC2 인스턴스의 커버리지 상태가 비정상으로 표시될 수 있습니다. 커버리지 상태가 언제 변경되는지 확인하려면 주기적으로 커버리지 상태를 모니터링하고 상태가 비정상으로 바뀌면 문제를 해결하는 것이 좋습니다. 또는 보장 상태가 비정상에서 건강으로 또는 기타 상태로 변경될 때 알림을 받도록 Amazon EventBridge 규칙을 생성할 수 있습니다. 기본적으로 계정의 EventBridge 버스에 이 내용을 GuardDuty 게시합니다.

샘플 알림 스키마

EventBridge 규칙적으로 사전 정의된 샘플 이벤트와 이벤트 패턴을 사용하여 커버리지 상태 알림을 받을 수 있습니다. EventBridge 규칙 생성에 대한 자세한 내용은 Amazon EventBridge 사용 설명서의 규칙 생성을 참조하십시오.

또한 다음 예시 알림 스키마를 사용하여 사용자 지정 이벤트 패턴을 생성할 수 있습니다. 계정에 대한 값을 바꿔야 합니다. Amazon EC2 인스턴스의 커버리지 상태가 에서 HealthyUnhealthy 변경될 때 알림을 받으려면 detail-type 다음을 수행해야 합니다.GuardDuty Runtime Protection Unhealthy. 커버리지 상태가 에서 Unhealthy 로 변경될 때 알림을 받으려면 의 값을 Healthy 다음으로 detail-type 바꾸십시오.GuardDuty Runtime Protection Healthy.

{ "version": "0", "id": "event ID", "detail-type": "GuardDuty Runtime Protection Unhealthy", "source": "aws.guardduty", "account": "AWS 계정 ID", "time": "event timestamp (string)", "region": "AWS 리전", "resources": [ ], "detail": { "schemaVersion": "1.0", "resourceAccountId": "string", "currentStatus": "string", "previousStatus": "string", "resourceDetails": { "resourceType": "EC2", "ec2InstanceDetails": { "instanceId":"", "instanceType":"", "clusterArn": "", "agentDetails": { "version":"" }, "managementType":"" } }, "issue": "string", "lastUpdatedAt": "timestamp" } }

적용 범위 문제 해결

Amazon EC2 인스턴스의 커버리지 상태가 비정상인 경우 Issue 열에서 이유를 확인할 수 있습니다.

EC2인스턴스가 EKS 클러스터와 연결되어 있고 의 보안 에이전트를 수동으로 설치하거나 자동 에이전트 구성을 통해 설치한 경우 적용 범위 문제를 해결하려면 을 참조하십시오. EKS Amazon EKS 클러스터 적용 범위

다음 표에는 문제 유형과 해당 문제 해결 단계가 나열되어 있습니다.

문제 유형 이슈 메시지 문제 해결 단계

상담원 신고 없음

SSM알림 대기 중

Amazon EC2 인스턴스가 이미 SSM 관리되고 있는지 확인하십시오. SSM알림을 받는 데 몇 분 정도 걸릴 수 있습니다.

(일부러 비워 두세요)

GuardDuty 보안 에이전트를 수동으로 관리하는 경우 아래 단계를 따랐는지 확인하십시오Amazon EC2 인스턴스의 보안 에이전트를 수동으로 관리.

자동 에이전트 구성을 활성화한 경우:

조직에 서비스 제어 정책 (SCP) 이 있는 경우 guardduty:SendSecurityTelemetry 권한을 거부하지 않는지 확인하세요. 자세한 내용은 조직 서비스 제어 정책 검증 단원을 참조하십시오.

상담원 연결이 끊겼습니다.

  • 보안 에이전트의 상태를 확인하세요. 자세한 내용은 GuardDuty 보안 에이전트 설치 상태 검증 단원을 참조하십시오.

  • 보안 에이전트 로그를 보고 잠재적인 근본 원인을 식별하십시오. 로그는 문제를 직접 해결하는 데 사용할 수 있는 자세한 오류를 제공합니다. 로그 파일은 에서 /var/log/amzn-guardduty-agent/ 확인할 수 있습니다.

    Do sudo journalctl -u amazon-guardduty-agent.

SSM연결 생성에 실패했습니다.

GuardDuty SSM계정에 이미 연결이 있습니다.

  1. 기존 연결을 수동으로 삭제하십시오. 자세한 내용은 AWS Systems Manager 사용 설명서의 연결 삭제를 참조하십시오.

  2. 연결을 삭제한 후에는 EC2 Amazon의 GuardDuty 자동 에이전트 구성을 비활성화했다가 다시 활성화하십시오.

계정에 너무 많은 SSM 연결이 있습니다.

다음 두 옵션 중 하나를 선택하세요.

  • 사용하지 않는 SSM 연결을 모두 삭제합니다. 자세한 내용은 AWS Systems Manager 사용 설명서의 연결 삭제를 참조하십시오.

  • 계정이 할당량 증가 대상이 되는지 확인하세요. 자세한 내용은 의 Systems Manager 서비스 할당량을 참조하십시오. AWS 일반 참조

SSM연결 업데이트 실패

GuardDuty SSM계정에 연결이 존재하지 않습니다.

GuardDuty SSM계정에는 연결이 없습니다. 런타임 모니터링을 비활성화한 다음 다시 활성화합니다.

SSM연결 삭제 실패

GuardDuty SSM계정에 연결이 존재하지 않습니다.

계정에는 SSM 연결이 없습니다. SSM연결을 의도적으로 삭제한 경우에는 별도의 조치가 필요하지 않습니다.

SSM인스턴스 연결 실행 실패

아키텍처 요구 사항 또는 기타 사전 요구 사항이 충족되지 않았습니다.

검증된 운영 체제 배포에 대한 자세한 내용은 을 참조하십시오. Amazon EC2 인스턴스 지원을 위한 사전 요구 사항

이 문제가 계속 발생하는 경우 다음 단계를 통해 문제를 식별하고 잠재적으로 해결할 수 있습니다.

  1. 에서 AWS Systems Manager 콘솔을 https://console.aws.amazon.com/systems-manager/여십시오.

  2. 탐색 창의 노드 관리에서 상태 관리자를 선택합니다.

  3. 문서 이름 속성으로 필터링하고 를 입력합니다 AmazonGuardDuty-ConfigureRuntimeMonitoringSsmPlugin.

  4. 해당 연결 ID를 선택하고 실행 기록을 확인합니다.

  5. 실행 기록을 사용하여 실패를 확인하고 잠재적인 근본 원인을 식별하여 해결을 시도해 보십시오.

VPC엔드포인트 생성 실패

VPC공유에는 엔드포인트 생성이 지원되지 않습니다. VPC vpcId

런타임 모니터링은 조직 VPC 내 공유 항목 사용을 지원합니다. 자세한 내용은 자동 보안 VPC 에이전트와 공유 사용 단원을 참조하십시오.

자동 VPC 에이전트와 공유 구성을 사용하는 경우에만

소유자 계정 ID 111122223333 공유용 VPC vpcId 런타임 모니터링, 자동 에이전트 구성 또는 둘 다 활성화되어 있지 않음

공유 VPC 소유자 계정은 하나 이상의 리소스 유형 (Amazon EKS 또는 Amazon ECS (AWS Fargate)) 에 대해 런타임 모니터링 및 자동 에이전트 구성을 활성화해야 합니다. 자세한 내용은 런타임 모니터링과 관련된 GuardDuty 사전 요구 사항 단원을 참조하십시오.

비공개를 DNS 활성화하려면 enableDnsSupportenableDnsHostnames VPC 속성을 모두 for로 설정해야 합니다true.vpcId (서비스: Ec2, 상태 코드:400, 요청 ID: a1b2c3d4-5678-90ab-cdef-EXAMPLE11111).

다음 VPC 속성이 —및 로 true 설정되어 있는지 확인하십시오. enableDnsSupport enableDnsHostnames 자세한 내용은 의 DNS 속성을 참조하십시오 VPC.

Amazon VPC Console https://console.aws.amazon.com/vpc/at를 사용하여 VPC Amazon을 생성하는 경우 DNS호스트 이름 활성화와 DNS 확인 활성화를 모두 선택해야 합니다. 자세한 내용은 VPC구성 옵션을 참조하십시오.

공유 VPC 엔드포인트 삭제 실패

계정 ID에는 공유 VPC 엔드포인트 삭제가 허용되지 않습니다.111122223333, 공유 VPC vpcId, 소유자 계정 ID 555555555555.

잠재적 단계:
  • 공유 VPC 참가자 계정의 런타임 모니터링 상태를 비활성화해도 소유자 계정에 있는 공유 VPC 엔드포인트 정책 및 보안 그룹에는 영향을 미치지 않습니다.

    공유 VPC 엔드포인트 및 보안 그룹을 삭제하려면 공유 VPC 소유자 계정에서 런타임 모니터링 또는 자동 에이전트 구성 상태를 비활성화해야 합니다.

  • 공유 VPC 참가자 계정은 공유 VPC 소유자 계정에 호스팅된 공유 VPC 엔드포인트 및 보안 그룹을 삭제할 수 없습니다.

상담원이 신고하지 않음

(일부러 비워 놓음)

문제 유형이 지원 종료되었습니다. 이 문제가 계속 발생하지만 아직 발생하지 않은 경우 Amazon용 GuardDuty 자동 에이전트를 EC2 활성화하십시오.

문제가 지속되면 Runtime Monitoring을 몇 분 동안 비활성화했다가 다시 활성화하는 것을 고려해 보십시오.