Runtime Monitoring으로 권한 없는 동작 식별하기
Runtime Monitoring으로 권한 없는 동작 식별하기
Amazon GuardDuty는 계정, 컨테이너, 워크로드, AWS 환경 내 데이터를 보호하는 데 도움이 되는 위협 탐지 서비스예요. Runtime Monitoring은 Fargate와 EC2 컨테이너 인스턴스에서 실행되는 워크로드를 보호해요.
출처: 문서
본문
Amazon GuardDuty는 계정, 컨테이너, 워크로드, AWS 환경 내 데이터를 보호하는 데 도움이 되는 위협 탐지 서비스입니다. 머신 러닝(ML) 모델, 이상 및 위협 탐지 기능을 사용해 GuardDuty는 다양한 로그 소스와 런타임 활동을 지속적으로 모니터링하여 환경의 잠재적 보안 위험과 악의적 활동을 식별하고 우선순위를 정합니다.
GuardDuty의 Runtime Monitoring은 AWS 로그 및 네트워킹 활동을 지속적으로 모니터링하여 악의적 또는 권한 없는 동작을 식별함으로써 Fargate와 EC2 컨테이너 인스턴스에서 실행되는 워크로드를 보호합니다. Runtime Monitoring은 파일 접근, 프로세스 실행, 네트워크 연결 같은 온-호스트 동작을 분석하는 경량의 완전 관리형 GuardDuty 보안 에이전트를 사용합니다. 이는 권한 상승, 노출된 자격 증명 사용, 악의적 IP 주소/도메인과의 통신, Amazon EC2 인스턴스 및 컨테이너 워크로드의 맬웨어 존재를 포함한 문제를 다룹니다. 자세한 내용은 GuardDuty User Guide의 GuardDuty Runtime Monitoring을 참고하세요.
보안 관리자는 GuardDuty용 AWS Organizations의 단일 또는 여러 계정에 대해 Runtime Monitoring을 활성화합니다. 또한 Fargate를 사용할 때 GuardDuty가 GuardDuty 보안 에이전트를 자동으로 배포할지 선택합니다. 모든 클러스터는 자동으로 보호되며 GuardDuty가 사용자를 대신해 보안 에이전트를 관리합니다. 다음 경우에 GuardDuty 보안 에이전트를 수동으로 구성할 수도 있습니다.
- EC2 컨테이너 인스턴스를 사용하는 경우
- 클러스터 수준에서 Runtime Monitoring을 활성화하는 세밀한 제어가 필요한 경우
Runtime Monitoring을 사용하려면 보호되는 클러스터를 구성하고 EC2 컨테이너 인스턴스에 GuardDuty 보안 에이전트를 설치하고 관리해야 합니다.
Runtime Monitoring이 Amazon ECS에서 동작하는 방식
Runtime Monitoring은 애플리케이션이 기본 시스템 리소스를 요청, 접근, 소비하는 방법에 대해 Amazon ECS 워크로드 활동을 모니터링하는 경량의 GuardDuty 보안 에이전트를 사용합니다.
- Fargate 작업의 경우 GuardDuty 보안 에이전트는 각 작업의 사이드카 컨테이너로 실행됩니다.
- EC2 컨테이너 인스턴스의 경우 GuardDuty 보안 에이전트는 인스턴스의 프로세스로 실행됩니다.
GuardDuty 보안 에이전트는 다음 리소스에서 데이터를 수집한 다음 처리를 위해 GuardDuty로 보냅니다. GuardDuty 콘솔에서 결과를 볼 수 있습니다. 집계 및 수정을 위해 AWS Security Hub CSPM 같은 다른 AWS 서비스나 타사 보안 공급업체로 보낼 수도 있습니다. 결과를 보고 관리하는 방법은 Amazon GuardDuty User Guide의 Managing Amazon GuardDuty findings를 참고하세요.
- 다음 Amazon ECS API 호출의 응답:
DescribeClusters– 응답 매개변수에는--include TAGS옵션을 사용할 때 Runtime Monitoring 태그(설정된 경우)가 포함됩니다.DescribeTasks– Fargate의 경우 응답 매개변수에는 GuardDuty 사이드카 컨테이너가 포함됩니다.ListAccountSettings– 응답 매개변수에는 보안 관리자가 설정한 Runtime Monitoring 계정 설정이 포함됩니다.
- 컨테이너 에이전트 인트로스펙션 데이터. 자세한 내용은 Amazon ECS container introspection을 참고하세요.
- 컴퓨팅 옵션의 작업 메타데이터 엔드포인트:
- Amazon ECS task metadata endpoint version 4
- Amazon ECS task metadata endpoint version 4 for tasks on Fargate
고려 사항
Runtime Monitoring을 사용할 때 다음을 고려하세요.
- Runtime Monitoring에는 비용이 수반됩니다. 자세한 내용은 Amazon GuardDuty Pricing을 참고하세요.
- Runtime Monitoring은 Amazon ECS Anywhere에서 지원되지 않습니다.
- Runtime Monitoring은 Windows 운영 체제에서 지원되지 않습니다.
- Fargate에서 Amazon ECS Exec를 사용할 때 GuardDuty 보안 에이전트가 사이드카 컨테이너로 실행되므로 컨테이너 이름을 지정해야 합니다.
- GuardDuty 보안 에이전트 사이드카 컨테이너에서는 Amazon ECS Exec를 사용할 수 없습니다.
- 클러스터 수준에서 Runtime Monitoring을 제어하는 IAM 사용자는 태그 지정에 대한 적절한 IAM 권한이 있어야 합니다. 자세한 내용은 IAM User Guide의 IAM tutorial: Define permissions to access AWS resources based on tags를 참고하세요.
- Fargate 작업은 작업 실행 역할을 사용해야 합니다. 이 역할은 작업에 Amazon ECR 프라이빗 저장소에 저장된 GuardDuty 보안 에이전트를 사용자를 대신해 검색, 업데이트, 관리할 권한을 부여합니다.
- Runtime Monitoring은 Amazon ECS Managed Instances에서 실행되는 애플리케이션에는 지원되지 않습니다.
리소스 사용률
- 클러스터에 추가하는 태그는 클러스터 태그 할당량에 포함됩니다.
- GuardDuty 에이전트 사이드카 컨테이너는 작업 정의당 컨테이너 할당량에 포함되지 않습니다.
- 대부분의 보안 소프트웨어와 마찬가지로 GuardDuty에는 약간의 오버헤드가 있습니다. Fargate 메모리 한도에 대한 정보는 GuardDuty User Guide의 CPU and memory limits를 참고하세요. Amazon EC2 메모리 한도에 대한 정보는 CPU and memory limit for GuardDuty agent를 참고하세요.