티스토리 뷰

반응형

AWS CloudTrail의 보안 모범 사례

CloudTrail 탐지 보안 모범 사례

1. 추적 생성

AWS 계정의 이벤트 기록을 보유하려면 Trail을 생성해야 한다. CloudTrail은 Trail을 생성하지 않고 CloudTrail Console에서 관리 이벤트에 대한 90일의 이벤트 기록정보를 제공하지만, 이 기록은 영구적이지 않을 뿐더러 모든 유형의 이벤트에 대한 정보를 제공하는게 아니다. 따라서 지속적인 레코드 및 모든 이벤트 유형이 포함된 레코드를 얻으려면 Trail을 생성해야 한다. Trail은 지정하는 AWS Amazon S3 Bucket에 Log 파일을 저장한다.

 

CloudTrail 데이터를 관리하는데 용이하도록 모든 AWS 리전에서 관리이벤트를 로깅하는 Trail 하나를 생성한 후 AWS Amazon S3 Bucket 활동 또는 AWS Lambda 함수와 같은 Resource에 대한 특정 이벤트 유형을 로깅하는 Trail을 생성하는 것이 좋다.

 

2. 추적을 모든 AWS 리전에 적용

AWS 계정에서 IAM 사용자, 역할 및 서비스가 수행하는 이벤트의 전체 레코드를 획득하기 위해서모든 AWS 리전에서 이벤트를 로깅하도록 각 Trail을 구성해야 한다. 모든 리전에 적용되는 Trail을 생성하면 CloudTrail은 각 리전에만 이벤트를 기록하고 CloudTrail Log 파일을 지정한 AWS Amazon S3 Bucket에 전송한다. 이렇게 하는게 CloudTrail의 기본 옵션이다.

 

3. Amazon CloudWatch Logs와 통합

CloudWatch Logs를 사용하게되면 CloudTrail에서 캡처한 특정 이벤트에 대한 알림을 모니터링하고 수신할 수 있다. 모니터링하려는 이벤트 유형을 로깅하도록 구성된 Trail이 있는지 확인해야 한다. 

 

AWS Config에서 cloud-trail-cloud-watch-logs-enabled 규칙을 사용해 모든 Trail이 모니터링을 위한 이벤트를 CloudWatch Logs로 전송하도록 보장하는 지속적인 탐지 제어를 구현하는 것이 좋다.

 

 

CloudTrail 예방 보안 모범 사례

1. 중앙 집중식 전용 AWS Amazon S3 Bucket에 로깅

CloudTrail Log 파일은 IAM 사용자, 역할 또는 AWS 서비스가 수행하는 작업의 감사 Log이다. 이러한 Log의 무결성, 완전성 및 가용성은 매우 중요하다.

  • 별도의 AWS 계정을 Log 아카이브 계정으로 생성한다. AWS Organizations를 사용하는 경우 해당 계정을 조직에 등록하고 조직 Trail을 생성하여 조직의 모든 AWS 계정에 대한 데이터를 로깅하는 것이 좋다.
  • 조직을 사용하지 않지만 여러 AWS 계정에 대한 데이터를 로깅하는 경우 Trail을 생성해 이 Log 아카이브 계정의 활동을 로깅한다. 계정 및 감사 데이터에 액세스할 수 있어야 하는 신뢰할 수 있는 관리 사용자로만 이 계정에 대한 액세스를 제한한다.
  • Trail 생성의 일부로, 조직 Trail이든 단일 AWS 계정에 대한 Trail이든 상관없이, 이 Trail에 대한 Log파일을 전용 AWS Amazon S3 Bucket을 생성한다.
  • 하나 이상의 AWS 계정에 대한 활동을 로깅하려는 경우 AWS 계정 활동을 로깅하려고 하는 모든 AWS 계정에 대한 Log 파일의 로깅 및 저장을 허용하도록 Amazon S3 Bucket의 정책을 수정한다.
  • 조직 Trail을 사용하지 않으려는 경우 Log 아카이브 계정에서 Amazon S3 Bucket을 지정해 모든 AWS 계정에서 Trail을 생성하도록 한다.

 

2. AWS KMS 관리형 키를 사용한 서버 측 암호화

기본적으로 CloudTrail이 Amazon S3 Bucket에 제공하는 Log 파일은 Amazon S3 관리형 키(SSE-S3)를 사용하는 서버 측 암호화로 암호화된다. 직접 관리할 수 있는 보안 계층을 제공하기 위해 CloudTrail Log 파일에 대한 AWS KMS 관리형 키(SSE-KMS)로 서버 측 암호화를 대신할 수 있다. CloudTrail로 SSE-KMS를 사용하려면 고객 마스터 키(CMK)로 알려져 있는 KMS를 생성하고 관리해야 한다.

 

3. Log 파일을 저장하는 AWS Amazon S3 Bucket에 대한 최소 권한 액세스를 구현

CloudTrail은 지정한 Amazon S3 Bucket으로 Log 이벤트를 추적해 전송한다. 이러한 Log 파일에는 IAM 사용자, 역할 및 AWS 서비스가 수행하는 작업의 감사 Log가 포함된다. 이러한 Log파일의 무결성과 완전성은 매우 중요하다. 무결성을 보장하기 위해 CloudTrail Log 파일을 저장하는데 사용되는 모든 Amazon S3 Bucket에 대한 접근 권한을 생성하고 수정할 때 최소 권한의 원칙을 준수해야 한다.

 

4. Log 파일을 저장하는 Amazon S3 Bucket에서 MFA Delete 활성화

MFA를 구성하면 버킷의 버전 관리 상태를 변경하거나 객체 버전을 영구적으로 삭제하려고 할 때 추가 인증이 필요하다. 이 기능은 사용자가 Amazon S3 객체를 영구적으로 삭제할 권한이 있는 IAM 사용자의 암호를 획득하더라도 Log 파일의 무결성을 손상시킬 수 없도록 방지할 수 있다.

 

5. Log 파일을 저장하는 Amazon S3 Bucket에서 객체 수명 주기 관리 구성

CLoudTrail의 Trail 기본 값은 구성된 Amazon S3 Bucket에 Log 파일을 무한히 저장하는 것이다. 이는 Amazon S3 객체 수명 주기 관리 규칙을 통해 더 적합하게 자체 보존 정책을 정의할 수 있다. (1년보다 오래된 로그파일을 Amazon Glacier에 보관하거나, 삭제하거나 등의 작업)

 

6. AWSCloudTrailFullAccess 정책에 대한 액세스 제한

해당 정책이 있는 사용자는 자신의 AWS 계정에서 가장 민감하고 중요한 감사 기능을 비활성화하거나 재구성할 수 있다. 해당 정책은 AWS 계정의 사용자 및 역할에 광범위하게 적용하거나 공유하기 위한 것이 아니다. 그러므로 AWSCloudTrailiFullAccess 정책이 부여된 엔터티의 수를 최소한으로 해야한다.

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함