4장. OpenStack 서비스 암호화 및 검증
barbican을 사용하여 Block Storage(cinder) 암호화 키, 블록 스토리지 볼륨 이미지, Object Storage(swift) 오브젝트 및 Image 서비스(glance) 이미지와 같은 여러 Red Hat OpenStack Platform 서비스를 암호화하고 검증할 수 있습니다.
암호화되지 않은 경우 처음 사용하는 동안 Nova에서 암호화된 볼륨을 포맷합니다. 그런 다음 결과 블록 장치가 컴퓨팅 노드에 표시됩니다.
컨테이너화된 서비스 지침
-
물리적 노드의 호스트 운영 체제에서 찾을 수 있는 구성 파일을 업데이트하지 마십시오(예:
/etc/cinder/cinder.conf). 컨테이너화된 서비스는 이 파일을 참조하지 않습니다. 컨테이너 내에서 실행 중인 구성 파일을 업데이트하지 마십시오. 컨테이너를 다시 시작하면 변경 사항이 손실됩니다.
대신 컨테이너화된 서비스를 변경해야 하는 경우 컨테이너를 생성하는 데 사용되는
/var/lib/config-data/puppet-generated/에서 구성 파일을 업데이트합니다.예를 들면 다음과 같습니다.
-
keystone:
/var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf -
cinder:
/var/lib/config-data/puppet-generated/cinder/etc/cinder/cinder.conf -
nova:
/var/lib/config-data/puppet-generated/nova_libvirt/etc/nova/nova.conf
컨테이너를 다시 시작한 후 변경 사항이 적용됩니다.
-
keystone:
4.1. Object Storage(swift) at-rest 오브젝트 암호화 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 Object Storage(swift)에 업로드된 오브젝트는 암호화되지 않은 상태로 저장됩니다. 이로 인해 파일 시스템에서 직접 오브젝트에 액세스할 수 있습니다. 디스크가 삭제되기 전에 제대로 삭제되지 않은 경우 보안 위험이 발생할 수 있습니다. barbican을 활성화하면 Object Storage 서비스(swift)에서 저장된 오브젝트를 투명하게 암호화하고 암호 해독할 수 있습니다. At-rest 암호화는 디스크에 저장되는 동안 암호화되는 개체를 참조하는 점에서 전송 중 암호화와 다릅니다.
Swift는 swift에 업로드할 때 오브젝트가 자동으로 암호화되고 사용자에게 제공되면 자동으로 암호 해독되므로 이러한 암호화 작업을 투명하게 수행합니다. 이 암호화 및 암호 해독은 barbican에 저장된 동일한 (symmetric) 키를 사용하여 수행됩니다.
데이터가 현재 암호화된 상태로 저장되므로 암호화 및 swift 클러스터에 데이터를 추가한 후에는 암호화를 비활성화할 수 없습니다. 결과적으로 동일한 키로 암호화를 다시 활성화할 때까지 암호화가 비활성화된 경우 데이터를 읽을 수 없습니다.
사전 요구 사항
- OpenStack Key Manager가 설치 및 활성화됨
프로세스
-
환경 파일에
SwiftEncryptionEnabled: True매개변수를 포함하는 다음/home/stack/overcloud_deploy.sh를 사용하여openstack overcloud deploy를 다시 실행합니다. swift가 at-rest 암호화를 사용하도록 구성되었는지 확인합니다.
crudini --get /var/lib/config-data/puppet-generated/swift/etc/swift/proxy-server.conf pipeline-main pipeline pipeline = catch_errors healthcheck proxy-logging cache ratelimit bulk tempurl formpost authtoken keystone staticweb copy container_quotas account_quotas slo dlo versioned_writes kms_keymaster encryption proxy-logging proxy-server
$ crudini --get /var/lib/config-data/puppet-generated/swift/etc/swift/proxy-server.conf pipeline-main pipeline pipeline = catch_errors healthcheck proxy-logging cache ratelimit bulk tempurl formpost authtoken keystone staticweb copy container_quotas account_quotas slo dlo versioned_writes kms_keymaster encryption proxy-logging proxy-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 결과에
암호화에대한 항목이 포함되어야 합니다.