보안 제어: 데이터 보호
데이터 보호는 액세스 제어, 암호화, 키 관리 및 인증서 관리를 사용하여 중요한 데이터 자산 검색, 분류, 보호 및 모니터링을 포함하여 미사용 데이터 보호, 전송 중 및 권한 있는 액세스 메커니즘을 통한 데이터 보호 제어를 포함합니다.|
DP-1: 중요한 데이터 검색, 분류 및 레이블 지정
CIS Controls v8 ID | NIST SP 800-53 r4 ID | PCI-DSS ID v3.2.1 |
---|---|---|
3.2, 3.7, 3.13 | RA-2, SC-28 | A3.2 |
보안 원칙: 정의된 중요한 데이터 범위에 따라 중요한 데이터의 인벤토리를 설정하고 유지 관리합니다. 도구를 사용하여 범위 내 중요한 데이터를 검색, 분류 및 레이블 지정합니다.
Azure 지침: 이전 Azure Purview 및 Microsoft 365 규정 준수 솔루션을 결합한 Microsoft Purview와 같은 도구를 사용하고, Azure SQL 데이터 검색 및 분류를 사용하여 Azure, 온-프레미스, Microsoft 365 및 기타 위치에 있는 중요한 데이터를 중앙에서 검사, 분류 및 레이블을 지정합니다.
Azure 구현 및 추가 컨텍스트:
- 데이터 분류 개요
- Microsoft Purview 데이터 맵에서 레이블 지정
- Azure Information Protection을 사용하여 중요한 정보 태그 지정
- Azure SQL Data Discovery를 구현하는 방법
- Azure Purview 데이터 원본
AWS 지침: 다양한 원본에서 S3 스토리지 버킷으로 데이터를 복제하고 AWS Macie를 사용하여 버킷에 저장된 중요한 데이터를 검사, 분류 및 레이블을 지정합니다. AWS Macie는 보안 자격 증명, 재무 정보, PHI 및 PII 데이터 또는 사용자 지정 데이터 식별자 규칙에 따라 다른 데이터 패턴과 같은 중요한 데이터를 검색할 수 있습니다.
Azure Purview 다중 클라우드 검사 커넥터를 사용하여 S3 스토리지 버킷에 있는 중요한 데이터를 검사, 분류 및 레이블을 지정할 수도 있습니다.
참고: 데이터 검색 분류 및 레이블 지정을 위해 AWS 마켓플레이스의 타사 엔터프라이즈 솔루션을 사용할 수도 있습니다.
AWS 구현 및 추가 컨텍스트:
GCP 지침: Google 클라우드 데이터 손실 방지와 같은 도구를 사용하여 GCP 및 온-프레미스 환경에 있는 중요한 데이터를 중앙에서 검사, 분류 및 레이블을 지정합니다.
또한 Google Cloud Data Catalog를 사용하여 DLP(클라우드 데이터 손실 방지) 검사 결과를 활용하여 태그 템플릿이 정의된 중요한 데이터를 식별합니다.
GCP 구현 및 추가 컨텍스트:
고객 보안 관련자(자세한 정보):
DP-2: 중요한 데이터를 대상으로 하는 변칙 및 위협 모니터링
CIS Controls v8 ID | NIST SP 800-53 r4 ID | PCI-DSS ID v3.2.1 |
---|---|---|
3.13 | AC-4, SI-4 | A3.2 |
보안 원칙: 엔터프라이즈 가시성 및 제어 외부 위치로 데이터를 무단으로 전송하는 등 중요한 데이터에 대한 변칙을 모니터링합니다. 일반적으로 무단 데이터 반출을 나타낼 수 있는 비정상적인 활동(크거나 비정상적인 전송)에 대한 모니터링이 포함됩니다.
Azure 지침: AIP(Azure Information Protection)를 사용하여 분류 및 레이블이 지정된 데이터를 모니터링합니다.
Microsoft Defender for Storage, SQL용 Microsoft Defender, 오픈 소스 관계형 데이터베이스용 Microsoft Defender 및 Cosmos DB용 Microsoft Defender를 사용하여 중요한 데이터 정보의 무단 전송을 나타낼 수 있는 정보의 비정상적인 전송에 대해 경고합니다.
참고: DLP(데이터 손실 방지) 준수에 필요한 경우 Azure Marketplace 또는 Microsoft 365 DLP 솔루션의 호스트 기반 DLP 솔루션을 사용하여 데이터 반출을 방지하기 위해 검색 및/또는 예방 제어를 적용할 수 있습니다.
Azure 구현 및 추가 컨텍스트:
- SQL용 Azure Defender 사용
- Storage용 Azure Defender 사용하도록 설정
- Azure Cosmos DB용 Microsoft Defender 사용
- 오픈 소스 관계형 데이터베이스에 Microsoft Defender 사용하도록 설정하고 경고에 응답
AWS 지침: AWS Macie를 사용하여 분류 및 레이블이 지정된 데이터를 모니터링하고 GuardDuty를 사용하여 일부 리소스(S3, EC2 또는 Kubernetes 또는 IAM 리소스)에서 비정상적인 활동을 검색합니다. 결과 및 경고는 EventBridge를 사용하여 심사, 분석 및 추적할 수 있으며 인시던트 집계 및 추적을 위해 Microsoft Sentinel 또는 Security Hub로 전달될 수 있습니다.
규정 준수 검사, 컨테이너 보안 및 엔드포인트 보안 기능을 위해 AWS 계정을 클라우드용 Microsoft Defender 연결할 수도 있습니다.
참고: DLP(데이터 손실 방지) 준수에 필요한 경우 AWS Marketplace의 호스트 기반 DLP 솔루션을 사용할 수 있습니다.
AWS 구현 및 추가 컨텍스트:
GCP 지침: Google Cloud Security Command Center/Event Threat Detection/Anomaly Detection을 사용하여 중요한 데이터 정보의 무단 전송을 나타낼 수 있는 정보의 비정상적인 전송을 경고합니다.
규정 준수 검사, 컨테이너 보안 및 엔드포인트 보안 기능을 위해 GCP 계정을 클라우드용 Microsoft Defender 연결할 수도 있습니다.
GCP 구현 및 추가 컨텍스트:
고객 보안 관련자(자세한 정보):
DP-3: 전송 중인 중요한 데이터 암호화
CIS Controls v8 ID | NIST SP 800-53 r4 ID | PCI-DSS ID v3.2.1 |
---|---|---|
3.10 | SC-8 | 3.5, 3.6, 4.1 |
보안 원칙: 공격자가 데이터를 쉽게 읽거나 수정할 수 없도록 암호화를 사용하여 전송 중인 데이터를 '대역 외' 공격(예: 트래픽 캡처)으로부터 보호합니다.
네트워크 내부 및 외부에서 전송 중인 데이터 암호화가 필수인 네트워크 경계 및 서비스 범위를 설정합니다. 사설망의 트래픽에서는 선택 사항이지만, 외부 및 공용 네트워크의 트래픽에서 매우 중요합니다.
Azure 지침: 전송 암호화 기능의 네이티브 데이터가 기본 제공되는 Azure Storage와 같은 서비스에서 보안 전송을 적용합니다.
Azure 리소스에 연결하는 모든 클라이언트가 TLS(전송 계층 보안) v1.2 이상을 사용하도록 하여 웹 애플리케이션 워크로드 및 서비스에 HTTPS를 적용합니다. VM의 원격 관리를 위해 암호화되지 않은 프로토콜 대신 SSH(Linux의 경우) 또는 RDP/TLS(Windows의 경우)를 사용합니다.
Azure 가상 머신의 원격 관리를 위해 암호화되지 않은 프로토콜 대신 SSH(Linux용) 또는 RDP/TLS(Windows용)를 사용합니다. 보안 파일 전송을 위해 일반 FTP 서비스를 사용하는 대신 Azure Storage Blob, App Service 앱 및 함수 앱에서 SFTP/FTPS 서비스를 사용합니다.
참고: 전송 중인 데이터 암호화는 Azure 데이터 센터 간에 이동하는 모든 Azure 트래픽에 대해 사용하도록 설정됩니다. TLS v1.2 이상은 기본적으로 대부분의 Azure 서비스에서 사용하도록 설정됩니다. 또한 Azure Storage 및 Application Gateway와 같은 일부 서비스는 서버 쪽에서 TLS v1.2 이상을 적용할 수 있습니다.
Azure 구현 및 추가 컨텍스트:
AWS 지침: 전송 암호화 기능의 네이티브 데이터가 기본 제공되는 Amazon S3, RDS 및 CloudFront와 같은 서비스에서 보안 전송을 적용합니다.
AWS 리소스에 연결하는 모든 클라이언트가 TLS v1.2 이상을 사용하도록 하여 워크로드 웹 애플리케이션 및 서비스(서버 쪽 또는 클라이언트 쪽 또는 둘 다)에 HTTPS(예: AWS Elastic Load Balancer)를 적용합니다.
EC2 인스턴스의 원격 관리를 위해 암호화되지 않은 프로토콜 대신 SSH(Linux용) 또는 RDP/TLS(Windows용)를 사용합니다. 보안 파일 전송의 경우 일반 FTP 서비스 대신 AWS 전송 SFTP 또는 FTPS 서비스를 사용합니다.
참고: AWS 데이터 센터 간의 모든 네트워크 트래픽은 물리적 계층에서 투명하게 암호화됩니다. 지원되는 Amazon EC2 인스턴스 유형을 사용하는 경우 VPC 내 및 지역 간 피어된 VPC 간의 모든 트래픽은 네트워크 계층에서 투명하게 암호화됩니다. TLS v1.2 이상은 기본적으로 대부분의 AWS 서비스에서 사용하도록 설정됩니다. 또한 AWS Load Balancer와 같은 일부 서비스는 서버 쪽에서 TLS v1.2 이상을 적용할 수 있습니다.
AWS 구현 및 추가 컨텍스트:
GCP 지침: 전송 암호화 기능의 네이티브 데이터가 기본 제공되는 Google Cloud Storage와 같은 서비스에서 보안 전송을 적용합니다.
GCP 리소스에 연결하는 모든 클라이언트가 TLS(전송 계층 보안) v1.2 이상을 사용하도록 웹 애플리케이션 워크로드 및 서비스에 HTTPS를 적용합니다.
원격 관리의 경우 Google Cloud Compute Engine은 암호화되지 않은 프로토콜 대신 SSH(Linux용) 또는 RDP/TLS(Windows용)를 사용합니다. 보안 파일 전송을 위해 일반 FTP 서비스 대신 Google 클라우드 빅 쿼리 또는 클라우드 앱 엔진과 같은 서비스에서 SFTP/FTPS 서비스를 사용합니다.
GCP 구현 및 추가 컨텍스트:
고객 보안 관련자(자세한 정보):
DP-4: 기본적으로 미사용 데이터 암호화 사용하도록 설정
CIS Controls v8 ID | NIST SP 800-53 r4 ID | PCI-DSS ID v3.2.1 |
---|---|---|
3.11 | SC-28 | 3.4, 3.5 |
보안 원칙: 액세스 제어를 보완하기 위해 미사용 데이터는 암호화를 사용하여 '대역 외' 공격(예: 기본 스토리지 액세스)으로부터 보호되어야 합니다. 이렇게 하면 공격자가 데이터를 쉽게 읽거나 수정할 수 없습니다.
Azure 지침: 많은 Azure 서비스에는 서비스 관리형 키를 사용하여 인프라 계층에서 기본적으로 미사용 데이터 암호화가 사용하도록 설정되어 있습니다. 이러한 서비스 관리형 키는 고객을 대신하여 생성되고 2년마다 자동으로 회전됩니다.
기술적으로 가능하고 기본적으로 사용하도록 설정되지 않은 경우 Azure 서비스 또는 스토리지 수준, 파일 수준 또는 데이터베이스 수준의 VM에서 미사용 데이터 암호화를 사용하도록 설정할 수 있습니다.
Azure 구현 및 추가 컨텍스트:
AWS 지침: 많은 AWS 서비스에는 AWS 관리형 고객 마스터 키를 사용하여 인프라/플랫폼 계층에서 기본적으로 미사용 데이터 암호화를 사용하도록 설정되어 있습니다. 이러한 AWS 관리형 고객 마스터 키는 고객을 대신하여 생성되고 3년마다 자동으로 회전됩니다.
기술적으로 가능하고 기본적으로 사용하도록 설정되지 않은 경우 AWS 서비스 또는 스토리지 수준, 파일 수준 또는 데이터베이스 수준의 VM에서 미사용 데이터 암호화를 사용하도록 설정할 수 있습니다.
AWS 구현 및 추가 컨텍스트:
GCP 지침: 많은 Google Cloud 제품 및 서비스는 서비스 관리형 키를 사용하여 인프라 계층에서 기본적으로 미사용 데이터 암호화를 사용하도록 설정되어 있습니다. 이러한 서비스 관리형 키는 고객을 대신하여 생성되고 자동으로 회전됩니다.
기술적으로 가능하고 기본적으로 사용하도록 설정되지 않은 경우 GCP 서비스 또는 스토리지 수준, 파일 수준 또는 데이터베이스 수준의 VM에서 미사용 데이터 암호화를 사용하도록 설정할 수 있습니다.
참고: 자세한 내용은 ""Google Cloud 서비스에 대한 암호화 세분성" 문서를 참조하세요.
GCP 구현 및 추가 컨텍스트:
고객 보안 관련자(자세한 정보):
DP-5: 필요한 경우 미사용 데이터 암호화에서 고객 관리형 키 옵션 사용
CIS Controls v8 ID | NIST SP 800-53 r4 ID | PCI-DSS ID v3.2.1 |
---|---|---|
3.11 | SC-12, SC-28 | 3.4, 3.5, 3.6 |
보안 원칙: 규정 준수에 필요한 경우 고객 관리형 키 옵션이 필요한 사용 사례 및 서비스 범위를 정의합니다. 서비스에서 고객 관리형 키를 사용하여 미사용 데이터 암호화를 사용하도록 설정하고 구현합니다.
Azure 지침: Azure는 대부분의 서비스에 대해 직접 관리하는 키(고객 관리형 키)를 사용하는 암호화 옵션도 제공합니다.
Azure Key Vault 표준, 프리미엄 및 관리형 HSM은 기본적으로 고객 관리형 키 사용 사례를 위해 많은 Azure 서비스와 통합됩니다. Azure Key Vault를 사용하여 키를 생성하거나 고유한 키를 가져올 수 있습니다.
그러나 고객 관리형 키 옵션을 사용하려면 키 수명 주기를 관리하기 위한 추가 운영 노력이 필요합니다. 여기에는 암호화 키 생성, 회전, 해지 및 액세스 제어 등이 포함될 수 있습니다.
Azure 구현 및 추가 컨텍스트:
AWS 지침: AWS는 특정 서비스에 대해 직접 관리하는 키(AWS 키 관리 서비스 저장된 고객 관리형 고객 마스터 키)를 사용하는 암호화 옵션도 제공합니다.
KMS(AWS 키 관리 서비스)는 고객 관리형 고객 마스터 키 사용 사례를 위해 기본적으로 많은 AWS 서비스와 통합됩니다. AWS 키 관리 서비스(KMS)를 사용하여 마스터 키를 생성하거나 고유한 키를 가져올 수 있습니다.
그러나 고객 관리형 키 옵션을 사용하려면 키 수명 주기를 관리하기 위한 추가 운영 노력이 필요합니다. 여기에는 암호화 키 생성, 회전, 해지 및 액세스 제어 등이 포함될 수 있습니다.
AWS 구현 및 추가 컨텍스트:
GCP 지침: Google Cloud는 대부분의 서비스에 대해 직접 관리하는 키(고객 관리형 키)를 사용하여 암호화 옵션을 제공합니다.
클라우드 KMS(Google Cloud 키 관리 서비스)는 기본적으로 고객 관리형 암호화 키에 대한 많은 GCP 서비스와 통합됩니다. 이러한 키는 Cloud KMS를 사용하여 만들고 관리할 수 있으며, 키를 소프트웨어 키, HSM 클러스터 또는 외부에 저장합니다. Cloud KMS를 사용하여 키를 생성하거나 고유한 키(고객이 제공한 암호화 키)를 제공할 수 있습니다.
그러나 고객 관리형 키 옵션을 사용하려면 키 수명 주기를 관리하기 위한 추가 운영 노력이 필요합니다. 여기에는 암호화 키 생성, 회전, 해지 및 액세스 제어 등이 포함될 수 있습니다.
GCP 구현 및 추가 컨텍스트:
고객 보안 관련자(자세한 정보):
DP-6: 보안 키 관리 프로세스 사용
CIS Controls v8 ID | NIST SP 800-53 r4 ID | PCI-DSS ID v3.2.1 |
---|---|---|
해당 없음 | IA-5, SC-12, SC-28 | 3.6 |
보안 원칙: 엔터프라이즈 암호화 키 관리 표준, 프로세스 및 프로시저를 문서화하고 구현하여 키 수명 주기를 제어합니다. 서비스에서 고객 관리형 키를 사용해야 하는 경우 키 생성, 배포 및 스토리지를 위한 보안 키 자격 증명 모음 서비스를 사용합니다. 정의된 일정과 키 사용 중지 또는 손상이 있을 때 키를 교체하고 취소합니다.
Azure 지침: Azure Key Vault를 사용하여 키 생성, 배포 및 스토리지를 비롯한 암호화 키 수명 주기를 만들고 제어합니다. 정의된 일정과 키 사용 중지 또는 손상이 있을 때 Azure Key Vault 및 서비스에서 키를 교체하고 취소합니다. 키를 생성할 때 특정 암호화 형식 및 최소 키 크기가 필요합니다.
워크로드 서비스 또는 애플리케이션에서 CMK(고객 관리형 키)를 사용해야 하는 경우 모범 사례를 따라야 합니다.
- 키 계층을 사용하여 키 자격 증명 모음의 KEK(키 암호화 키)와 함께 별도의 DEK(데이터 암호화 키)를 생성합니다.
- 키가 Azure Key Vault에 등록되고 각 서비스 또는 애플리케이션의 키 ID를 통해 구현되는지 확인합니다.
키 재질 수명 및 이식성을 최대화하려면 BYOK(사용자 고유의 키)를 서비스(즉, 온-프레미스 HSM에서 Azure Key Vault로 HSM 보호 키 가져오기)로 가져옵니다. 권장 지침에 따라 키 생성 및 키 전송을 수행합니다.
참고: Azure Key Vault 유형 및 FIPS 준수/유효성 검사 수준에 대한 FIPS 140-2 수준은 아래를 참조하세요.
- 자격 증명 모음의 소프트웨어 보호 키(프리미엄 및 표준 SKU): FIPS 140-2 수준 1
- 자격 증명 모음의 HSM 보호 키(Premium SKU): FIPS 140-2 수준 2
- 관리형 HSM의 HSM 보호 키: FIPS 140-2 수준 3
Azure Key Vault Premium은 백 엔드에서 공유 HSM 인프라를 사용합니다. Azure Key Vault 관리형 HSM은 더 높은 수준의 키 보안이 필요한 경우 전용 HSM과 함께 전용 기밀 서비스 엔드포인트를 사용합니다.
Azure 구현 및 추가 컨텍스트:
AWS 지침: KMS(AWS 키 관리 서비스)를 사용하여 키 생성, 배포 및 스토리지를 비롯한 암호화 키 수명 주기를 만들고 제어합니다. 정의된 일정 및 키 사용 중지 또는 손상이 있는 경우 KMS 및 서비스에서 키를 회전하고 해지합니다.
워크로드 서비스 또는 애플리케이션에서 고객 관리형 고객 마스터 키를 사용해야 하는 경우 모범 사례를 따라야 합니다.
- 키 계층 구조를 사용하여 KMS에서 KEK(키 암호화 키)를 사용하여 별도의 DEK(데이터 암호화 키)를 생성합니다.
- 키가 KMS에 등록되었는지 확인하고 각 서비스 또는 애플리케이션에서 IAM 정책을 통해 구현합니다.
키 재질 수명 및 이식성을 최대화하려면 BYOK(사용자 고유의 키)를 서비스(즉, 온-프레미스 HSM에서 KMS 또는 클라우드 HSM으로 HSM 보호 키 가져오기)로 가져옵니다. 권장 지침에 따라 키 생성 및 키 전송을 수행합니다.
참고: AWS KMS는 백 엔드에서 공유 HSM 인프라를 사용합니다. 자체 키 저장소 및 전용 HSM(예: 더 높은 수준의 키 보안을 위한 규정 준수 요구 사항)을 관리해야 하는 경우 AWS CloudHSM에서 지원되는 AWS KMS 사용자 지정 키 저장소를 사용하여 암호화 키를 생성하고 저장합니다.
참고: AWS KMS 및 CloudHSM의 FIPS 준수 수준에 대한 FIPS 140-2 수준은 아래를 참조하세요.
- AWS KMS 기본값: FIPS 140-2 수준 2 유효성 검사
- CloudHSM을 사용하는 AWS KMS: FIPS 140-2 수준 3(특정 서비스의 경우) 유효성 검사
- AWS CloudHSM: FIPS 140-2 수준 3 유효성 검사
참고: 비밀 관리(자격 증명, 암호, API 키 등)의 경우 AWS 비밀 관리자를 사용합니다.
AWS 구현 및 추가 컨텍스트:
GCP 지침: Cloud KMS(클라우드 키 관리 서비스)를 사용하여 호환되는 Google Cloud 서비스 및 워크로드 애플리케이션에서 암호화 키 수명 주기를 만들고 관리합니다. 정의된 일정 및 주요 사용 중지 또는 손상이 있는 경우 Cloud KMS 및 서비스에서 키를 회전하고 해지합니다.
Google의 클라우드 HSM 서비스를 사용하여 클라우드 KMS(키 관리 서비스)에 하드웨어 지원 키를 제공하면 완전히 관리되는 HSM(하드웨어 보안 모듈)으로 보호되는 동안 고유한 암호화 키를 관리하고 사용할 수 있습니다.
클라우드 HSM 서비스는 FIPS 140-2 수준 3의 유효성을 검사하고 항상 FIPS 모드에서 실행되는 HSM을 사용합니다. FIPS 140-2 수준 3의 유효성이 검사되며 항상 FIPS 모드에서 실행됩니다. FIPS 표준은 HSM에서 사용하는 암호화 알고리즘 및 난수 생성을 지정합니다.
GCP 구현 및 추가 컨텍스트:
고객 보안 관련자(자세한 정보):
DP-7: 보안 인증서 관리 프로세스 사용
CIS Controls v8 ID | NIST SP 800-53 r4 ID | PCI-DSS ID v3.2.1 |
---|---|---|
해당 없음 | IA-5, SC-12, SC-17 | 3.6 |
보안 원칙: 엔터프라이즈 인증서 관리 표준, 인증서 수명 주기 제어를 포함하는 프로세스 및 절차 및 인증서 정책(공개 키 인프라가 필요한 경우)을 문서화하고 구현합니다.
서비스 중단을 방지하기 위해 자동화된 메커니즘을 사용하여 조직의 중요한 서비스에서 사용하는 인증서의 인벤토리, 추적, 모니터링 및 갱신을 적시에 보장합니다.
Azure 지침: Azure Key Vault를 사용하여 인증서 생성/가져오기, 회전, 해지, 스토리지 및 제거를 포함하여 인증서 수명 주기를 만들고 제어합니다. 불충분한 키 크기, 지나치게 긴 유효 기간, 안전하지 않은 암호화 등과 같은 안전하지 않은 속성을 사용하지 않고 인증서 생성이 정의된 표준을 따르는지 확인합니다. 정의된 일정 및 인증서가 만료되는 시기에 따라 Azure Key Vault 및 지원되는 Azure 서비스에서 인증서의 자동 회전을 설정합니다. 프런트 엔드 애플리케이션에서 자동 회전이 지원되지 않는 경우 Azure Key Vault에서 수동 회전을 사용합니다.
제한된 보안 보증으로 인해 중요한 서비스에서 자체 서명된 인증서 및 와일드카드 인증서를 사용하지 않도록 합니다. 대신 Azure Key Vault에서 공용 서명된 인증서를 만들 수 있습니다. 다음 CA(인증 기관)는 현재 Azure Key Vault와 통합된 파트너 공급자입니다.
- DigiCert: Azure Key Vault는 DigiCert와 함께 OV TLS/SSL 인증서를 제공합니다.
- GlobalSign: Azure Key Vault는 GlobalSign과 함께 OV TLS/SSL 인증서를 제공합니다.
참고: 승인된 CA만 사용하고 이러한 CA에서 발급한 알려진 잘못된 루트/중간 인증서가 사용하지 않도록 설정되어 있는지 확인합니다.
Azure 구현 및 추가 컨텍스트:
AWS 지침: ACM(AWS 인증서 관리자)을 사용하여 인증서 생성/가져오기, 회전, 해지, 스토리지 및 제거를 포함하여 인증서 수명 주기를 만들고 제어합니다. 불충분한 키 크기, 지나치게 긴 유효 기간, 안전하지 않은 암호화 등과 같은 안전하지 않은 속성을 사용하지 않고 인증서 생성이 정의된 표준을 따르는지 확인합니다. 정의된 일정 및 인증서가 만료되는 시기에 따라 ACM 및 지원되는 AWS 서비스에서 인증서의 자동 회전을 설정합니다. 프런트 엔드 애플리케이션에서 자동 회전이 지원되지 않는 경우 ACM에서 수동 회전을 사용합니다. 그 동안 인증서의 유효성을 보장하기 위해 항상 인증서 갱신 상태를 추적해야 합니다.
제한된 보안 보증으로 인해 중요한 서비스에서 자체 서명된 인증서 및 와일드카드 인증서를 사용하지 않도록 합니다. 대신 ACM에서 공용 서명된 인증서(Amazon 인증 기관에서 서명)를 만들고 CloudFront, Load Balancer, API Gateway 등과 같은 서비스에 프로그래밍 방식으로 배포합니다. ACM을 사용하여 개인 CA(인증 기관)를 설정하여 개인 인증서에 서명할 수도 있습니다.
참고: 승인된 CA만 사용하고 이러한 CA에서 발급한 알려진 잘못된 CA 루트/중간 인증서가 사용하지 않도록 설정되어 있는지 확인합니다.
AWS 구현 및 추가 컨텍스트:
GCP 지침: Google Cloud Certificate Manager를 사용하여 인증서 생성/가져오기, 회전, 해지, 스토리지 및 제거를 비롯한 인증서 수명 주기를 만들고 제어합니다. 불충분한 키 크기, 지나치게 긴 유효 기간, 안전하지 않은 암호화 등과 같은 안전하지 않은 속성을 사용하지 않고 인증서 생성이 정의된 표준을 따르는지 확인합니다. 정의된 일정 및 인증서가 만료되는 시기에 따라 인증서 관리자 및 지원되는 GCP 서비스에서 인증서의 자동 회전을 설정합니다. 프런트 엔드 애플리케이션에서 자동 회전이 지원되지 않는 경우 인증서 관리자에서 수동 회전을 사용합니다. 그 동안 인증서의 유효성을 보장하기 위해 항상 인증서 갱신 상태를 추적해야 합니다.
제한된 보안 보증으로 인해 중요한 서비스에서 자체 서명된 인증서 및 와일드카드 인증서를 사용하지 않도록 합니다. 대신 인증서 관리자에서 서명된 공용 인증서를 만들고 Load Balancer 및 클라우드 DNS 등의 서비스에서 프로그래밍 방식으로 배포할 수 있습니다. 인증 기관 서비스를 사용하여 개인 CA(인증 기관)를 설정하여 개인 인증서에 서명할 수도 있습니다.
참고: Google Cloud Secret Manager를 사용하여 TLS 인증서를 저장할 수도 있습니다.
GCP 구현 및 추가 컨텍스트:
고객 보안 관련자(자세한 정보):
DP-8: 키 및 인증서 리포지토리의 보안 보장
CIS Controls v8 ID | NIST SP 800-53 r4 ID | PCI-DSS ID v3.2.1 |
---|---|---|
해당 없음 | IA-5, SC-12, SC-17 | 3.6 |
보안 원칙: 암호화 키 및 인증서 수명 주기 관리에 사용되는 키 자격 증명 모음 서비스의 보안을 보장합니다. 액세스 제어, 네트워크 보안, 로깅 및 모니터링, 백업을 통해 키 자격 증명 모음 서비스를 강화하여 키와 인증서가 항상 최대의 보안을 사용하여 보호되도록 합니다.
Azure 지침: 다음 컨트롤을 통해 Azure Key Vault 서비스를 강화하여 암호화 키 및 인증서를 보호합니다.
- 주요 수준에서 Azure Key Vault 관리형 HSM에서 RBAC 정책을 사용하여 액세스 제어를 구현하여 최소 권한 및 의무 분리 원칙을 준수합니다. 예를 들어 암호화 키를 관리하는 사용자가 암호화된 데이터에 액세스할 수 없도록 하고 그 반대의 경우도 마찬가지입니다. Azure Key Vault 표준 및 프리미엄의 경우 다른 애플리케이션에 대한 고유한 자격 증명 모음을 만들어 의무 원칙의 최소 권한 및 분리를 준수합니다.
- 중요한 관리 평면 및 데이터 평면 활동이 기록되도록 Azure Key Vault 로깅을 켭니다.
- Private Link 및 Azure Firewall을 사용하여 Azure Key Vault를 보호하여 서비스의 최소 노출을 보장합니다.
- 관리 ID를 사용하여 워크로드 애플리케이션의 Azure Key Vault에 저장된 키에 액세스합니다.
- 데이터를 제거할 때 실제 데이터, 백업 및 보관이 제거되기 전에 키가 삭제되지 않았는지 확인합니다.
- Azure Key Vault를 사용하여 키 및 인증서를 백업합니다. 키를 실수로 삭제하지 않도록 일시 삭제 및 제거 보호를 사용하도록 설정합니다. 키를 삭제해야 하는 경우 키를 삭제하는 대신 키를 사용하지 않도록 설정하여 키를 실수로 삭제하고 데이터의 암호화 삭제를 방지하는 것이 좋습니다.
- BYOK(Bring Your Own Key) 사용 사례의 경우 온-프레미스 HSM에서 키를 생성하고 가져와 키의 수명 및 이식성을 최대화합니다.
- Azure Key Vault 외부에 일반 텍스트 형식으로 키를 저장하지 않습니다. 모든 키 자격 증명 모음 서비스의 키는 기본적으로 내보낼 수 없습니다.
- 하드웨어 보호 및 가장 강력한 FIPS 수준에는 Azure Key Vault Premium 및 Azure Managed HSM에서 HSM 지원 키 형식(RSA-HSM)을 사용합니다.
Azure Key Vault에 대한 Azure 네이티브 고급 위협 보호를 위해 Key Vault용 Microsoft Defender를 사용하여 보안 인텔리전스의 추가 계층을 제공합니다.
Azure 구현 및 추가 컨텍스트:
- Azure Key Vault 개요
- Azure Key Vault 보안 모범 사례
- 관리 ID를 사용하여 Azure Key Vault에 액세스
- Key Vault용 Microsoft Defender 개요
AWS 지침: 암호화 키 보안을 위해 다음 컨트롤을 통해 AWS 키 관리 서비스(KMS) 서비스를 강화하여 키를 보호합니다.
- IAM 정책(ID 기반 액세스 제어)과 함께 키 정책(키 수준 액세스 제어)을 사용하여 액세스 제어를 구현하여 최소 권한 및 의무 분리 원칙을 준수합니다. 예를 들어 암호화 키를 관리하는 사용자가 암호화된 데이터에 액세스할 수 없도록 하고 그 반대의 경우도 마찬가지입니다.
- CloudTrails와 같은 형사 컨트롤을 사용하여 KMS에서 키 사용을 기록하고 추적하고 중요한 작업에 대해 경고합니다.
- KMS 외부에 일반 텍스트 형식으로 키를 저장하지 마세요.
- 키를 삭제해야 하는 경우 키를 삭제하는 대신 KMS에서 키를 사용하지 않도록 설정하여 키를 실수로 삭제하고 데이터의 암호화 삭제를 방지하는 것이 좋습니다.
- 데이터를 제거할 때 실제 데이터, 백업 및 보관이 제거되기 전에 키가 삭제되지 않았는지 확인합니다.
- BYOK(Bring Your Own Key) 사용 사례의 경우 온-프레미스 HSM에서 키를 생성하고 가져와 키의 수명 및 이식성을 최대화합니다.
인증서 보안을 위해 다음 컨트롤을 통해 ACM(AWS 인증서 관리자) 서비스를 강화하여 인증서를 보호합니다.
- IAM 정책(ID 기반 액세스 제어)과 함께 리소스 수준 정책을 사용하여 액세스 제어를 구현하여 최소 권한 및 의무 분리 원칙을 준수합니다. 예를 들어 사용자 계정에 대해 업무 분리가 이루어지도록 합니다. 인증서를 생성하는 사용자 계정은 인증서에 대한 읽기 전용 액세스만 필요한 사용자 계정과는 별개입니다.
- CloudTrails와 같은 형사 컨트롤을 사용하여 ACM에서 인증서의 사용량을 기록하고 추적하고 중요한 작업에 대해 경고합니다.
- KMS 보안 지침에 따라 서비스 인증서 통합에 사용되는 프라이빗 키(인증서 요청에 대해 생성됨)를 보호합니다.
AWS 구현 및 추가 컨텍스트:
GCP 지침: 암호화 키 보안을 위해 다음 컨트롤을 통해 키 관리 서비스 강화하여 키를 보호합니다.
- IAM 역할을 사용하여 액세스 제어를 구현하여 의무 원칙의 최소 권한 및 분리를 준수합니다. 예를 들어 암호화 키를 관리하는 사용자가 암호화된 데이터에 액세스할 수 없도록 하고 그 반대의 경우도 마찬가지입니다.
- 최소 권한 모범 사례에 따라 키에 대한 액세스를 쉽게 관리하고 제어할 수 있는 각 프로젝트에 대해 별도의 키 링을 만듭니다. 또한 언제 어떤 키에 액세스할 수 있는 사용자를 더 쉽게 감사할 수 있습니다.
- 키를 자동으로 회전하여 키가 정기적으로 업데이트되고 새로 고쳐지도록 합니다. 이렇게 하면 무차별 암호 대입 공격 또는 중요한 정보에 액세스하려는 악의적인 행위자 등의 잠재적인 보안 위협으로부터 보호할 수 있습니다.
- 감사 로그 싱크를 설정하여 GCP KMS 환경 내에서 발생하는 모든 활동을 추적합니다.
인증서 보안의 경우 다음 컨트롤을 통해 GCP 인증서 관리자 및 인증 기관 서비스를 강화하여 인증서를 보호합니다.
- IAM 정책(ID 기반 액세스 제어)과 함께 리소스 수준 정책을 사용하여 액세스 제어를 구현하여 최소 권한 및 의무 분리 원칙을 준수합니다. 예를 들어 사용자 계정에 대해 업무 분리가 이루어지도록 합니다. 인증서를 생성하는 사용자 계정은 인증서에 대한 읽기 전용 액세스만 필요한 사용자 계정과는 별개입니다.
- 클라우드 감사 로그와 같은 검색 컨트롤을 사용하여 인증서 관리자에서 인증서 사용을 기록하고 추적하고 중요한 작업에 대해 경고합니다.
- Secret Manager는 TLS 인증서의 스토리지도 지원합니다. 비밀 관리자에서 보안 제어를 구현하려면 유사한 보안 사례를 따라야 합니다.
GCP 구현 및 추가 컨텍스트:
고객 보안 관련자(자세한 정보):