AWS에서 발생하는 모든 API 호출과 활동을 기록하는 것은 보안의 기본입니다. 누군가 여러분의 리소스를 삭제했거나 설정을 변경했을 때, 그 흔적이 없다면 어떻게 대응할 수 있을까요?
CloudTrail은 AWS 계정의 모든 활동을 기록하는 블랙박스와 같습니다. 하지만 많은 조직이 CloudTrail을 일부 리전에만 활성화하거나, 로그를 제대로 보호하지 않아 정작 필요한 순간에 로그를 확인할 수 없는 경우가 발생합니다.
이 가이드에서는 모든 리전에 CloudTrail을 활성화하고, 로그를 안전하게 보호하는 방법을 단계별로 알아보겠습니다.
<aside> 💡
새벽 3시, 누군가 운영 환경 데이터베이스를 삭제했습니다. 하지만 해당 리전에 CloudTrail이 활성화되어 있지 않아 누가, 언제, 어디서 삭제 명령을 설명했는지 알 수 없습니다.
</aside>
즉, CloudTrail이 없다면 사고의 원인을 파악할 수 없고, 재발 방지 대책을 세울 수도 없습니다.
외부 해킹보다 더 위험한 것은 내부자의 악의적 행동입니다. CloudTrail이 없다면 권한을 남용하는 내부자를 감지할 수 없습니다.
먼저 CloudTrail 로그를 저장할 전용 S3 버킷을 생성합니다. 이 버킷은 로그 전용으로만 사용해야 합니다. 버킷 정책 설정을 통해 CloudTrail 서비스만 로그를 쓸 수 있도록 버킷 정책을 설정합니다.
실수로 로그가 삭제되는 것을 방지하기 위해 MFA Delete를 활성화합니다. 이렇게 하면 로그 삭제 시 MFA 인증이 필요합니다.
규정 준수 모드로 Object Lock을 설정하여 지정된 기간 동안 로그를 삭제할 수 없도록 합니다.