5.3. 데이터 암호화 옵션
암호화를 사용하면 필요한 암호화 키 없이 데이터를 인코딩하여 읽기가 불가능할 수 있습니다. 이 메커니즘은 물리적 보안 위반이 발생할 경우 데이터의 기밀성을 보호하여 물리적 미디어로 보호하여 보관함에서 벗어납니다. PV별 암호화는 동일한 OpenShift Container Platform 클러스터 내부의 다른 네임스페이스로부터 액세스 보호도 제공합니다. 데이터는 디스크에 기록될 때 암호화되며 디스크에서 읽을 때 암호 해독됩니다. 암호화된 데이터로 작업하면 성능에 약간의 저하가 발생할 수 있습니다.
암호화는 Red Hat OpenShift Data Foundation 4.6 이상을 사용하여 배포된 새 클러스터에서만 지원됩니다. 외부 KMS(Key Management System)를 사용하지 않는 기존 암호화된 클러스터는 외부 KMS를 사용하도록 마이그레이션할 수 없습니다.
이전에는 HashiCorp Vault가 클러스터 전체 및 영구 볼륨 암호화에서 지원되는 유일한 KMS였습니다. OpenShift Data Foundation 4.7.0 및 4.7.1에서는 HashiCorp Vault 키/값(KV) 시크릿 엔진 API만 지원됩니다. OpenShift Data Foundation 4.7.2부터 HashiCorp Vault KV 시크릿 엔진 API, 버전 1 및 2가 지원됩니다. OpenShift Data Foundation 4.12부터 Thales CipherTrust Manager가 추가 지원되는 KMS로 도입되었습니다.
- StorageClass 암호화에는 KMS가 필요하며 클러스터 전체 암호화에는 선택 사항입니다.
- 시작하려면 스토리지 클래스 암호화에 유효한 Red Hat OpenShift Data Foundation Advanced 서브스크립션이 필요합니다. 자세한 내용은 OpenShift Data Foundation 서브스크립션에 대한 지식베이스 문서를 참조하십시오.
Red Hat은 기술 파트너와 협력하여 이 문서를 고객에게 서비스로 제공합니다. 그러나 Red Hat은 Hashicorp 제품에 대한 지원을 제공하지 않습니다. 이 제품에 대한 기술 지원은 Hashicorp 에 문의하십시오.
5.3.1. 클러스터 전체 암호화
Red Hat OpenShift Data Foundation은 스토리지 클러스터의 모든 디스크 및 Multicloud Object Gateway 작업에 대해 클러스터 전체 암호화(encryption-at-rest)를 지원합니다. OpenShift Data Foundation은 키 크기가 512비트이고 각 장치에 다른 암호화 키가 있는 aes-xts-plain64
암호와 함께 Linux Unified Key System(LUKS) 버전 2 기반 암호화를 사용합니다. 키는 Kubernetes 시크릿 또는 외부 KMS를 사용하여 저장됩니다. 두 방법 모두 함께 사용할 수 없으며 메서드 간에 마이그레이션할 수 없습니다.
블록 및 파일 스토리지에 대해 암호화는 기본적으로 비활성화되어 있습니다. 배포 시 클러스터에 대한 암호화를 활성화할 수 있습니다. MultiCloud Object Gateway는 기본적으로 암호화를 지원합니다. 자세한 내용은 배포 가이드를 참조하십시오.
클러스터 전체 암호화는 KMS(Key Management System) 없이 OpenShift Data Foundation 4.6에서 지원됩니다. OpenShift Data Foundation 4.7부터는 HashiCorp Vault KMS를 지원하며 사용하지 않습니다. OpenShift Data Foundation 4.12부터 HashiCorp Vault KMS 및 Thales CipherTrust Manager KMS를 모두 지원하며 사용하지 않습니다.
보안 일반적인 관행에는 정기적으로 암호화 키 순환이 필요합니다. Red Hat OpenShift Data Foundation은 kubernetes 시크릿(non-KMS)에 저장된 암호화 키를 매주 자동으로 순환합니다.
유효한 Red Hat OpenShift Data Foundation Advanced 서브스크립션이 필요합니다. OpenShift Data Foundation의 서브스크립션이 작동하는 방식을 알아보려면 OpenShift Data Foundation 서브스크립션에 대한 지식 베이스 문서를 참조하십시오.
HashiCorp Vault KMS를 사용한 클러스터 전체 암호화는 다음 두 가지 인증 방법을 제공합니다.
- token: 이 방법은 vault 토큰을 사용하여 인증을 허용합니다. 자격 증명 모음 토큰이 포함된 kubernetes 시크릿은 openshift-storage 네임스페이스에 생성되고 인증에 사용됩니다. 이 인증 방법을 선택하면 관리자는 암호화 키가 저장된 Vault의 백엔드 경로에 대한 액세스를 제공하는 자격 증명 모음 토큰을 제공해야 합니다.
Kubernetes: 이 방법은 serviceaccounts를 사용하여 자격 증명 모음으로 인증을 허용합니다. 이 인증 방법을 선택하는 경우 관리자는 암호화 키가 저장된 백엔드 경로에 대한 액세스를 제공하는 Vault에 구성된 역할의 이름을 제공해야 합니다. 그런 다음 이 역할의 값이
ocs-kms-connection-details
구성 맵에 추가됩니다. 이 방법은 OpenShift Data Foundation 4.10에서 사용할 수 있습니다.현재 HashiCorp Vault는 지원되는 유일한 KMS입니다. OpenShift Data Foundation 4.7.0 및 4.7.1에서는 HashiCorp Vault KV 시크릿 엔진만 API 버전 1이 지원됩니다. OpenShift Data Foundation 4.7.2부터 HashiCorp Vault KV 시크릿 엔진 API, 버전 1 및 2가 지원됩니다.
IBM Cloud 플랫폼의 OpenShift Data Foundation은 HashiCorp Vault KMS 외에도 암호화 솔루션으로 HPCS(HPCS) 키 관리 서비스(HPCS)를 지원합니다.
Red Hat은 기술 파트너와 협력하여 이 문서를 고객에게 서비스로 제공합니다. 그러나 Red Hat은 Hashicorp 제품에 대한 지원을 제공하지 않습니다. 이 제품에 대한 기술 지원은 Hashicorp 에 문의하십시오.
5.3.2. 스토리지 클래스 암호화
외부 KMS(Key Management System)를 사용하여 스토리지 클래스 암호화를 사용하여 영구 볼륨(블록만 해당)을 암호화하여 장치 암호화 키를 저장할 수 있습니다. 영구 볼륨 암호화는 RADOS 블록 장치(RBD) 영구 볼륨에서만 사용할 수 있습니다. 영구 볼륨 암호화를 사용하여 스토리지 클래스를 생성하는 방법을 참조하십시오.
스토리지 클래스 암호화는 HashiCorp Vault KMS를 사용하여 OpenShift Data Foundation 4.7 이상에서 지원됩니다. 스토리지 클래스 암호화는 HashiCorp Vault KMS 및 Thales CipherTrust Manager KMS를 사용하여 OpenShift Data Foundation 4.12 이상에서 지원됩니다.
유효한 Red Hat OpenShift Data Foundation Advanced 서브스크립션이 필요합니다. OpenShift Data Foundation의 서브스크립션이 작동하는 방식을 알아보려면 OpenShift Data Foundation 서브스크립션에 대한 지식 베이스 문서를 참조하십시오.
5.3.3. CipherTrust 관리자
Red Hat OpenShift Data Foundation 버전 4.12는 배포에 Thales CipherTrust Manager를 추가 KMS(Key Management System) 공급자로 도입했습니다. Thales CipherTrust Manager는 중앙 집중식 키 라이프사이클 관리를 제공합니다. CipherTrust Manager는 키 관리 시스템 간 통신을 가능하게 하는 KMIP(Key Management Interoperability Protocol)를 지원합니다.
배포 중에 CipherTrust Manager가 활성화됩니다.
5.3.4. Red Hat Ceph Storage의 전달자 버전 2 프로토콜(msgr2)을 통한 데이터 암호화
OpenShift Data Foundation 버전 4.14부터 Red Hat Ceph Storage의 전달자 버전 2 프로토콜을 사용하여 데이터를 전송 중으로 암호화할 수 있습니다. 이는 인프라에 대한 중요한 보안 요구 사항을 제공합니다.
클러스터를 생성하는 동안 배포 중에 전송 중 암호화를 활성화할 수 있습니다. 클러스터 생성 중 데이터 암호화 활성화에 대한 지침은 환경에 대한 배포 가이드를 참조하십시오.
msgr2 프로토콜은 다음 두 가지 연결 모드를 지원합니다.
crc
- cephx로 연결이 설정된 경우 강력한 초기 인증을 제공합니다.
- 비트 플립으로부터 보호하기 위해 crc32c 무결성 검사를 제공합니다.
- 악의적인 중간자 공격에 대한 보호 기능을 제공하지 않습니다.
- 도청자가 모든 인증 후 트래픽을 보는 것을 방지하지 않습니다.
보안
- cephx로 연결이 설정된 경우 강력한 초기 인증을 제공합니다.
- 모든 인증 후 트래픽에 대한 완전한 암호화를 제공합니다.
- 암호화 무결성 검사를 제공합니다.
기본 모드는 crc
입니다.