Amazon GuardDuty(AWS의 관리형 유사 IDS)
AWS 상에서 사용 가능한 IPS(침입 차단 시스템)/IDS(침입 탐지 시스템)을 AWS 마켓 플레이스에서 좀 찾아봤는데 유명한 보안 벤더사 제품들은 거의 다 UTM 형식으로 방화벽, IPS, 웹필터, vpn 등 기타 기능까지 다 합쳐진 형태로 제공하고 있어 IPS/IDS 만 제공하는 이미지는 없는 것으로 보여서 AWS에서 관리형 서비스로 제공하고 있는 IDS 유사 서비스인 GuardDuty에 대해 소개해드릴까합니다.
Amazon GuardDuty 란
AWS 에서는 "Amazon GuardDuty는 AWS 계정, 워크로드 및 Amazon S3에 저장된 데이터를 보호하기 위해 악의적 활동 또는 무단 동작을 지속적으로 모니터링하는 위협 탐지 서비스"라고 GuardDuty를 소개하고 있는데요. GuardDuty는 VPC 플로우 로그와 CloudTrail, DNS 쿼리 로그를 분석하여 보안적인 위협을 탐지하여 사용자에게 알려주는 서비스입니다. GuardDuty를 활성화하면 VPC 플로우 로그와 CloudTrail, DNS 쿼리 로그를 원본 데이터로 하여 EC2, S3 등에 발생하는 네트워크 접근과 API 통신 시도 등을 모니터링합니다. GuardDuty는 기존 NIDS(네트워크 기반 침입 탐지 시스템)과 유사한 서비스의 특징을 가집니다.
서비스 소개 페이지
https://aws.amazon.com/ko/guardduty/
사용자 가이드 문서
https://docs.aws.amazon.com/ko_kr/guardduty/latest/ug/what-is-guardduty.html
Amazon GuardDuty 활성화
GuardDuty 는 30일의 무료 평가판을 제공하여 별도 비용 없이 30일 동안 무료로 GuardDuty 를 체험해볼 수 있습니다. AWS 콘솔의 GuardDuty 서비스로 이동하여 GuardDuty를 활성화합니다. 아래와 같이 권한 및 무료 체험에 대한 안내가 있습니다.
무료체험 기간이 종료되면 아래와 같은 기준으로 비용이 발생합니다. 때문에 AWS에서 이용하고 있는 리소스가 많을수록 비용이 많이 발생하는 것으로 생각됩니다. GuardDuty는 사용량 메뉴를 통해 일일 평균 비용을 예측해볼 수 있습니다.
GuardDuty 사용하기
GuardDuty 서비스의 메뉴는 아래와 같이 구성되어 있습니다.
"결과" 메뉴로 들어가보면 현재 GuardDuty 에 의해 탐지된 위협을 확인할 수 있습니다.
항목을 클릭하면 우측에 아래와 같이 탐지한 위협에 대한 상세 정보를 확인할 수 있습니다. 항목은 크게 위협에 대한 요약, 위협이 발생한 AWS 리소스, 발생한 위협에 대한 정보, 위협을 발생시킨 공격자에 대한 정보로 구성되어 있습니다.
(중략)
최상단에 위치한 "Learn More" 링크를 누르면 해당 위협에 대한 정보와 권장 개선 사항에 대해 확인할 수 있는 AWS 문서로 연결됩니다.
조금 더 구체적으로 어떤 유형의 침입을 탐지하는지 확인해보기 위해 설정 메뉴에서 "샘플 결과 작성" 버튼을 누른뒤, 다시 결과 메뉴로 이동해봅니다.
아래와 같이 샘플로 생성된 여러 위협의 종류가 보입니다. S3 버킷에 대한 부적절한 API 통신 및 EC2 인스턴스에 대한 백도어, 포트 스캔 등이 보이네요.
GuardDuty 는 발생한 원본 데이터(이벤트, 로그)의 양에 따라 비용이 발생하기 때문에 "사용량" 메뉴에서는 데이터 원본별로 어느정도의 비용이 발생하는지 일일 평균 비용을 확인할 수 있습니다. 무료 체험 기간에도 예상 비용을 확인해볼 수 있으나, 7일 이상의 데이터가 축적되어야 확인이 가능하다고 합니다.
추가적으로 설정-목록 메뉴를 통해 신뢰할 수 있는 IP 목록을 추가하여 신뢰할 수 있는 소스 아이피는 모니터링에서 제외하거나, 위협적인 IP 목록을 설정하여 모니터링 대상 범위를 좁히는 것이 가능합니다.
신뢰할 수 있는 IP 목록 및 위협 IP 목록은 텍스트 파일로 직접 작성도 가능하지만 타사 평판 피드를 사용도 가능합니다.
S3 보호 메뉴에서는 S3에 대한 보호를 활성화할지 비활성화할지 설정이 가능합니다.
GuardDuty 는 AWS Organizations 를 지원하여 계정 메뉴를 통해 조직에 속한 여러 AWS 계정을 통합하여 관리할 수 있습니다.
GuardDuty 마스터와 멤버는 각각 아래와 같이 권한을 가집니다.
결론
Amazon GuardDuty 는 AWS 에서 관리형으로 제공하는 IDS이기 때문에 타사 벤더 제품보다 AWS 클라우드 환경을 더 잘 이해하고 있는 서비스라고 생각합니다. 또한 네트워크 통신 구간 중간에 위치하여 네트워크 대역폭 및 지연시간에 영향을 주는 형태가 아니고 VPC 플로우 로그 등을 통해 네트워크 트래픽을 수집하기 때문에 적용 시 구성 및 대역폭, 지연시간 등에 대한 걱정을 하지 않아도 될 것 같습니다. 하지만 반대로 관리형 서비스이기 때문에 어떤 패턴을 모니터링하고 있는지에 대한 내용과 해당 패턴을 사전에 미리 비활성화하는 등에 조작이 어려운 점(특정 결과를 표시하지 않도록 하는 억제규칙이라는 기능은 있음)이 단점이 있는 것으로 보였습니다. 무료 체험 기간동안은 주기적으로 EC2 인스턴스 등에 어떤 위협이 발생하는지 확인해보면서 서비스에 대해 조금 더 파악해보는게 좋을 것 같습니다.