1 CloudTrail 로그 파일 무결성 검증 개요
- AWS CloudTrail은 AWS 계정의 거버넌스, 규정 준수, 운영 감사, 위험 감사를 지원하는 서비스입니다.
- CloudTrail은 AWS 인프라 전반에 걸친 계정 활동을 기록하고, 지속적으로 모니터링하며, 보관합니다.
- 이러한 활동 로그의 무결성을 보장하는 것은 매우 중요합니다.
- 이 글에서는 CloudTrail 로그 파일 무결성 검증에 대해 자세히 알아보겠습니다.
2 로그 파일 무결성 검증이란?
- CloudTrail 로그 파일 무결성 검증은 로그 파일이 전달된 후 수정, 삭제 또는 변경되지 않았는지 확인하는 프로세스입니다.
- 이 기능은 업계 표준 알고리즘을 사용하여 구현되었습니다:
- 해싱을 위한 SHA-256
- 디지털 서명을 위한 SHA-256 with RSA
- 이러한 강력한 알고리즘 덕분에 CloudTrail 로그 파일을 감지되지 않게 수정, 삭제 또는 위조하는 것은 사실상 불가능합니다.
- AWS CLI를 사용하여 CloudTrail이 전달한 위치에서 파일을 검증할 수 있습니다.
3 로그 파일 무결성 검증의 중요성
- 로그 파일 무결성 검증은 보안 및 포렌식 조사에서 핵심적인 역할을 합니다.
- 이 기능을 통해 다음과 같은 이점을 얻을 수 있습니다:
- 로그 파일의 원본성 보장: 로그 파일이 생성된 이후 변경되지 않았음을 확인할 수 있습니다.
- 사용자 활동 추적: 특정 사용자가 어떤 API 활동을 수행했는지 정확히 파악할 수 있습니다.
- 로그 파일 변조 탐지: 로그 파일이 삭제되거나 변경되었는지 즉시 알 수 있습니다.
- 로그 누락 확인: 특정 기간 동 안 로그 파일이 생성되지 않았거나 전달되지 않았는지 확인할 수 있습니다.
- 이러한 기능들은 보안 사고 조사, 규정 준수 감사, 그리고 전반적인 시스템 모니터링에 매우 유용합니다.
4 로그 파일 무결성 검증 작동 방식
- CloudTrail은 로그 파일 무결성 검증이 활성화되면 다음과 같은 프로세스를 따릅니다:
- 전달하는 모든 로그 파일에 대해 해시를 생성합니다.
- 매시간마다 지난 1시간 동안의 로그 파일을 참조하고 각 로그 파일의 해시를 포함하는 파일을 생성하고 전달합니다.
- 이 파일을 다이제스트 파일이라고 합니다.
- CloudTrail은 공개 키와 개인 키 쌍의 개인 키를 사용하여 각 다이제스트 파일에 서명합니다.
- 전달 후에는 공개 키를 사용하여 다이제스트 파일을 검증할 수 있습니다.
- CloudTrail은 각 AWS 리전에 대해 서로 다른 키 쌍을 사용합니다.
- 다이제스트 파일 관련 추가 정보:
- CloudTrail 로그 파일과 동일한 Amazon S3 버킷에 전달됩니다.
- 로그 파일과는 별도의 폴더에 저장됩니다.
- 이전 다이제스트 파일이 있는 경우, 현재 다이제스트 파일에는 이전 다이제스트 파일의 디지털 서명도 포함됩니다.
- 현재 다이제스트 파일의 서명은 다이제스트 파일 Amazon S3 객체의 메타데이터 속성에 있습니다.