AWS Fargate (Amazon ECS만 해당) 지원을 위한 사전 조건 - Amazon GuardDuty

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

AWS Fargate (Amazon ECS만 해당) 지원을 위한 사전 조건

이 섹션에는 Fargate-Amazon ECS 리소스의 런타임 동작을 모니터링하기 위한 전제 조건이 포함되어 있습니다. 이러한 사전 요구 사항이 충족되면 GuardDuty 런타임 모니터링 활성화을 참조하세요.

아키텍처 요구 사항 검증

사용하는 플랫폼이 GuardDuty 보안 에이전트가 Amazon ECS 클러스터로부터 런타임 이벤트를 수신하는 데 있어 GuardDuty를 지원하는 방식에 영향을 미칠 수 있습니다. 확인된 플랫폼 중 하나를 사용하고 있는지 검증해야 합니다.

초기 고려 사항:

Amazon ECS 클러스터의 AWS Fargate 플랫폼은 Linux여야 합니다. 해당 플랫폼 버전은 1.4.0, 또는 LATEST 이상이어야 합니다. 플랫폼 버전에 대한 자세한 내용은 Amazon Elastic 컨테이너 서비스 개발자 가이드에서 Linux 플랫폼 버전을 참조하세요.

Windows 플랫폼 버전은 아직 지원되지 않습니다.

검증된 플랫폼

OS 배포 및 CPU 아키텍처는 GuardDuty 보안 에이전트가 제공하는 지원에 영향을 미칩니다. 다음 표는 GuardDuty 보안 에이전트를 배포하고 런타임 모니터링을 구성하는 데 있어 검증된 구성을 보여줍니다.

OS 배포1 커널 지원 CPU 아키텍처 x64(AMD64) CPU 아키텍처 Graviton(ARM64)
Linux eBPF, Tracepoints, Kprobe 지원 지원

1다양한 운영 체제 지원 - GuardDuty는 이전 표에 나열된 운영 배포에 대한 런타임 모니터링 지원을 확인했습니다. GuardDuty 보안 에이전트는 위 표에 나열되지 않은 운영 체제에서 실행될 수 있지만 GuardDuty 팀은 예상 보안 값을 보장할 수 없습니다.

컨테이너 이미지 액세스를 위한 사전 조건

다음 사전 조건은 Amazon ECR 리포지토리에서 GuardDuty 사이드카 컨테이너 이미지에 액세스하는 데 도움이 됩니다.

권한 요구 사항

GuardDuty 보안 에이전트 컨테이너 이미지를 다운로드하려면 작업 실행 역할에 특정 Amazon Elastic Container Registry(Amazon ECR) 권한이 필요합니다.

... "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", ...

Amazon ECR 권한을 추가로 제한하려면 GuardDuty 보안 에이전트를 호스팅하는 Amazon ECR 리포지토리 URI를 추가할 수 있습니다 AWS Fargate (Amazon ECS만 해당). 자세한 내용은 Amazon ECR 리포지토리 호스팅 GuardDuty 에이전트 단원을 참조하십시오.

AmazonECSTaskExecutionRolePolicy 관리형 정책을 사용하거나 정책에 위의 권한을 추가할 수 있습니다TaskExecutionRole.

작업 정의 구성

Amazon ECS 서비스를 생성하거나 업데이트할 때 작업 정의에 서브넷 정보를 제공해야 합니다.

Amazon Elastic Container Service APIs 참조에서 CreateServiceUpdateService API를 실행하려면 서브넷 정보를 전달해야 합니다. 자세한 내용은 Amazon Elastic 컨테이너 서비스 개발자 가이드Amazon ECS 작업 정의를 참조하세요.

네트워크 연결 요구 사항

Amazon ECR에서 GuardDuty 컨테이너 이미지를 다운로드하려면 네트워크 연결을 확인해야 합니다. 이 요구 사항은 Amazon ECR을 사용하여 보안 에이전트를 호스팅하기 때문에 GuardDuty에만 적용됩니다. 네트워크 구성에 따라 다음 옵션 중 하나를 구현해야 합니다.

옵션 1 - 퍼블릭 네트워크 액세스 사용(사용 가능한 경우)

Fargate 태스크가 아웃바운드 인터넷 액세스가 가능한 서브넷에서 실행되는 경우 추가 네트워크 구성이 필요하지 않습니다.

옵션 2 - Amazon VPC 엔드포인트 사용(프라이빗 서브넷용)

Fargate 태스크가 인터넷 액세스 없이 프라이빗 서브넷에서 실행되는 경우 GuardDuty 보안 에이전트를 호스팅하는 ECR 리포지토리 URI가 네트워크에 액세스할 수 있도록 ECR에 대한 VPC 엔드포인트를 구성해야 합니다. 이러한 엔드포인트가 없으면 프라이빗 서브넷의 태스크가 GuardDuty 컨테이너 이미지를 다운로드할 수 없습니다.

VPC 엔드포인트 설정 지침은 Amazon Elastic Container Registry 사용 설명서의 Amazon ECR용 VPC 엔드포인트 생성을 참조하세요.

Fargate가 GuardDuty 컨테이너를 다운로드하도록 활성화하는 방법에 대한 자세한 내용은 Amazon Elastic Container Registry 사용 설명서에서 Amazon ECS와 함께 Amazon ECR 이미지 사용을 참조하세요.

보안 그룹 구성

GuardDuty 컨테이너 이미지는 Amazon ECR에 있으며 Amazon S3 액세스가 필요합니다. 이 요구 사항은 Amazon ECR에서 컨테이너 이미지를 다운로드할 때에만 적용됩니다. 네트워크 액세스가 제한된 작업의 경우 S3에 대한 액세스를 허용하도록 보안 그룹을 구성해야 합니다.

포트 443의 S3 관리형 접두사 목록(pl-xxxxxxxx)으로의 트래픽을 허용하는 아웃바운드 규칙을 보안 그룹에 추가합니다. 아웃바운드 규칙을 추가하려면 Amazon VPC 사용 설명서보안 그룹 규칙 구성을 참조하세요.

콘솔에서 AWS관리형 접두사 목록을 보거나 AWS Command Line Interface (AWS CLI)를 사용하여 설명하려면 Amazon VPC 사용 설명서AWS관리형 접두사 목록을 참조하세요.

다중 계정 환경에서 조직 서비스 제어 정책 검증

이 섹션에서는 서비스 제어 정책(SCP) 설정을 검증하여 런타임 모니터링이 조직 전체에서 예상대로 작동하는지 확인하는 방법을 설명합니다.

조직의 권한을 관리하기 위해 하나 이상의 서비스 제어 정책을 설정한 경우 guardduty:SendSecurityTelemetry 작업을 거부하지 않는지 확인해야 합니다. SCPs 작동 방식에 대한 자세한 내용은 AWS Organizations 사용 설명서SCP 평가를 참조하세요.

멤버 계정인 경우 연결된 위임된 관리자와 연결합니다. 조직의 SCPs 관리에 대한 자세한 내용은 AWS Organizations 사용 설명서서비스 제어 정책(SCPs)을 참조하세요.

다중 계정 환경에서 설정한 모든 SCPs에 대해 다음 단계를 수행합니다.

SCP에서 guardduty:SendSecurityTelemetry가 거부되지 않았는지 확인하려면
  1. https://console.aws.amazon.com/organizations/ Organizations 콘솔에 로그인합니다. 조직의 관리 계정에서 IAM 역할로 로그인하거나 루트 사용자(권장되지 않음)로 로그인해야 합니다.

  2. 왼쪽 탐색 창에서 정책을 선택합니다. 그런 다음 지원되는 정책 유형에서 서비스 제어 정책을 선택합니다.

  3. 서비스 제어 정책 페이지에서 검증할 정책의 이름을 선택합니다.

  4. 정책의 세부 정보 페이지에서이 정책의 내용을 확인합니다. guardduty:SendSecurityTelemetry 작업을 거부하지 않는지 확인합니다.

    다음 SCP 정책은 guardduty:SendSecurityTelemetry 작업을 거부하지 않는 예입니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ ..., ..., "guardduty:SendSecurityTelemetry" ], "Resource": "*" } ] }

    정책이이 작업을 거부하는 경우 정책을 업데이트해야 합니다. 자세한 내용은 AWS Organizations 사용 설명서서비스 제어 정책(SCP) 업데이트를 참조하세요.

역할 권한 및 정책 권한 경계 검증

다음 단계를 사용하여 역할 및 해당 정책과 연결된 권한 경계가 제한 guardduty:SendSecurityTelemetry 작업이 아닌지 확인합니다.

역할 및 해당 정책에 대한 권한 경계를 보려면
  1. 에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/iam/ IAM 콘솔을 엽니다.

  2. 왼쪽 탐색 창의 액세스 관리에서 역할을 선택합니다.

  3. 역할 페이지에서 TaskExecutionRole 생성한 역할을 선택합니다.

  4. 선택한 역할 페이지의 권한 탭에서이 역할과 연결된 정책 이름을 확장합니다. 그런 다음이 정책이를 제한하지 않는지 확인합니다guardduty:SendSecurityTelemetry.

  5. 권한 경계가 설정된 경우이 섹션을 확장합니다. 그런 다음 각 정책을 확장하여 guardduty:SendSecurityTelemetry 작업을 제한하지 않는지 검토합니다. 정책은이와 비슷하게 나타나야 합니다Example SCP policy.

    필요에 따라 다음 작업 중 하나를 수행합니다.

    • 정책을 수정하려면 편집을 선택합니다. 이 정책의 권한 수정 페이지에서 정책 편집기에서 정책을 업데이트합니다. JSON 스키마가 유효한지 확인합니다. 그리고 다음을 선택합니다. 그런 다음 변경 사항을 검토하고 저장할 수 있습니다.

    • 이 권한 경계를 변경하고 다른 경계를 선택하려면 경계 변경을 선택합니다.

    • 이 권한 경계를 제거하려면 경계 제거를 선택합니다.

    정책 관리에 대한 자세한 내용은 IAM 사용 설명서의 정책 및 권한을 AWS Identity and Access Management 참조하세요.

CPU 및 메모리 제한

Fargate 작업 정의에서 작업 수준에서 CPU 및 메모리 값을 지정해야 합니다. 다음 표에는 작업 수준 CPU 및 메모리 값의 유효한 조합과 GuardDuty 컨테이너에 대한 해당 GuardDuty 보안 에이전트 최대 메모리 제한이 나와 있습니다.

CPU 값 메모리 값 GuardDuty 에이전트 최대 메모리 제한

256(.25 vCPU)

512 MiB, 1 GB, 2GB

128MB

512(.5 vCPU)

1GB, 2GB, 3GB, 4GB

1024(1 vCPU)

2GB, 3GB, 4GB

5GB, 6GB, 7GB, 8GB

2048(2 vCPU)

4~16GB(1GB 증분)

4096(4 vCPU)

8~20GB(1GB 증분)

8192 (8 vCPU)

16~28GB(4GB 증분)

256MB

32~60GB(4GB 증분)

512MB

16384 (16 vCPU)

32~120GB(8GB 증분)

1GB

런타임 모니터링을 활성화하고 클러스터의 적용 범위 상태가 정상인 것으로 평가한 후 컨테이너 인사이트 지표를 설정하고 볼 수 있습니다. 자세한 설명은 Amazon ECS 클러스터에서 모니터링 설정 섹션을 참조하세요.

다음 단계는 런타임 모니터링을 구성하고 보안 에이전트도 구성하는 것입니다.