Amazon ECS의 Fargate 보안 모범 사례 - Amazon Elastic Container Service

Amazon ECS의 Fargate 보안 모범 사례

AWS Fargate를 사용할 때 다음 모범 사례를 고려하는 것이 좋습니다. 추가 지침은 Security overview of AWS Fargate를 참조하세요.

AWS KMS를 사용하여 Fargate를 위한 임시 스토리지 암호화

AWS KMS 또는 고객 관리형 키로 임시 스토리지를 암호화해야 합니다. 기본적으로 플랫폼 버전 1.4.0 이상을 사용하여 Fargate에서 호스팅되는 작업은 각각 최소 20GiB 이상의 임시 스토리지를 받습니다. 자세한 내용은 고객 관리형 키(CMK)를 참조하세요. 임시 스토리지의 총량은 작업 정의에 ephemeralStorage 파라미터를 지정하여 최대 200GiB까지 늘릴 수 있습니다. 2020년 5월 28일 이후 시작된 작업의 경우, Fargate에서 관리하는 암호화 키를 사용하는 AES-256 암호화 알고리즘으로 임시 스토리지가 암호화됩니다.

자세한 내용은 Amazon ECS 작업에 대한 스토리지 옵션을 참조하세요.

예: 임시 스토리지 암호화를 사용하여 Fargate 플랫폼 버전 1.4.0에서 작업 시작

다음 명령은 Fargate 플랫폼 버전 1.4에서 작업을 시작합니다. 이 작업은 클러스터의 일부로 시작되므로 자동으로 암호화되는 20GiB의 임시 스토리지를 사용합니다.

aws ecs run-task --cluster clustername \ --task-definition taskdefinition:version \ --count 1 --launch-type "FARGATE" \ --platform-version 1.4.0 \ --network-configuration "awsvpcConfiguration={subnets=[subnetid],securityGroups=[securitygroupid]}" \ --region region

Fargate를 사용한 커널 시스템 호출 추적을 위한 SYS_PTRACE 기능

컨테이너에서 추가되거나 삭제되는 Linux 기능의 기본 구성은 Docker에서 제공됩니다.

Fargate에서 시작된 태스크는 SYS_PTRACE 커널 기능 추가만 지원합니다.

다음 비디오는 Sysdig Falco 프로젝트를 통해 이 기능을 사용하는 방법을 보여줍니다.

앞의 비디오에서 설명한 코드는 여기 GitHub에서 찾을 수 있습니다.

Fargate Runtime Monitoring과 함께 Amazon GuardDuty 사용

Amazon GuardDuty는 AWS 환경 내 계정, 컨테이너, 워크로드 및 데이터를 보호하는 데 도움이 되는 위협 감지 서비스입니다. GuardDuty는 기계 학습(ML) 모델, 이상 및 위협 감지 기능을 통해 다양한 로그 소스와 런타임 활동을 지속적으로 모니터링하여 사용자 환경의 잠재적 보안 위험과 악의적 활동을 식별하고 우선순위를 지정합니다.

GuardDuty의 Runtime Monitoring은 AWS 로그 및 네트워킹 활동을 지속적으로 모니터링하여 악의적 동작 또는 무단 동작을 식별함으로써 Fargate에서 실행되는 워크로드를 보호합니다. Runtime Monitoring은 파일 액세스, 프로세스 실행 및 네트워크 연결과 같은 호스트 내 동작을 분석하는 경량의 완전관리형 GuardDuty 보안 에이전트를 사용합니다. 여기에는 권한 에스컬레이션, 노출된 자격 증명 사용 또는 악의적인 IP 주소 및 도메인과의 통신, 그리고 Amazon EC2 인스턴스 및 컨테이너 워크로드에 존재하는 맬웨어 같은 문제가 포함됩니다. 자세한 내용은 GuardDuty 사용 설명서의 GuardDuty Runtime Monitoring을 참조하세요.