AWS GuardDuty
1. AWS GuardDuty란?
- AWS GuardDuty는 고객이 AWS 워크로드를 보호할 수 있도록 악의적인 행동을 모니터링하는 AWS의 지능형 위협 탐지 서비스
- CloudTrail, DNS 로그, VPC Flow 로그를 기반으로 다양한 해킹시도나 보안위협 탐지
- 크게 EC2 유형, S3 유형 그리고 IAM 유형으로 나뉘어서 IAM과 관련된 명백한 위협활동이나 비정상적인 활동을 사용자가 빠르게 탐지하고 대응할 수 있도록 도와줌
- Cloud 환경에 최적화되어 손쉽게 구축(활성화) 가능함 → 반면 Third Party 솔루션(Splunk Enterprise Security 등)은 비용도 더 비싸고, 구축도 어려움
단점으로는,
- Guard Duty는 DNS 로그에 대해 Route53만 모니터링함
: 즉, 조직에서 사용하는 Active Directory DNS 서버의 로그는 모니터링 되지 않으므로 분석이 불가함
- Guard Duty는 Cloud 환경 내 모든 로그를 탐지하는 것이 아닌 특정 로그만 탐지·분석이 가능함
: EC2 인스턴스 로그, 감사 로그 등은 분석 불가
2. GuardDuty 활성화 (AWS 관리 콘솔 상)
AWS 관리 콘솔에서 GuardDuty 서비스 페이지에 처음 접근하면 아래와 같이 활성화시키는 페이지를 볼 수 있으며, [시작하기] 메뉴를 클릭한다.
(※ 우선 서비스를 설정할 리전(Region) 확인 필요함)
GuardDuty에 대한 간단한 설명이 나오며, 분석을 위해 VPC Flow 로그, DNS 쿼리 로그, CloudTrail 이벤트 로그, EKS 감사 로그를 분석할 수 있는 권한이 부여되는 것을 알 수 있다.
[GuardDuty 활성화] 메뉴를 클릭하여 서비스를 활성화한다.
정상적으로 활성화되면 아래와 같은 화면을 볼 수 있으며, 이제 막 활성화시켜서 현재는 탐지 결과가 없는 것을 확인할 수 있다.
3. GuardDuty 샘플 결과 확인
GuardDuty 서비스를 방금 활성화 시켰기 때문에, 위에서 아직 위협 탐지 결과가 없는 것을 확인하였다.
아래 그림과 같이 [설정] 메뉴에 들어가보면, 샘플 데이터를 확인할 수 있는 메뉴가 존재하는데 해당 메뉴를 통해 탐지된 위협을 어떻게 확인할 수 있는지 알아보고자 한다.
[설정] - [샘플 결과 작성] 메뉴를 클릭한다.
좌측 패널의 [결과]를 클릭하면, 탐지된 위협들이 기록되어 있는 것을 볼 수 있다.
이 중, 확인하고 싶은 위협을 클릭해보면 아래와 같이 상세 정보들도 확인 가능하다.
4. 신뢰할 수 있는 IP 목록 설정
GuardDuty 서비스 사용 시, 신뢰할 수 있는 IP에 대해서는 예외 처리가 가능하다.
예를 들어 사용하는 EC2에 대한 CVE 취약성 테스트를 진행한다고 가정하면, 해당 EC2에 탐지된 위협이 엄청나게 많이 발생할 것이다.
위와 같은 경우, 아래와 같이 신뢰할 수 있는 IP를 추가하면 해당 IP에서 발생하는 위협은 탐지되지 않는다.
[신뢰할 수 있는 IP 목록 추가] 를 클릭한다.
신뢰할 수 있는 IP 목록을 추가한다.
본 실습에서는 IP 주소가 존재하는 텍스트 파일을 하나 생성하여 S3 버킷에 업로드해놓고, 해당 주소를 사용하였다.
활성화 버튼을 클릭한다.
정상적으로 활성화 되었으며, 출력되는 문구와 같이 정상적으로 적용되기까지는 조금 시간이 걸린다.
이렇게 신뢰할 수 있는 IP 목록에 대해 등록이 가능하며, 추가로 위협 IP 목록도 추가 가능하다.
이상으로, AWS GuardDuty 서비스에 대한 정의와 간단한 사용 방법에 대해 알아보았다.