본문 바로가기
CSP (Cloud Service Provider)/AWS

AWS Log 수집 전략

by BTC_Crong 2024. 1. 25.

베하~! 안녕하세요 1-Tier팀 입니다.

보안 사고에 대응하려면 로그를 잘 수집해야 합니다.

적절한 로그 수집에 따라 적절한 호출 쿼리를 통해 신속하고 효울적으로 보안 사고에 대응할 수 있게되고 사고 경위와 범위를 이해하는데 활용할 수 있습니다.

이번 포스팅에서는 다양한 로그와 수집 전략에 대해 배워보도록 하겠습니다.

 

AWS는 위협 탐지용 GuardDuty와 사고 분석용 Detective 같은 관리형 서비스를 제공하는데 사용자 지정 분석을 수행하거나 추가적인 로그 수집을 위해서는 다양한 방법을 고려해야 합니다.

로그 수집

AWS 환경에 배포된 애플리케이션의 구성 요소와 계층에 대한 스택을 잘 파악한 후 소스별로 로그를 수집해야 합니다.

그 이유와 로그 수집 활성화 방법, 저장 옵션에 대해 알아보겠습니다.

 

계정 로그

AWS CloudTrail

콘솔 로그인부터 CF(CloudFormation)의 각 리소스 배포까지 계정에서 발생한 다양한 이벤트가 생성됩니다.

CloudTrail을 사용하면 이러한 계정 활동을 기록하고 모니터링하고 데이터를 보관할 수 있으며, 세 가지 이벤트 유형으로 저장합니다.

 

- 관리 이벤트 : 계정의 리소스에 대한 작업 로그 (S3 버킷 생성/삭제 작업 등)

- 데이터 이벤트 : 계정의 리소스 내 작업 로그 (Lamda함수 호출, S3의 DML 작업 등)

- 인사이트 이벤트 : 계정의 비정상적인 API 호출, 오류 이벤트 로그

 

AWS Config

계정의 AWS 리소스 구성에 대한 자세한 보기를 제공하고 리소스가 서로 어떻게 연관되어 있는지, 과거에 어떻게 구성되었는지 등이 포함되므로 시간이 지남에 따라 구성과 관계가 어떻게 변하는지 확인할 수 있습니다.

 

리소스가 배포된 각 리전에서 AWS Config를 사용 설정해야 하며, AWS Config가 기록하는 리소스에 대한 세부 정보가 포함된 구성 기록 및 구성 스냅샷 파일을 수신하도록 S3 버킷을 구성해야 합니다.

 

AWS Config를 활용하면 보안 이벤트 전후의 리소스 정책 변경 등을 리소스 구성 기록을 확인할 수 있습니다.

운영 체제와 애플리케이션 로그

OS와 애플리케이션 로그는 EC2의 보안 이벤트와 관련이 있습니다.

OS 및 애플리케이션 로그는 서버의 권한 사용여부와 프로세스, 로그인 이벤트, 파일 시스템 로그를 추적할 수 있으며 CloudWatch 에이전트를 사용하면 EC2 인스턴스 및 온프레미스 서버에서 메트릭과 로그를 수집할 수 있습니다.

데이터베이스 로그

SQL 데이터베이스를 사용하면 트랜잭션을 기록하여 데이터베이스의 추가 또는 삭제와 같은 수정 사항을 추적합니다.

장애가 발생한 후 데이터베이스를 일관된 상태로 복원하려면 트랜잭션 로그가 필요한데, CloudWatch를 사용하면 데이터베이스 로그를 수집할 수 있습니다.

네트워크 로그

통신에 대한 인사이트를 얻어 네트워크 문제 해결, 멀웨어 활동에 대한 포렌식 조사 등 다양한 이유로 네트워크 로그가 필요할 수 있습니다.

AWS에서는 트래픽 미러링을 통해 네트워크 트래픽을 로깅 서버로 전송하여 네트워크 로그를 기록할 수 있으며 Route53 DNS 쿼리 로그, VPC Flow 로그 등을 수집할 수 있습니다.

액세스 로그

공용 엔드포인트의 액세스 패턴을 식별하려면 액세스 로그가 필요하며 로드 밸런서에 전송된 요청을 수집하여 수신 시간, 클라이언트 IP, 지연 시간, 서버 응답 등의 정보를 저장할 수 있습니다.

또한 WAF, S3, CF에 대한 액세스 로그도 수집, 저장할 수 있습니다.

서버리스 로그

배포된 코드의 상호 작용과 변경 사항을 보여주는 로그 뿐만 아니라 배포된 코드 자체의 변경 사항과 권한 있는 액세스를 부여하는 Lambda 실행 역할의 액세스 권한을 수집할 수 있습니다.

Lamda 함수의 로깅에는 함수 자체의 작동 방식과 함수가 수행하는 작업 요소가 포함됩니다.

결론

보안 이벤트에 효과적으로 대응하려면 애플리케이션 아키텍처 내의 다양한 계층에서 로그를 수집해야 합니다.

또한, 로그를 통해 보안 이벤트 발생 시 사고 상황과 영향을 받은 리소스의 범위를 명확하게 파악할 수 있습니다.

 

 

그럼 다음 포스팅에서 뵙겠습니다. 베빠~!

 

 

 

 

참고 : AWS 기술 블로그

댓글