

# SEC 8  저장된 데이터는 어떻게 보호합니까?
<a name="w2aac19b7c13b7"></a>

무단 액세스 또는 취급 부주의의 위험을 줄이기 위해 여러 제어 기능을 구현하여 저장된 데이터를 보호합니다.

**Topics**
+ [SEC08-BP01 보안 키 관리 구현](sec_protect_data_rest_key_mgmt.md)
+ [SEC08-BP02 저장 시 암호화 적용](sec_protect_data_rest_encrypt.md)
+ [SEC08-BP03 저장 데이터 보호 자동화](sec_protect_data_rest_automate_protection.md)
+ [SEC08-BP04 액세스 제어 적용](sec_protect_data_rest_access_control.md)
+ [SEC08-BP05 사람들이 데이터에 쉽게 액세스할 수 없도록 하는 메커니즘 사용](sec_protect_data_rest_use_people_away.md)

# SEC08-BP01 보안 키 관리 구현
<a name="sec_protect_data_rest_key_mgmt"></a>

 키의 저장, 교체, 액세스 제어를 포함하는 암호화 방식을 정의함으로써 권한이 없는 사용자로부터 콘텐츠를 보호하고 권한이 있는 사용자에게도 불필요한 콘텐츠 노출이 발생하는 것을 방지할 수 있습니다. AWS Key Management Service(AWS KMS)를 사용하면 암호화 키를 관리하고 [다양한 AWS 서비스와 통합할 수 있습니다](https://aws.amazon.com/kms/details/#integration). 이 서비스는 AWS KMS 키에 내구성과 보안성이 뛰어난 중복 스토리지를 제공합니다. 키 별칭과 키 수준 정책을 정의할 수 있습니다. 정책을 사용하면 키 관리자와 키 사용자를 정의할 수 있습니다. 또한 AWS CloudHSM은 AWS 클라우드에서 고유한 암호화 키를 쉽게 생성하여 사용할 수 있는 클라우드 기반 하드웨어 보안 모듈(HSM)입니다. HSM을 사용하면 FIPS 140-2 수준 3 확인된 HSM을 통해 데이터 보안 관련 회사, 계약 및 규정 준수 요구 사항을 충족할 수 있습니다. 

 **이 모범 사례가 수립되지 않을 경우 노출되는 위험의 수준:** 높음 

## 구현 가이드
<a name="implementation-guidance"></a>
+  AWS KMS 구현: AWS KMS를 사용하면 키 생성과 관리가 쉬워지며 광범위한 AWS 서비스 및 애플리케이션 내에서 암호화 사용을 제어할 수 있습니다. AWS KMS는 키 보호를 위해 FIPS 140-2 인증 하드웨어 보안 모듈을 사용하는 안전하고 복원력이 높은 서비스입니다. 
  +  [시작하기: AWS Key Management Service(AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html) 
+  AWS Encryption SDK 고려: 애플리케이션이 클라이언트 측 데이터를 암호화해야 하는 경우 AWS KMS가 통합된 AWS Encryption SDK를 사용합니다. 
  +  [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html) 

## 리소스
<a name="resources"></a>

 **관련 문서:** 
+  [AWS Key Management Service](https://aws.amazon.com/kms) 
+  [AWS 암호화 서비스 및 도구](https://docs.aws.amazon.com/crypto/latest/userguide/awscryp-overview.html) 
+  [시작하기: AWS Key Management Service(AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html) 
+  [암호화를 사용하여 Amazon S3 데이터 보호](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingEncryption.html) 

 **관련 동영상:** 
+  [AWS에서 암호화가 작동하는 방식](https://youtu.be/plv7PQZICCM) 
+  [AWS에서 블록 스토리지 보호](https://youtu.be/Y1hE1Nkcxs8) 

# SEC08-BP02 저장 시 암호화 적용
<a name="sec_protect_data_rest_encrypt"></a>

 데이터를 저장할 때 반드시 암호화를 사용하도록 해야 합니다. AWS Key Management Service(AWS KMS)는 여러 AWS 서비스와 원활하게 통합되므로 모든 저장 데이터를 쉽게 암호화할 수 있습니다. 예를 들어 Amazon Simple Storage Service(Amazon S3)의 경우 버킷에 [기본 암호화](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) 를 설정하여 새 객체가 모두 자동으로 암호화되도록 하면 됩니다. 또한 [Amazon Elastic Compute Cloud(Amazon EC2) ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default)및 [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-bucket-encryption.html) 는 기본 암호화 설정을 통해 암호화를 기본적으로 적용하도록 지원합니다. 전용 인프라에서 [AWS Config 규칙](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) 를 사용하여 예를 들면 다음에 암호화를 사용하고 있는지 자동으로 검사할 수 있습니다. [Amazon Elastic Block Store(Amazon EBS) 볼륨](https://docs.aws.amazon.com/config/latest/developerguide/encrypted-volumes.html), [Amazon Relational Database Service(Amazon RDS) 인스턴스](https://docs.aws.amazon.com/config/latest/developerguide/rds-storage-encrypted.html)및 [Amazon S3 버킷](https://docs.aws.amazon.com/config/latest/developerguide/s3-default-encryption-kms.html). 

 **이 모범 사례가 수립되지 않을 경우 노출되는 위험의 수준:** 높음 

## 구현 가이드
<a name="implementation-guidance"></a>
+  Amazon Simple Storage Service(Amazon S3)에 저장 시 암호화 적용: Amazon S3 버킷 기본 암호화를 구현합니다. 
  +  [S3 버킷에 기본 암호화를 사용하려면 어떻게 해야 합니까?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/default-bucket-encryption.html) 
+  AWS Secrets Manager 사용: Secrets Manager는 보안 암호를 쉽게 관리할 수 있게 해 주는 AWS 서비스입니다. 데이터베이스 자격 증명, 암호, 타사 API 키는 물론 임의의 텍스트도 보안 정보에 해당할 수 있습니다. 
  +  [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 
+  새 EBS 볼륨에 기본 암호화 구성: AWS에서 제공하는 기본 키 또는 사용자가 생성한 키를 사용하는 옵션을 통해, 새로 생성되는 모든 EBS 볼륨이 암호화된 형식으로 생성되도록 지정합니다. 
  +  [EBS 볼륨의 기본 암호화](https://aws.amazon.com/blogs/aws/new-opt-in-to-default-encryption-for-new-ebs-volumes/) 
+  암호화된 Amazon Machine Image(AMI) 구성: 암호화가 활성화된 기존 AMI를 복사하면 루트 볼륨과 스냅샷이 자동으로 암호화됩니다. 
  +  [암호화된 스냅샷이 있는 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html) 
+  Amazon Relational Database Service(Amazon RDS) 암호화 구성: 암호화 옵션을 활성화하여 저장된 Amazon RDS 데이터베이스 클러스터 및 스냅샷에 대해 암호화를 구성합니다. 
  +  [Amazon RDS 리소스 암호화](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Overview.Encryption.html) 
+  기타 AWS 서비스에 암호화 구성: 사용하는 AWS 서비스에서 암호화 기능을 결정합니다. 
  +  [AWS 설명서](https://docs.aws.amazon.com/) 

## 리소스
<a name="resources"></a>

 **관련 문서:** 
+  [암호화된 스냅샷이 있는 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html) 
+  [AWS 암호화 도구](https://docs.aws.amazon.com/aws-crypto-tools) 
+  [AWS 설명서](https://docs.aws.amazon.com/) 
+  [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html) 
+  [AWS KMS 암호화 세부 정보 백서](https://docs.aws.amazon.com/kms/latest/cryptographic-details/intro.html) 
+  [AWS Key Management Service](https://aws.amazon.com/kms) 
+  [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 
+  [AWS 암호화 서비스 및 도구](https://docs.aws.amazon.com/crypto/latest/userguide/awscryp-overview.html) 
+  [Amazon EBS 암호화](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) 
+  [EBS 볼륨의 기본 암호화](https://aws.amazon.com/blogs/aws/new-opt-in-to-default-encryption-for-new-ebs-volumes/) 
+  [Amazon RDS 리소스 암호화](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html) 
+  [S3 버킷에 기본 암호화를 사용하려면 어떻게 해야 합니까?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/default-bucket-encryption.html) 
+  [암호화를 사용하여 Amazon S3 데이터 보호](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingEncryption.html) 

 **관련 동영상:** 
+  [AWS에서 암호화가 작동하는 방식](https://youtu.be/plv7PQZICCM) 
+  [AWS에서 블록 스토리지 보호](https://youtu.be/Y1hE1Nkcxs8) 

# SEC08-BP03 저장 데이터 보호 자동화
<a name="sec_protect_data_rest_automate_protection"></a>

 자동화된 도구를 사용하여 저장된 데이터 제어를 지속적으로 검증하고 적용합니다. 예를 들어 암호화된 스토리지 리소스만 있는지 확인합니다. 다음을 사용하여 [모든 EBS 볼륨이 암호화되었는지 검증을 자동화](https://docs.aws.amazon.com/config/latest/developerguide/encrypted-volumes.html) 할 수 있습니다. [AWS Config 규칙](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)참조. [AWS Security Hub CSPM](http://aws.amazon.com/security-hub/) 를 사용하여 보안 표준을 기준으로 자동화된 검사를 통해 몇 가지 제어의 유효성을 확인할 수도 있습니다. 또한 AWS Config 규칙는 자동으로 [규정 미준수 리소스를 수정할 수 있습니다.](https://docs.aws.amazon.com/config/latest/developerguide/remediation.html#setup-autoremediation). 

 **이 모범 사례가 수립되지 않을 경우 노출되는 위험의 수준:** 보통 

## 구현 가이드
<a name="implementation_guidance"></a>

 *저장된 데이터* 란 워크로드의 어느 기간에서든지 비휘발성 스토리지에 지속되는 모든 데이터를 의미합니다. 여기에는 블록 스토리지, 객체 스토리지, 데이터베이스, 아카이브, IoT 디바이스 그리고 데이터가 지속되는 모든 기타 스토리지 미디어가 포함됩니다. 저장된 데이터를 보호하여 암호화 및 적절한 액세스 제어가 구현될 경우 무단 액세스 위험이 감소합니다. 

 저장 시 암호화 적용: 데이터를 저장할 때 반드시 암호화를 사용하도록 해야 합니다. AWS KMS는 여러 AWS 서비스와 원활하게 통합되므로 모든 저장 데이터를 쉽게 암호화할 수 있습니다. 예를 들어 Amazon Simple Storage Service(Amazon S3)의 경우 버킷에 [기본 암호화](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) 를 설정하여 새 객체가 모두 자동으로 암호화되도록 하면 됩니다. 또한 [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) 및 [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-bucket-encryption.html) 는 기본 암호화 설정을 통해 암호화를 기본적으로 적용하도록 지원합니다. 전용 인프라에서 [AWS Managed Config Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) 를 사용하여 예를 들면 다음에 암호화를 사용하고 있는지 자동으로 검사할 수 있습니다. [EBS 볼륨](https://docs.aws.amazon.com/config/latest/developerguide/encrypted-volumes.html), [Amazon Relational Database Service(Amazon RDS) 인스턴스](https://docs.aws.amazon.com/config/latest/developerguide/rds-storage-encrypted.html)및 [Amazon S3 버킷](https://docs.aws.amazon.com/config/latest/developerguide/s3-default-encryption-kms.html). 

## 리소스
<a name="resources"></a>

 **관련 문서:** 
+  [AWS 암호화 도구](https://docs.aws.amazon.com/aws-crypto-tools) 
+  [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html) 

 **관련 동영상:** 
+  [AWS에서 암호화가 작동하는 방식](https://youtu.be/plv7PQZICCM) 
+  [AWS에서 블록 스토리지 보호](https://youtu.be/Y1hE1Nkcxs8) 

# SEC08-BP04 액세스 제어 적용
<a name="sec_protect_data_rest_access_control"></a>

저장된 데이터를 보호할 수 있도록 백업, 격리, 버전 관리 등의 메커니즘과 최소 권한을 사용하여 액세스 제어를 적용합니다. 운영자가 데이터에 대한 퍼블릭 액세스 권한을 부여하지 못하게 합니다. 

 액세스(최소 권한 사용), 백업( [신뢰성 백서](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html)참조), 격리, 버전 관리와 같은 서로 다른 제어 기능은 모두 저장 데이터 보호에 도움이 됩니다. 데이터에 대한 액세스 권한은 CloudTrail 등 본 백서의 앞부분에서 다룬 탐지 메커니즘과 Amazon Simple Storage Service(Amazon S3) 액세스 로그와 같은 서비스 수준 로그를 사용하여 감사해야 합니다. 공개적으로 액세스할 수 있는 데이터의 인벤토리를 만들고, 사용 가능한 데이터의 양을 점차 줄이는 방법을 계획해야 합니다. Amazon Glacier 저장소 잠금 및 Amazon S3 객체 잠금은 필수 액세스 제어를 제공하는 기능입니다. 규정 준수 옵션으로 저장소 정책을 잠그면 루트 사용자도 잠금이 만료되기 전까지는 변경할 수 없습니다. 이 메커니즘은 SEC, CFTC 및 FINRA의 장부 및 기록 관리 요구 사항에 부합합니다. 자세한 내용은 [이 백서](https://d1.awsstatic.com/whitepapers/Amazon-GlacierVaultLock_CohassetAssessmentReport.pdf). 

 **이 모범 사례가 수립되지 않을 경우 노출되는 위험의 수준:** 낮음 

## 구현 가이드
<a name="implementation-guidance"></a>
+  액세스 제어 적용: 암호화 키 액세스를 포함하여 최소 권한을 사용하는 액세스 제어를 적용합니다. 
  +  [Amazon S3 리소스에 대한 액세스 권한 관리 소개](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-managing-access-s3-resources.html) 
+  다양한 분류 수준에 따라 데이터 분리: 데이터 분류 수준에 AWS Organizations에서 관리하는 서로 다른 AWS 계정을 사용합니다. 
  +  [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) 
+  AWS KMS 정책 검토: AWS KMS 정책에서 부여한 액세스 수준을 검토합니다. 
  +  [AWS KMS 리소스에 대한 액세스 권한 관리 개요](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html) 
+  Amazon S3 버킷 및 객체 권한 검토: Amazon S3 버킷 정책에서 부여된 액세스 수준을 주기적으로 검토합니다. 공개적으로 버킷을 읽거나 버킷에 쓸 수 없도록 설정하는 것이 모범 사례입니다. 또한 AWS Config를 사용하여 공개적으로 사용 가능한 버킷을 감지하고 Amazon CloudFront를 사용하여 Amazon S3에서 콘텐츠를 제공하는 것이 좋습니다. 
  +  [AWS Config 규칙](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) 
  +  [Amazon S3 \$1 Amazon CloudFront: A Match Made in the Cloud(Amazon S3 \$1 Amazon CloudFront: 클라우드 최적의 조합)](https://aws.amazon.com/blogs/networking-and-content-delivery/amazon-s3-amazon-cloudfront-a-match-made-in-the-cloud/) 
+  Amazon S3 버전 관리 및 객체 잠금을 사용합니다. 
  +  [버전 관리 사용](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) 
  +  [Amazon S3 객체 잠금을 사용한 객체 잠금](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) 
+  Amazon S3 인벤토리 사용: Amazon S3 인벤토리는 객체의 복제 및 암호화 상태를 감사하고 보고하는 데 사용할 수 있는 도구 중 하나입니다. 
  +  [Amazon S3 인벤토리](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) 
+  Amazon EBS 및 AMI 공유 권한 검토: 권한을 공유하면 워크로드 외부의 AWS 계정과 이미지 및 볼륨을 공유할 수 있습니다. 
  +  [Amazon EBS 스냅샷 공유](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html) 
  +  [공유 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharing-amis.html) 

## 리소스
<a name="resources"></a>

 **관련 문서:** 
+  [AWS KMS 암호화 세부 정보 백서](https://docs.aws.amazon.com/kms/latest/cryptographic-details/intro.html) 

 **관련 동영상:** 
+  [Securing Your Block Storage on AWS(AWS에서 블록 스토리지 보호)](https://youtu.be/Y1hE1Nkcxs8) 

# SEC08-BP05 사람들이 데이터에 쉽게 액세스할 수 없도록 하는 메커니즘 사용
<a name="sec_protect_data_rest_use_people_away"></a>

 정상적인 운영 상황에서 모든 사용자가 민감한 데이터와 시스템에 직접 액세스하지 못하도록 합니다. 예를 들어 변경 관리 워크플로를 사용하여 직접 액세스를 허용하는 대신 도구나 Bastion 호스트를 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 관리할 수 있습니다. 이렇게 하려면 [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html)을 사용할 수 있으며, 이 서비스는 작업을 수행할 때 사용하는 단계가 포함된 [자동화 문서](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 를 사용합니다. 이러한 문서는 소스 제어에 저장되고, 실행하기 전에 피어 검토를 받고, 철저한 테스트를 받아 셸 액세스와 비교해 위험을 최소화할 수 있습니다. 비즈니스 사용자에게는 데이터 스토어에 대한 직접적인 액세스 대신 대시보드를 제공하여 쿼리를 실행하게 할 수 있습니다. CI/CD 파이프라인이 사용되지 않는 경우, 정상적으로 비활성화된 브레이크-글라스 액세스 메커니즘을 적절하게 제공하기 위해 필요한 제어 및 프로세스를 결정합니다. 

 **이 모범 사례가 수립되지 않을 경우 노출되는 위험의 수준:** 낮음 

## 구현 가이드
<a name="implementation-guidance"></a>
+  사람들이 데이터에 쉽게 액세스할 수 없도록 하는 메커니즘 구현: 이러한 메커니즘에는 직접 쿼리하는 대신 Quick와 같은 대시보드를 사용하여 사용자에게 데이터를 표시하는 방식이 포함됩니다. 
  +  [Quick](https://aws.amazon.com/quicksight/) 
+  구성 관리 자동화: 구성 관리 서비스 또는 도구를 사용하여 원격으로 작업을 수행하고 보안 구성을 자동으로 적용하고 확인합니다. 배스천 호스트를 사용하거나 EC2 인스턴스에 직접 액세스하지 않습니다. 
  +  [AWS Systems Manager](https://aws.amazon.com/systems-manager/) 
  +  [AWS CloudFormation](https://aws.amazon.com/cloudformation/) 
  +  [AWS 기반 AWS CloudFormation 템플릿용 CI/CD 파이프라인](https://aws.amazon.com/quickstart/architecture/cicd-taskcat/) 

## 리소스
<a name="resources"></a>

 **관련 문서:** 
+  [AWS KMS 암호화 세부 정보 백서](https://docs.aws.amazon.com/kms/latest/cryptographic-details/intro.html) 

 **관련 동영상:** 
+  [How Encryption Works in AWS(AWS에서 암호화가 작동하는 방식)](https://youtu.be/plv7PQZICCM) 
+  [Securing Your Block Storage on AWS(AWS에서 블록 스토리지 보호)](https://youtu.be/Y1hE1Nkcxs8) 