의 보안 모범 사례 AWS CloudTrail - AWS CloudTrail

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

의 보안 모범 사례 AWS CloudTrail

AWS CloudTrail 는 자체 보안 정책을 개발하고 구현할 때 고려해야 할 여러 보안 기능을 제공합니다. 다음 모범 사례는 일반적인 지침이며 완벽한 보안 솔루션을 나타내지는 않습니다. 이러한 모범 사례는 환경에 적절하지 않거나 충분하지 않을 수 있으므로 참고용으로만 사용해 주십시오.

CloudTrail 탐지 보안 모범 사례

추적 생성

AWS 계정의 지속적인 이벤트 기록을 위해 추적을 생성해야 합니다. CloudTrail 는 추적을 생성하지 않고 CloudTrail 콘솔에서 관리 이벤트에 대한 90일 이벤트 기록 정보를 제공하지만 영구 레코드는 아니며 가능한 모든 유형의 이벤트에 대한 정보를 제공하지 않습니다. 지속적인 레코드 및 지정하는 모든 이벤트 유형이 포함된 레코드를 얻으려면 추적을 생성해야 합니다. 추적은 지정된 Amazon S3 버킷에 로그 파일을 제공합니다.

CloudTrail 데이터 관리에 도움이 되도록 모든 에서 관리 이벤트를 기록하는 하나의 추적을 생성한 다음 Amazon S3 버킷 활동 또는 AWS Lambda 함수 AWS 리전와 같은 리소스에 대한 특정 이벤트 유형을 기록하는 추가 추적을 생성하는 것이 좋습니다.

다음과 같은 몇 가지 단계를 수행할 수 있습니다.

모든 에 추적 적용 AWS 리전

AWS 계정의 IAM 자격 증명 또는 서비스가 수행한 이벤트에 대한 전체 레코드를 얻으려면 각 추적을 모든 의 이벤트를 로깅하도록 구성해야 합니다 AWS 리전. 모든 에서 이벤트를 로깅하면 발생한 AWS 리전에 관계없이 AWS 계정에서 발생하는 AWS 리전모든 이벤트가 로깅됩니다. 여기에는 글로벌 서비스 이벤트 로깅이 포함되며, 이 이벤트는 해당 서비스에 특정 AWS 리전에 로깅됩니다. 모든 리전에 적용되는 추적을 생성하면 는 각 리전의 이벤트를 CloudTrail 기록하고 지정한 S3 버킷에 CloudTrail 이벤트 로그 파일을 전달합니다. 모든 리전에 적용되는 추적을 생성한 후 AWS 리전을 추가하면 해당 새 리전이 자동으로 포함되며 해당 리전의 이벤트가 로깅됩니다. CloudTrail 콘솔에서 추적을 생성할 때 기본 옵션입니다.

다음과 같은 몇 가지 단계를 수행할 수 있습니다.

CloudTrail 로그 파일 무결성 활성화

검증된 로그 파일은 보안 및 과학 수사에서 특히 중요합니다. 예를 들어, 검증된 로그 파일을 사용하면 로그 파일 자체가 변경되지 않았거나 특정 IAM 자격 증명이 특정 API 활동을 수행했음을 긍정적으로 주장할 수 있습니다. 또한 CloudTrail 로그 파일 무결성 검증 프로세스를 통해 로그 파일이 삭제 또는 변경되었는지 알 수 있으며, 지정된 기간 동안 계정에 로그 파일이 전송되지 않았다고 긍정적으로 주장할 수 있습니다. CloudTrail 로그 파일 무결성 검증은 해싱의 경우 SHA-256, 디지털 서명의 경우 SHA-256이라는 업계 표준 알고리즘RSA을 사용합니다. 이렇게 하면 탐지 없이 로그 파일을 수정, 삭제 또는 위조 CloudTrail할 수 있는 계산이 불가능합니다. 자세한 내용은 검증 활성화 및 파일 검증 단원을 참조하십시오.

Amazon CloudWatch Logs와 통합

CloudWatch 로그를 사용하면 에서 캡처한 특정 이벤트에 대한 알림을 모니터링하고 받을 수 있습니다 CloudTrail. CloudWatch 로그로 전송되는 이벤트는 추적에서 로깅하도록 구성된 이벤트이므로 모니터링에 관심이 있는 이벤트 유형(관리 이벤트 데이터 이벤트 및/또는 네트워크 활동 이벤트(미리 보기))을 로깅하도록 추적 또는 추적을 구성했는지 확인하세요.

예를 들어 실패한 AWS Management Console 로그인 이벤트와 같은 키 보안 및 네트워크 관련 관리 이벤트를 모니터링할 수 있습니다.

다음과 같은 몇 가지 단계를 수행할 수 있습니다.

Amazon 사용 GuardDuty

Amazon GuardDuty 은 계정, 컨테이너, 워크로드 및 AWS 환경 내 데이터를 보호하는 데 도움이 되는 위협 탐지 서비스입니다. 기계 학습(ML) 모델과 이상 및 위협 탐지 기능을 사용하여 는 다양한 로그 소스를 GuardDuty 지속적으로 모니터링하여 환경의 잠재적 보안 위험과 악의적인 활동을 식별하고 우선 순위를 지정합니다.

예를 들어, GuardDuty 는 인스턴스 시작 역할을 통해 Amazon EC2 인스턴스용으로만 생성되었지만 내 다른 계정에서 사용 중인 보안 인증 정보를 감지하는 경우 잠재적인 보안 인증 정보 유출을 감지합니다 AWS. 자세한 내용은 Amazon GuardDuty 사용 설명서 섹션을 참조하세요.

--set-visible-to-all-users AWS Security Hub

를 사용하여 보안 모범 사례와 관련된 CloudTrail 의 사용량을 모니터링합니다AWS Security Hub. Security Hub는 탐지 보안 컨트롤을 사용하여 리소스 구성 및 보안 표준을 평가하여 다양한 규정 준수 프레임워크를 준수할 수 있도록 지원합니다. Security Hub를 사용하여 CloudTrail 리소스를 평가하는 방법에 대한 자세한 내용은 AWS Security Hub 사용 설명서AWS CloudTrail 제어를 참조하세요.

CloudTrail 예방 보안 모범 사례

에 대한 다음 모범 사례는 보안 사고를 방지하는 데 도움이 될 CloudTrail 수 있습니다.

중앙 집중식 전용 Amazon S3 버킷에 로그

CloudTrail 로그 파일은 IAM 자격 증명 또는 서비스가 수행한 작업에 대한 감사 로그입니다 AWS . 이러한 로그의 무결성, 완전성 및 가용성은 과학 수사와 감사를 위해 매우 중요합니다. 중앙 집중식 전용 Amazon S3 버킷에 로그하면 엄격한 보안 제어, 액세스 및 업무 분리를 시행할 수 있습니다.

다음과 같은 몇 가지 단계를 수행할 수 있습니다.

  • 별도의 AWS 계정을 로그 아카이브 계정으로 생성합니다. 를 사용하는 경우 조직에 이 계정을 AWS Organizations등록하고 조직의 모든 AWS 계정에 대한 데이터를 로깅하는 조직 추적을 생성하는 것을 고려해 보세요.

  • Organizations를 사용하지 않지만 여러 AWS 계정에 대한 데이터를 로깅하려는 경우 추적을 생성하여 이 로그 아카이브 계정의 활동을 로깅합니다. 계정 및 감사 데이터에 액세스할 수 있어야 하는 신뢰할 수 있는 관리 사용자로만 이 계정에 대한 액세스를 제한합니다.

  • 조직 추적이든 단일 AWS 계정의 추적이든 추적 생성의 일환으로 전용 Amazon S3 버킷을 생성하여 이 추적에 대한 로그 파일을 저장합니다.

  • 두 개 이상의 AWS 계정에 대한 활동을 로깅하려면 AWS 계정 활동을 로깅하려는 모든 AWS 계정에 대한 로그 파일을 로깅하고 저장할 수 있도록 버킷 정책을 수정합니다.

  • 조직 추적을 사용하지 않으려는 경우 로그 아카이브 계정에서 Amazon S3 버킷을 지정하여 모든 AWS 계정에서 추적을 생성합니다.

AWS KMS 관리형 키와 함께 서버 측 암호화 사용

기본적으로 에서 S3 버킷 CloudTrail 으로 전달되는 로그 파일은 KMS 키(SSE-KMS)를 사용하여 서버 측 암호화를 사용하여 암호화됩니다. 에서 SSE-KMS를 사용하려면 KMS 키라고AWS KMS key도 하는 를 CloudTrail생성하고 관리합니다.

참고

SSE-KMS 및 로그 파일 검증을 사용하고 Amazon S3 버킷 정책을 SSE-KMS 암호화된 파일만 허용하도록 수정한 경우 다음 정책 예와 같이 버킷 정책을 수정하여 AES256 암호화를 특별히 허용하지 않는 한 해당 버킷을 활용하는 추적을 생성할 수 없습니다.

"StringNotEquals": { "s3:x-amz-server-side-encryption": ["aws:kms", "AES256"] }

다음과 같은 몇 가지 단계를 수행할 수 있습니다.

기본 Amazon SNS 주제 정책에 조건 키 추가

Amazon 에 알림을 보내도록 추적을 구성하면 가 콘텐츠를 SNS 주제로 CloudTrail 보낼 수 있도록 허용하는 주제 액세스 정책에 정책 문을 SNS CloudTrail 추가합니다SNS. 보안 모범 사례로 Amazon SNS 주제 정책 문에 aws:SourceArn (또는 선택적으로 aws:SourceAccount) 조건 키를 추가하는 것이 좋습니다. 이렇게 하면 SNS 주제에 대한 무단 계정 액세스를 방지하는 데 도움이 됩니다. 자세한 내용은 에 대한 아마존 SNS 주제 정책 CloudTrail 단원을 참조하십시오.

로그 파일을 저장하는 Amazon S3 버킷에 대한 최소 권한 액세스 구현

CloudTrail 는 사용자가 지정한 Amazon S3 버킷에 대한 로그 이벤트를 추적합니다. 이러한 로그 파일에는 IAM 자격 증명 및 AWS 서비스가 수행한 작업에 대한 감사 로그가 포함됩니다. 이러한 로그 파일의 무결성과 완전성은 감사와 과학 수사를 위해 매우 중요합니다. 무결성을 보장하려면 CloudTrail 로그 파일 저장에 사용되는 Amazon S3 버킷에 대한 액세스를 생성하거나 수정할 때 최소 권한 원칙을 준수해야 합니다.

다음 단계를 따릅니다.

로그 파일을 저장하는 Amazon S3 버킷에서 MFA 삭제 활성화

다중 인증(MFA)을 구성할 때 는 버킷의 버전 관리 상태를 변경하거나 버킷에서 객체 버전을 삭제하려고 시도할 때 추가 인증이 필요합니다. 이렇게 하면 사용자가 Amazon S3 객체를 영구적으로 삭제할 권한이 있는 IAM 사용자의 암호를 얻더라도 로그 파일을 손상시킬 수 있는 작업을 방지할 수 있습니다.

다음과 같은 몇 가지 단계를 수행할 수 있습니다.

참고

수명 주기 구성에는 MFA 삭제를 사용할 수 없습니다. 수명 주기 구성 및 다른 구성과 상호 작용하는 방법에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서수명 주기 및 다른 버킷 구성 섹션을 참조하세요.

로그 파일을 저장하는 Amazon S3 버킷에서 객체 수명 주기 관리 구성

CloudTrail 추적 기본값은 추적에 대해 구성된 Amazon S3 버킷에 로그 파일을 무기한 저장하는 것입니다. Amazon S3 객체 수명 주기 관리 규칙을 사용하여 비즈니스 및 감사 필요에 더 적합하게 자체 보존 정책을 정의할 수 있습니다. 예를 들어, 1년보다 오래된 로그 파일을 Amazon Glacier에 보관하거나, 일정 시간이 지난 후 로그 파일을 삭제할 수 있습니다.

참고

다중 인증(MFA) 지원 버킷의 수명 주기 구성은 지원되지 않습니다.

정책에 대한 AWSCloudTrail_FullAccess 액세스 제한

AWSCloudTrail_FullAccess 정책을 사용하는 사용자는 AWS 계정에서 가장 민감하고 중요한 감사 기능을 비활성화하거나 재구성할 수 있습니다. 이 정책은 AWS 계정의 자격 IAM 증명에 광범위하게 공유하거나 적용하기 위한 것이 아닙니다. 이 정책의 적용을 AWS 계정 관리자 역할을 할 것으로 예상되는 개인을 가능한 한 적게 제한합니다.