Data Security and Hardening Guide
Red Hat Ceph Storage Data Security and Hardening Guide
초록
1장. 데이터 보안 소개 링크 복사링크가 클립보드에 복사되었습니다!
보안은 중요한 문제이며 Red Hat Ceph Storage 배포에 중점을 두어야 합니다. 데이터 유출 및 다운 타임은 비용이 많이 들고 관리하기가 어렵고 법률에 따라 감사 및 컴플라이언스 프로세스를 통과해야 할 수 있으며 프로젝트는 특정 수준의 데이터 개인 정보 보호 및 보안을 기대할 수 있습니다. 이 문서에서는 Red Hat Ceph Storage의 보안과 시스템 보안을 지원하는 데 Red Hat의 역할을 소개합니다.
1.1. 머리말 링크 복사링크가 클립보드에 복사되었습니다!
이 문서에서는 Red Hat Ceph Storage 배포용 cephadm 을 사용하는 Ceph Orchestrator에 중점을 두고 Red Hat Ceph Storage의 보안을 강화하기 위한 유용한 정보와 유용한 정보를 제공합니다. 이 가이드의 지침에 따라 사용자 환경의 보안을 강화하는 데 도움이 되지만 다음 권장 사항에 따라 보안 또는 규정 준수를 보장하지 않습니다.
1.2. Red Hat Ceph Storage 소개 링크 복사링크가 클립보드에 복사되었습니다!
RHCS(Red Hat Ceph Storage)는 확장성이 뛰어나고 안정적인 오브젝트 스토리지 솔루션으로, 일반적으로 OpenStack과 같은 클라우드 컴퓨팅 솔루션, 독립 실행형 스토리지 서비스 또는 인터페이스를 사용하여 네트워크 연결 스토리지와 함께 배포됩니다.
모든 RHCS 배포는 다음 세 가지 유형의 데몬으로 구성된 Ceph Storage Cluster 또는 RADOS(Reliable Autonomous Distributed Object Store)라는 스토리지 클러스터로 구성됩니다.
-
Ceph 모니터(
ceph-mon): Ceph 모니터는 클러스터 상태에 대한 계약을 설정하고 OSD가 실행 중인지와 같은 클러스터 상태 기록을 유지 관리하여 클라이언트가 데이터를 작성하고 읽을 수 있는 풀 목록을 제공하고, 클라이언트 및 Ceph Storage 클러스터 데몬에 대한 인증을 제공하는 등 몇 가지 중요한 기능을 제공합니다. -
Ceph Manager(
ceph-mgr): Ceph 관리자 데몬은 Ceph OSD에 분산된 배치 그룹의 사본, 배치 그룹 상태 기록 및 Ceph 클러스터에 대한 메트릭 간의 피어링 상태를 추적합니다. 또한 외부 모니터링 및 관리 시스템을 위한 인터페이스를 제공합니다. -
Ceph OSD(
ceph-osd): Ceph Object Storage Daemons(OSD)는 클라이언트 데이터를 저장 및 제공하고, 클라이언트 데이터를 보조 Ceph OSD 데몬으로 복제하고, Ceph 모니터의 상태 및 인접 OSD의 상태를 추적 및 보고, 장애로부터 동적으로 복구, 클러스터 크기가 중단될 때 데이터를 백필합니다.
모든 RHCS 배포는 최종 사용자 데이터를 Ceph 스토리지 클러스터 또는 RADOS(Reliable Autonomous Distributed Object Store)에 저장합니다. 일반적으로 사용자는 Ceph Storage 클러스터와 직접 상호 작용하지 않습니다. 대신 Ceph 클라이언트와 상호 작용합니다.
다음 세 가지 기본 Ceph Storage 클러스터 클라이언트가 있습니다.
-
Ceph Object Gateway(
radosgw): RADOS 게이트웨이,radosgw또는rgw라고도 하는 Ceph Object Gateway는 RESTful API를 사용하여 오브젝트 스토리지 서비스를 제공합니다. Ceph Object Gateway는 Ceph Storage 클러스터 또는 RADOS에서 클라이언트를 대신하여 데이터를 저장합니다. -
Ceph 블록 장치(
rbd): Ceph 블록 장치는 커널 RBD(krbd)를 통해 Linux 커널에 copy-on-write, thin-provisioned, 복제 가능한 가상 블록 장치를 제공하거나librbd를 통해 OpenStack과 같은 클라우드 컴퓨팅 솔루션에 제공합니다. -
Ceph 파일 시스템(
cephfs): Ceph 파일 시스템은 파일 시스템의 inode 부분을 Ceph 스토리지 클러스터에 오브젝트로 저장하는 하나 이상의 메타데이터 서버(mds)로 구성됩니다. Ceph 파일 시스템은 커널 클라이언트, FUSE 클라이언트 또는 OpenStack과 같은 클라우드 컴퓨팅 솔루션을 위한libcephfs라이브러리를 통해 마운트할 수 있습니다.
추가 클라이언트에는 개발자가 관리 목적으로 Ceph Storage 클러스터 및 명령줄 인터페이스 클라이언트와 상호 작용할 수 있는 사용자 지정 애플리케이션을 생성할 수 있는 librados 가 포함됩니다.
1.3. 지원 소프트웨어 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage 보안의 중요한 측면은 Red Hat이 지속적으로 지원하는 보안을 내장한 솔루션을 제공하는 것입니다. Red Hat Ceph Storage에서 수행하는 특정 단계는 다음과 같습니다.
- 업스트림 관계 및 커뮤니티 참여 유지를 통해 처음부터 보안에 중점을 둘 수 있습니다.
- 보안 및 성능 추적 레코드에 따라 패키지 선택 및 구성.
- 업스트림 빌드를 수락하는 대신 관련 소스 코드에서 바이너리를 빌드합니다.
- 검사 및 품질 보증 툴 모음을 적용하여 광범위한 잠재적 보안 문제 및 회귀 문제를 방지합니다.
- 릴리스된 모든 패키지에 디지털 서명하고 암호화 방식으로 인증된 배포 채널을 통해 배포합니다.
- 패치 및 업데이트 배포를 위한 단일 통합 메커니즘 제공.
또한 Red Hat은 당사 제품에 대한 위협 및 취약점을 분석하고 고객 포털을 통해 관련 조언 및 업데이트를 제공하는 전용 보안 팀을 운영하고 있습니다. 이 팀은 대부분의 이론적 인 문제와 달리 중요한 문제를 결정합니다. Red Hat 제품 보안 팀은 전문 지식을 유지하고 서브스크립션 제품과 관련된 업스트림 커뮤니티에 광범위한 기여를 하고 있습니다. Red Hat Security Advisories는 이 프로세스의 핵심 부분인 Red Hat 솔루션에 영향을 미치는 보안 결함에 대한 사전 알림과 함께 취약점이 처음 게시되는 당일에 자주 배포되는 패치를 제공합니다.
2장. 위협 및 취약점 관리 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage는 일반적으로 클라우드 컴퓨팅 솔루션과 함께 배포되므로 Red Hat Ceph Storage 배포를 대규모 배포에서 여러 구성 요소 중 하나로 요약하는 것이 유용할 수 있습니다. 이러한 배포에는 일반적으로 보안 영역이라는 공유 보안 문제가 있습니다. 위협 행위자 및 벡터는 동기 부여 및 리소스에 대한 액세스를 기반으로 분류됩니다. 목적은 목표에 따라 각 영역에 대한 보안 문제에 대한 이해를 제공하는 것입니다.
2.1. 위협 행위 링크 복사링크가 클립보드에 복사되었습니다!
위협 행위자는 방어를 시도할 수 있는 일련의 적자를 나타내는 추상적인 방법입니다. 액터를 사용할 수 있을수록 공격 완화 및 예방에 필요한 보안 제어가 더 엄격하게 수행됩니다. 보안은 요구 사항에 따라 조정 편의성, 방어 및 비용의 문제입니다. 경우에 따라 여기에 설명된 모든 위협 행위자에 대해 Red Hat Ceph Storage 배포를 보호할 수 없습니다. Red Hat Ceph Storage를 배포할 때 배포 및 사용량에 대한 균형을 조정해야 합니다.
위험 평가의 일환으로 사용자가 저장하는 데이터 유형 및 액세스 가능한 리소스도 고려해야 합니다. 이는 특정 행위자에도 영향을 미치기 때문입니다. 그러나 귀하의 데이터가 위협 행위자에 대해 당해하지 않더라도 단순히 컴퓨팅 리소스에 끌릴 수 있습니다.
- 국가 - 주 액터: 이것이 가장 가능성 있는 적시입니다. 국가 주 행위자는 목표에 대해 상당한 리소스를 가져올 수 있습니다. 이들은 다른 행위자 이외의 기능을 가지고 있습니다. 인간과 기술 모두 엄격한 통제없이 이러한 행위자를 방어하기가 어렵습니다.
- 심각한 조직화 범주: 이 클래스는 매우 능력 있고 경제적으로 주도하는 공격자 그룹을 설명합니다. 이들은 사내 악용 개발 및 목표 연구를 지원할 수 있습니다. 최근 몇 년 동안 대규모의 기업인 러시아 비즈니스 네트워크 (Radomy Business Network)와 같은 조직의 증가는 데이터 공격이 어떻게 상품화되었는지를 입증했습니다. 산업 급증은 심각한 조직된 보안 그룹에 속하게 됩니다.
- 높은 기능 그룹: 일반적으로 상업적으로 사용할 수 없는 'Hacktivist' 유형 조직을 나타냅니다. 그러나 서비스 공급자와 클라우드 운영자에 심각한 위협을 초래할 수 있습니다.
- 알론을 담당하는 개인: 이러한 공격자는 악성 또는 악의적인 직원, 소독된 고객 또는 소규모 산업장과 같은 많은 위장에서 발생합니다.
- 스크립트 Kiddies: 이 공격자는 특정 조직을 대상으로 하지 않지만 자동화된 취약점 검사 및 악용을 실행합니다. 그러나 이러한 행위자 중 하나에 의해 손상시키는 것은 조직의 자질에 큰 위험이 있습니다.
다음 사례는 위에서 확인한 몇 가지 위험을 완화하는 데 도움이 될 수 있습니다.
- 보안 업데이트: 네트워킹, 스토리지 및 서버 하드웨어를 포함하여 기본 물리적 인프라에 대한 엔드 투 엔드 보안 상태를 고려해야 합니다. 이러한 시스템에는 자체 보안 강화 방법이 필요합니다. Red Hat Ceph Storage 배포를 위해 보안 업데이트를 정기적으로 테스트하고 배포할 계획이 있어야 합니다.
- 제품 업데이트: Red Hat은 제품 업데이트를 사용할 수 있을 때 실행할 것을 권장합니다. 업데이트는 일반적으로 6주마다 릴리스됩니다(및 경우에 따라 더 자주 업데이트됨). Red Hat은 추가 통합 테스트가 필요하지 않기 위해 주요 릴리스에서 포인트 릴리스와 z-stream 릴리스를 완전히 호환하기 위해 노력합니다.
- 액세스 관리: 액세스 관리에는 인증, 권한 부여 및 계정이 포함됩니다. 인증은 사용자 ID를 확인하는 프로세스입니다. 권한 부여는 인증된 사용자에게 권한을 부여하는 프로세스입니다. 계정은 사용자가 작업을 수행한 추적 프로세스입니다. 사용자에게 시스템 액세스 권한을 부여하는 경우 최소 권한 원칙을 적용하고 사용자에게 실제로 필요한 세분화된 시스템 권한만 부여합니다. 이 접근 방식은 시스템 관리자의 악의적인 행위자 및 오타 오류의 위험을 줄이는 데 도움이 될 수 있습니다.
- 관리: 역할 기반 액세스 제어(최소한 액세스), 내부 인터페이스에서 암호화를 사용하고 인증/승인 보안(예: 중앙 집중식 ID 관리)을 사용하여 악의적인 내부자의 위협을 완화할 수 있습니다. 또한 직무 분리 및 불규칙한 작업 역할 교체와 같은 추가 비기술적 옵션을 고려할 수도 있습니다.
2.2. 보안 영역 링크 복사링크가 클립보드에 복사되었습니다!
보안 영역은 시스템 내에서 공통 신뢰 요구 사항과 기대치를 공유하는 사용자, 애플리케이션, 서버 또는 네트워크로 구성됩니다. 일반적으로 동일한 인증, 권한 부여 요구 사항 및 사용자를 공유합니다. 이러한 영역 정의를 더 세분화할 수는 있지만 이 가이드에서는 보안이 강화된 Red Hat Ceph Storage 클러스터를 배포하는 데 필요한 베어 최소값을 구성하는 네 가지 보안 영역을 나타냅니다. 이러한 보안 영역은 최소 신뢰 대상에서 가장 신뢰할 수 있는 영역까지 아래에 나열되어 있습니다.
-
퍼블릭 보안 영역: 퍼블릭 보안 영역은 클라우드 인프라의 신뢰할 수 없는 영역입니다. 권한이 없는 Red Hat OpenStack 배포 외부에 있는 네트워크 전체 또는 간단히 인터넷을 참조할 수 있습니다. 이 영역을 통과하는 기밀성 또는 무결성 요구 사항이 있는 데이터는 암호화와 같은 조정 제어를 사용하여 보호해야 합니다. 공용 보안 영역은 RHCS의
public_network라고 하며 일반적으로 공용 보안 영역 또는 Ceph 클라이언트 보안 영역의 일부가 아닌 Ceph Storage 클러스터의 프런트 엔드 네트워크와 혼동하지 않아야 합니다. -
Ceph 클라이언트 보안 영역: RHCS를 사용하면 Ceph 클라이언트 보안 영역은 Ceph Object Gateway, Ceph Block Device, Ceph Filesystem 또는
librados와 같은 Ceph 클라이언트에 액세스하는 네트워크를 나타냅니다. Ceph 클라이언트 보안 영역은 일반적으로 공용 보안 영역과 분리되는 방화벽 뒤에 있습니다. 그러나 Ceph 클라이언트가 항상 공용 보안 영역에서 보호되는 것은 아닙니다. 공용 보안 영역에 Ceph Object Gateway의 S3 및 Swift API를 노출할 수 있습니다. -
스토리지 액세스 보안 영역: 스토리지 액세스 보안 영역은 Ceph 클라이언트에 Ceph Storage 클러스터에 대한 액세스를 제공하는 내부 네트워크를 나타냅니다. 이 문서는 OpenStack Platform Security and Hardening Guide에서 사용되는 용어와 일치하도록 '스토리지 액세스 보안 영역'을 사용합니다. 스토리지 액세스 보안 영역에는 RHCS의
public_network라고 하는 Ceph Storage 클러스터의 프런트 또는 클라이언트 측 네트워크가 포함됩니다. -
Ceph 클러스터 보안 영역: Ceph 클러스터 보안 영역은 Ceph Storage 클러스터의 OSD 데몬에 복제, 하트베이팅, 백필링 및 복구를 위한 네트워크 통신을 제공하는 내부 네트워크를 나타냅니다. Ceph 클러스터 보안 영역에는 RHCS의
cluster_network라고 하는 Ceph Storage 클러스터의 백엔드 네트워크가 포함되어 있습니다.
이러한 보안 영역은 별도로 매핑되거나 지정된 RHCS 배포 내에서 가능한 대부분의 신뢰 영역을 나타내기 위해 결합할 수 있습니다. 보안 영역은 특정 RHCS 배포 토폴로지에 대해 매핑되어야 합니다. 영역과 신뢰 요구 사항은 Red Hat Ceph Storage가 독립형 용량으로 작동하는지 아니면 퍼블릭, 프라이빗 또는 하이브리드 클라우드를 제공하고 있는지에 따라 달라집니다.
이러한 보안 영역을 시각적으로 표현하려면 보안 아키텍처를 참조하십시오.
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage Data Security and Hardening Guide 의 Network communications 섹션을 참조하십시오.
2.3. 보안 영역 연결 링크 복사링크가 클립보드에 복사되었습니다!
신뢰 수준 또는 인증 요구 사항이 다른 여러 보안 영역에 걸쳐 있는 모든 구성 요소를 신중하게 구성해야 합니다. 이러한 연결은 네트워크 아키텍처에서 약한 지점이며 연결된 영역 중 가장 높은 신뢰 수준의 보안 요구 사항을 충족하도록 항상 구성해야 합니다. 대부분의 경우 연결된 영역의 보안 제어는 공격의 가능성으로 인해 주요 문제여야 합니다. 영역이 충족되는 지점은 공격자가 마이그레이션하거나 배포의 더 민감한 부분에 공격을 대상으로 할 수있는 기회를 제공합니다.
경우에 따라 Red Hat Ceph Storage 관리자는 통합 포인트가 있는 영역보다 높은 표준에서 통합 지점을 보호하는 것을 고려할 수 있습니다. 예를 들어 다른 보안 영역에 연결할 이유가 없으므로 Ceph Cluster Security Zone을 다른 보안 영역과 쉽게 분리할 수 있습니다. 반대로 Storage Access Security Zone은 Ceph 모니터 노드의 포트 6789 및 Ceph OSD 노드에서 6800-7300 포트에 대한 액세스를 제공해야 합니다. 그러나 포트 3000 은 Ceph 관리자에게만 노출되어야 하는 Ceph Grafana 모니터링 정보에 액세스할 수 있으므로 스토리지 액세스 보안 영역에 독점적이어야 합니다. Ceph 클라이언트 보안 영역의 Ceph Object Gateway는 Ceph Cluster Security Zone의 모니터( 6789) 및 OSD( 6800-7300)에 액세스해야 하며 S3 및 Swift API를 HTTP 포트 80 또는 HTTPS 포트 443 과 같은 공용 보안 영역에 노출할 수 있지만 여전히 관리자 API에 대한 액세스를 제한해야 할 수 있습니다.
Red Hat Ceph Storage의 설계는 보안 영역을 분리하기가 어렵습니다. 핵심 서비스는 일반적으로 두 개 이상의 영역을 확장하므로 보안 제어를 적용할 때 특별한 사항을 고려해야 합니다.
2.4. 보안 최적화 아키텍처 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage 클러스터의 데몬은 일반적으로 서브넷 분리 및 방화벽 뒤에 있는 노드에서 실행되므로 RHCS 클러스터를 비교적 간단하게 보호할 수 있습니다.
반면 Ceph Block Device(rbd), Ceph Filesystem(cephfs) 및 Ceph Object Gateway(rgw)와 같은 Red Hat Ceph Storage 클라이언트는 RHCS 스토리지 클러스터에 액세스하지만 다른 클라우드 컴퓨팅 플랫폼에 서비스를 노출합니다.
3장. 암호화 및 키 관리 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage 클러스터는 일반적으로 프라이빗 스토리지 클러스터 네트워크를 사용할 때 자체 네트워크 보안 영역에 있습니다.
공격자가 공용 네트워크의 Ceph 클라이언트에 액세스할 경우 보안 영역 분리가 부족할 수 있습니다.
네트워크 트래픽의 기밀성 또는 무결성을 보장해야 하는 보안 요구 사항과 Red Hat Ceph Storage가 다음과 같은 암호화 및 키 관리를 사용하는 경우가 있습니다.
- SSH
- SSL 종료
- Cryostat v2 프로토콜
- Transit의 암호화
- Rest에서 암호화
- 키 교체
3.1. SSH 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage 클러스터의 모든 노드는 클러스터 배포의 일부로 SSH를 사용합니다. 즉, 각 노드에서 다음을 수행합니다.
-
cephadm사용자는 암호가 없는 root 권한이 있습니다. - SSH 서비스가 활성화되고 확장 포트 22가 열려 있습니다.
-
cephadm사용자의 공개 SSH 키 사본을 사용할 수 있습니다.
확장으로 cephadm 사용자에 대한 액세스 권한이 있는 모든 사용자는 Red Hat Ceph Storage 클러스터의 모든 노드에서 root 로 명령을 실행할 수 있는 권한이 있습니다.
3.2. SSL 종료 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Object Gateway는 부하 분산 및 페일오버를 위해 HAProxy 및 keepalived 와 함께 배포할 수 있습니다. 오브젝트 게이트웨이 Red Hat Ceph Storage 버전 2 및 3에서는 Civetweb을 사용합니다. 이전 버전의 Civetweb은 몇 가지 성능 제한이 있는 SSL을 지원하지 않습니다.
오브젝트 게이트웨이 Red Hat Ceph Storage 버전 5는 Beast를 사용합니다. OpenSSL 라이브러리를 사용하여 TLS(Transport Layer Security)를 제공하도록 Beast 프런트 엔드 웹 서버를 구성할 수 있습니다.
HAProxy 및 keepalived 를 사용하여 SSL 연결을 종료하는 경우 HAProxy 및 keepalived 구성 요소에서 암호화 키를 사용합니다.
HAProxy 및 keepalived 를 사용하여 SSL을 종료하는 경우 로드 밸런서와 Ceph Object Gateway 간의 연결이 암호화되지 않습니다.
자세한 내용은 Beast 및 HAProxy용 SSL 구성 및 keepalived 를 참조하십시오.
3.3. Cryostat v2 프로토콜 링크 복사링크가 클립보드에 복사되었습니다!
Ceph의 on-wire 프로토콜인 msgr2 의 두 번째 버전에는 다음과 같은 기능이 있습니다.
- 네트워크를 통해 이동하는 모든 데이터를 암호화하는 보안 모드입니다.
- 인증 페이로드를 캡슐화하여 향후 새 인증 모드를 통합할 수 있습니다.
- 광고 및 협상에 대한 개선 사항
Ceph 데몬은 레거시 v1-compatible 및 새로운 v2 호환 Ceph 클라이언트가 동일한 스토리지 클러스터에 연결할 수 있도록 여러 포트에 바인딩합니다. Ceph Monitor 데몬에 연결하는 Ceph 클라이언트 또는 기타 Ceph 데몬에서는 가능한 경우 먼저 v2 프로토콜을 사용하지만 그렇지 않은 경우 레거시 v1 프로토콜이 사용됩니다. 기본적으로 두 프로토콜 모두 v1 및 v2 가 활성화되어 있습니다. 새로운 v2 포트는 3300이며 레거시 v1 포트는 기본적으로 6789입니다.
v2 프로토콜에는 v1 또는 v2 프로토콜 사용 여부를 제어하는 두 가지 구성 옵션이 있습니다.
-
ms_bind_msgr1- 이 옵션은 데몬이 v1 프로토콜을 알리는 포트에 바인딩되는지 여부를 제어합니다. 기본적으로true입니다. -
ms_bind_msgr2- 이 옵션은 데몬이 v2 프로토콜을 알리는 포트에 바인딩되는지 여부를 제어합니다. 기본적으로true입니다.
마찬가지로 사용되는 IPv4 및 IPv6 주소를 기반으로 하는 두 가지 옵션 제어
-
ms_bind_ipv4- 이 옵션은 데몬이 IPv4 주소에 바인딩되는지 여부를 제어합니다. 기본적으로true입니다. -
ms_bind_ipv6- 이 옵션은 데몬이 IPv6 주소에 바인딩되는지 여부를 제어합니다. 기본적으로true입니다.
여러 포트에 바인딩하는 기능은 듀얼 스택 IPv4 및 IPv6 지원을 위한 방법을 열어주었습니다.
msgr2 프로토콜은 다음 두 가지 연결 모드를 지원합니다.
crc-
cephx를 사용하여 연결이 설정된 경우 강력한 초기 인증을 제공합니다. -
비트 플립으로부터 보호하기 위해
crc32c무결성 검사를 제공합니다. - 악의적인 중간자 공격에 대한 보호 기능을 제공하지 않습니다.
- 도청자가 모든 인증 후 트래픽을 보는 것을 방지하지 않습니다.
-
보안-
cephx를 사용하여 연결이 설정된 경우 강력한 초기 인증을 제공합니다. - 모든 인증 후 트래픽에 대한 완전한 암호화를 제공합니다.
- 암호화 무결성 검사를 제공합니다.
-
기본 모드는 crc 입니다.
Ceph Object Gateway 암호화
또한 Ceph Object Gateway는 S3 API를 사용하여 고객 제공 키로 암호화를 지원합니다.
전송 시 엄격한 암호화가 필요한 규정 준수 표준을 준수하기 위해 관리자는 클라이언트 측 암호화를 사용하여 Ceph Object Gateway를 배포해야 합니다.
Ceph 블록 장치 암호화
Ceph를 Red Hat OpenStack Platform 13의 백엔드로 통합하는 시스템 관리자는 Ceph 스토리지 클러스터 내에서 유선 암호화를 보장하기 위해 dm_crypt 를 사용하여 Ceph 블록 장치 볼륨을 암호화 해야 합니다.
전송 시 엄격한 암호화가 필요한 규정 준수 표준을 준수하기 위해 시스템 관리자는 Ceph 스토리지 클러스터 내에서 유선 암호화를 보장하기 위해 RBD Cinder에 dmcrypt 를 사용해야 합니다.
3.4. 전송 중 암호화 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage 5 이상부터는 네트워크를 통한 모든 Ceph 트래픽에 대한 암호화가 기본적으로 활성화되어 있으며, 이 프로토콜은 기본적으로 활성화되어 있습니다. v2의 보안 모드 설정은 Ceph 데몬과 Ceph 클라이언트 간의 통신을 암호화하여 엔드 투 엔드 암호화를 제공합니다.
ceph config dump 명령 netstat -Ip | grep ceph-osd 명령을 사용하여 v2 프로토콜의 암호화를 확인하거나 v2 포트에서 Ceph 데몬을 확인할 수 있습니다.
3.5. engenger v2 프로토콜의 압축 모드 링크 복사링크가 클립보드에 복사되었습니다!
Messageenger v2 프로토콜은 압축 기능을 지원합니다. 압축은 기본적으로 활성화되어 있지 않습니다.
피어 간 메시지의 보안 수준이 감소되므로 동일한 메시지를 압축하고 암호화하는 것은 권장되지 않습니다. 암호화가 활성화되면 구성 옵션 ms_osd_compress_mode 가 true 로 설정될 때까지 압축 활성화 요청이 무시됩니다.
두 가지 압축 모드를 지원합니다.
force- 다중 가용 영역 배포에서 OSD 간 복제 메시지를 압축하면 대기 시간을 줄일 수 있습니다.
- 퍼블릭 클라우드에서 메시지 크기를 최소화하여 네트워크 비용을 클라우드 공급자로 줄입니다.
- NVMe가 있는 퍼블릭 클라우드의 인스턴스는 장치 대역폭에 비해 낮은 네트워크 대역폭을 제공합니다. 악의적인 중간자 공격에 대한 보호 기능을 제공하지 않습니다.
none- 메시지는 압축 없이 전송됩니다.
메시지 압축이 활성화되었는지 확인하려면 debug_ms 명령을 실행하고 연결에 대한 일부 디버그 항목을 확인합니다. 또한 ceph config get 명령을 실행하여 네트워크 메시지의 다양한 구성 옵션에 대한 세부 정보를 가져올 수 있습니다.
3.6. Rest에서 암호화 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage는 몇 가지 시나리오에서 미사용 암호화를 지원합니다.
-
Ceph Storage 클러스터: Ceph Storage 클러스터는 Ceph OSD의 Linux 통합 키 설정 또는 LUKS 암호화와 해당 저널, 쓰기 로그 및 메타데이터 데이터베이스를 지원합니다. 이 시나리오에서 Ceph는 클라이언트가 Ceph 블록 장치, Ceph 파일 시스템 또는
librados에 빌드된 사용자 지정 애플리케이션인지와 관계없이 미사용 모든 데이터를 암호화합니다. - Ceph Object Gateway: Ceph 스토리지 클러스터는 클라이언트 오브젝트의 암호화를 지원합니다. Ceph Object Gateway가 오브젝트를 암호화하면 Red Hat Ceph Storage 클러스터와 독립적으로 암호화됩니다. 또한 Ceph Object Gateway와 Ceph Storage 클러스터 간에 전송되는 데이터는 암호화되어 있습니다.
Ceph Storage 클러스터 암호화
Ceph 스토리지 클러스터는 Ceph OSD에 저장된 데이터 암호화를 지원합니다. Red Hat Ceph Storage는 dmcrypt 를 지정하여 lvm 으로 논리 볼륨을 암호화할 수 있습니다. 즉, ceph-volume 에서 호출하는 lvm 은 물리 볼륨이 아닌 OSD의 논리 볼륨을 암호화합니다. 동일한 OSD 키를 사용하여 파티션과 같이 LVM이 아닌 장치를 암호화할 수 있습니다. 논리 볼륨을 암호화하면 구성 유연성이 향상됩니다.
LUKS v1은 Linux 배포판 중에서 가장 광범위한 지원이 있기 때문에 Ceph는 LUKS v1 대신 LUKS v1을 사용합니다.
OSD를 생성할 때 lvm 은 시크릿 키를 생성하고 stdin 을 통해 JSON 페이로드에서 키를 Ceph Monitor에 안전하게 전달합니다. 암호화 키의 속성 이름은 dmcrypt_key 입니다.
시스템 관리자는 암호화를 명시적으로 활성화해야 합니다.
기본적으로 Ceph는 Ceph OSD에 저장된 데이터를 암호화하지 않습니다. 시스템 관리자는 dmcrypt 를 활성화하여 Ceph OSD에 저장된 데이터를 암호화해야 합니다. Ceph OSD를 스토리지 클러스터에 추가하는 데 Ceph Orchestrator 서비스 사양 파일을 사용하는 경우 파일에서 Ceph OSD를 암호화하도록 다음 옵션을 설정합니다.
예제
... encrypted: true ...
...
encrypted: true
...
LUKS 및 dmcrypt 는 전송 중인 데이터에 대한 암호화가 아닌 미사용 데이터의 암호화만 처리합니다.
Ceph Object Gateway 암호화
Ceph Object Gateway는 S3 API를 사용하여 고객 제공 키로 암호화를 지원합니다. S3 클라이언트는 고객 제공 키를 사용할 때 암호화된 데이터를 읽거나 쓰기 위한 각 요청과 함께 암호화 키를 전달합니다. 이러한 키를 관리하는 것은 고객의 책임이 있습니다. 고객은 각 오브젝트를 암호화하는 데 사용되는 Ceph Object Gateway를 기억할 수 있어야 합니다.
3.7. 키 교체 활성화 링크 복사링크가 클립보드에 복사되었습니다!
Ceph 클러스터 내의 Ceph 및 Ceph Object Gateway 데몬에는 시크릿 키가 있습니다. 이 키는 클러스터에 연결하고 인증하는 데 사용됩니다. 키 순환 기능을 사용하여 서비스 중단을 최소화하여 활성 Ceph 클러스터 내에서 활성 보안 키를 업데이트할 수 있습니다.
활성 Ceph 클러스터에는 병렬 키 변경 사항이 있는 Ceph 클라이언트 역할에 노드가 포함됩니다.
키 교체는 현재 산업 및 보안 준수 요구사항을 충족하는 데 도움이 됩니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
-
관리자권한이 있는 사용자
프로세스
키를 교체합니다.
구문
ceph orch daemon rotate-key NAME
ceph orch daemon rotate-key NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch daemon rotate-key mgr.ceph-key-host01 Scheduled to rotate-key mgr.ceph-key-host01 on host 'my-host-host01-installer'
[ceph: root@host01 /]# ceph orch daemon rotate-key mgr.ceph-key-host01 Scheduled to rotate-key mgr.ceph-key-host01 on host 'my-host-host01-installer'Copy to Clipboard Copied! Toggle word wrap Toggle overflow MDS, OSD 또는 MGR 이외의 데몬을 사용하는 경우 데몬을 다시 시작하여 새 키로 전환합니다. MDS, OSD 및 MGR 데몬은 데몬을 다시 시작할 필요가 없습니다.
구문
ceph orch restart SERVICE_TYPE
ceph orch restart SERVICE_TYPECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch restart rgw
[ceph: root@host01 /]# ceph orch restart rgwCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4장. ID 및 액세스 관리 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage는 다음과 같은 ID 및 액세스 관리를 제공합니다.
- Ceph Storage 클러스터 사용자 액세스
- Ceph Object Gateway 사용자 액세스
- Ceph Object Gateway LDAP/AD 인증
- Ceph Object Gateway OpenStack Keystone 인증
4.1. Ceph Storage 클러스터 사용자 액세스 링크 복사링크가 클립보드에 복사되었습니다!
사용자를 식별하고 중간자 공격으로부터 보호하기 위해 Ceph는 cephx 인증 시스템을 제공하여 사용자 및 데몬을 인증합니다. cephx 에 대한 자세한 내용은 Ceph 사용자 관리를 참조하십시오.
cephx 프로토콜 은 전송 또는 암호화 시 데이터 암호화를 처리하지 않습니다.
cephx는 인증에 공유 시크릿 키를 사용합니다. 즉, 클라이언트와 모니터 클러스터에 모두 클라이언트의 시크릿 키 사본이 있습니다. 인증 프로토콜은 두 당사자가 서로 증명할 수 있으므로 실제로 공개하지 않고 키의 복사본이 있습니다. 이는 클러스터가 사용자가 시크릿 키를 소유하고 있는지 확인하고 클러스터에 시크릿 키 사본이 있는지 확인하는 상호 인증을 제공합니다.
사용자는 Ceph 클라이언트를 사용하여 Red Hat Ceph Storage 클러스터 데몬과 상호 작용하는 애플리케이션과 같은 개인 또는 시스템 행위자입니다.
Ceph는 기본적으로 인증 및 권한 부여가 활성화된 상태에서 실행됩니다. Ceph 클라이언트는 일반적으로 명령줄을 사용하여 지정된 사용자의 시크릿 키가 포함된 사용자 이름 및 인증 키를 지정할 수 있습니다. 사용자 및 인증 키가 인수로 제공되지 않으면 Ceph에서 client.admin 관리 사용자를 기본값으로 사용합니다. 인증 키가 지정되지 않은 경우 Ceph는 Ceph 구성에서 인증 키 설정을 사용하여 인증 키를 찾습니다.
Ceph 클러스터를 강화하려면 인증 키 만 현재 사용자와 root 에 대한 읽기 및 쓰기 권한이 있어야 합니다. client.admin 관리 사용자 키가 포함된 인증 키는 root 사용자로 제한해야 합니다.
인증을 사용하도록 Red Hat Ceph Storage 클러스터를 구성하는 방법에 대한 자세한 내용은 Red Hat Ceph Storage 7 구성 가이드를 참조하십시오. 보다 구체적으로는 Ceph 인증 구성 을 참조하십시오.
4.2. Ceph Object Gateway 사용자 액세스 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Object Gateway는 사용자가 사용자 데이터를 포함하는 S3 및 Swift API에 액세스할 수 있도록 인증하고 권한을 부여하는 자체 사용자 관리로 RESTful API(애플리케이션 프로그래밍 인터페이스) 서비스를 제공합니다. 인증은 다음으로 구성됩니다.
- S3 사용자: S3 API 사용자의 액세스 키와 시크릿입니다.
- Swift 사용자: Swift API 사용자의 액세스 키와 시크릿입니다. Swift 사용자는 S3 사용자의 하위 사용자입니다. S3 'parent' 사용자를 삭제하면 Swift 사용자가 삭제됩니다.
- 관리 사용자: 관리 API 사용자의 액세스 키와 시크릿입니다. 관리 사용자는 Ceph Admin API에 액세스하고 사용자 생성과 같은 해당 기능을 실행하고 버킷 또는 컨테이너 및 해당 오브젝트에 액세스할 수 있는 권한을 부여하므로 관리 사용자를 생성해야 합니다.
Ceph Object Gateway는 Ceph Storage 클러스터 풀에 모든 사용자 인증 정보를 저장합니다. 이름, 이메일 주소, 할당량 및 사용을 포함한 사용자에 대한 추가 정보가 저장될 수 있습니다.
자세한 내용은 사용자 관리 및 사용자 생성을 참조하십시오.
4.3. Ceph Object Gateway LDAP 또는 AD 인증 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage는 Ceph Object Gateway 사용자를 인증하기 위해 Light-weight Directory Access Protocol(LDAP) 서버를 지원합니다. LDAP 또는 AD(Active Directory)를 사용하도록 구성된 경우 Ceph Object Gateway에서 LDAP 서버로 지연하여 Ceph Object Gateway의 사용자를 인증합니다.
Ceph Object Gateway는 LDAP 사용 여부를 제어합니다. 그러나 구성되면 사용자를 인증하는 LDAP 서버입니다.
Ceph Object Gateway와 LDAP 서버 간의 통신을 보호하려면 LDAP 보안 또는 LDAPS를 사용하여 구성을 배포하는 것이 좋습니다.
LDAP를 사용하는 경우 rgw_ldap_secret = PATH_TO_SECRET_FILE 시크릿 파일에 대한 액세스가 안전한지 확인합니다.
4.4. Ceph Object Gateway OpenStack Keystone 인증 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage는 OpenStack Keystone 사용을 지원하여 Ceph Object Gateway Swift API 사용자를 인증합니다. Ceph Object Gateway는 Keystone 토큰을 수락하고 사용자를 인증하고 해당 Ceph Object Gateway 사용자를 만들 수 있습니다. Keystone에서 토큰을 검증하면 Ceph Object Gateway에서 사용자가 인증된 것으로 간주합니다.
Ceph Object Gateway는 인증에 OpenStack Keystone을 사용할지 여부를 제어합니다. 그러나 구성되면 사용자를 인증하는 OpenStack Keystone 서비스입니다.
Keystone에서 작동하도록 Ceph Object Gateway를 구성하려면 Keystone에서 nss db 형식으로 요청을 만드는 데 사용하는 OpenSSL 인증서를 변환해야 합니다.
5장. 인프라 보안 링크 복사링크가 클립보드에 복사되었습니다!
이 가이드의 범위는 Red Hat Ceph Storage입니다. 그러나 적절한 Red Hat Ceph Storage 보안 계획에서는 다음 사전 요구 사항을 고려해야 합니다.
사전 요구 사항
- Red Hat 고객 포털에서 Red Hat Enterprise Linux for your OS 버전에 대한 제품 문서에서 SELinux 사용 가이드를 검토하십시오.
- Red Hat 고객 포털에서 Red Hat Enterprise Linux for your OS 버전에 대한 제품 문서에서 Security Hardening Guide 를 검토하십시오.
5.1. 관리 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage 클러스터를 관리하려면 명령줄 툴을 사용해야 합니다. CLI 툴에는 클러스터에 대한 관리자 액세스 권한에 대한 관리자 키가 필요합니다. 기본적으로 Ceph는 관리자 키를 /etc/ceph 디렉터리에 저장합니다. 기본 파일 이름은 ceph.client.admin.keyring 입니다. 클러스터에 대한 관리 권한이 있는 사용자만 인증 키에 액세스할 수 있도록 인증 키를 보호하는 단계를 수행합니다.
5.2. 네트워크 통신 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage는 다음 두 개의 네트워크를 제공합니다.
- 공용 네트워크입니다.
- 클러스터 네트워크.
모든 Ceph 데몬 및 Ceph 클라이언트는 스토리지 액세스 보안 영역의 일부인 공용 네트워크에 액세스해야 합니다. 반대로 OSD 데몬만 Ceph 클러스터 보안 영역의 일부인 클러스터 네트워크에 액세스해야 합니다.
Ceph 구성에는 public_network 및 cluster_network 설정이 포함되어 있습니다. 강화를 위해 CIDR 표기법을 사용하여 IP 주소 및 넷마스크를 지정합니다. 클러스터에 여러 서브넷이 있는 경우 여러 쉼표로 구분된 IP 주소 및 넷마스크 항목을 지정합니다.
public_network = <public-network/netmask>[,<public-network/netmask>] cluster_network = <cluster-network/netmask>[,<cluster-network/netmask>]
public_network = <public-network/netmask>[,<public-network/netmask>]
cluster_network = <cluster-network/netmask>[,<cluster-network/netmask>]
자세한 내용은 Red Hat Ceph Storage 구성 가이드의 Ceph 네트워크 구성 섹션을 참조하십시오.
5.3. 네트워크 서비스 강화 링크 복사링크가 클립보드에 복사되었습니다!
시스템 관리자는 Red Hat Enterprise Linux 8 Server에 Red Hat Ceph Storage 클러스터를 배포합니다. SELinux는 기본적으로 켜져 있으며 방화벽은 SSH 서비스 포트 22 를 제외한 모든 인바운드 트래픽을 차단하지만 다른 무단 포트가 열려 있거나 불필요한 서비스가 활성화되어 있지 않도록 해야 합니다.
각 서버 노드에서 다음을 실행합니다.
firewalld서비스를 시작하고 부팅 시 실행되도록 활성화하고 실행 중인지 확인합니다.systemctl enable firewalld systemctl start firewalld systemctl status firewalld
# systemctl enable firewalld # systemctl start firewalld # systemctl status firewalldCopy to Clipboard Copied! Toggle word wrap Toggle overflow 열려 있는 모든 포트의 인벤토리를 가져옵니다.
firewall-cmd --list-all
# firewall-cmd --list-allCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 설치에서는 구체적으로 포트가 열려 있지 않음을 나타내는
sources:섹션이 비어 있어야 합니다.services섹션에는 SSH 서비스(및 포트22) 및dhcpv6-client가 활성화되었음을 나타내는ssh가 표시되어야 합니다.sources: services: ssh dhcpv6-client
sources: services: ssh dhcpv6-clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow SELinux가 실행 중이고
강제실행 중인지 확인합니다.getenforce Enforcing
# getenforce EnforcingCopy to Clipboard Copied! Toggle word wrap Toggle overflow SELinux가
Permissive인 경우 이를Enforcing으로 설정합니다.setenforce 1
# setenforce 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow SELinux가 실행되고 있지 않은 경우 활성화합니다. Red Hat Customer Portal에서 Red Hat Enterprise Linux for your OS 버전에 대한 제품 설명서에서 기본 시스템 설정 구성 가이드에서 보안 강화 가이드 내에서 SELinux 가이드 사용을 참조하십시오.
각 Ceph 데몬은 하나 이상의 포트를 사용하여 Red Hat Ceph Storage 클러스터의 다른 데몬과 통신합니다. 경우에 따라 기본 포트 설정을 변경할 수 있습니다. 관리자는 일반적으로 Ceph Object Gateway 또는 ceph-radosgw 데몬이 있는 기본 포트만 변경합니다.
| TCP/UDP 포트 | 데몬 | 구성 옵션 |
|---|---|---|
|
|
|
|
|
|
| 해당 없음 |
|
|
|
|
|
|
|
|
|
|
| 해당 없음 |
Ceph Storage 클러스터 데몬에는 ceph-mon,ceph-mgr, ceph-osd 가 포함됩니다. 이러한 데몬과 호스트는 강화를 위해 자체 서브넷을 사용해야 하는 Ceph 클러스터 보안 영역을 구성합니다.
Ceph 클라이언트에는 ceph-radosgw,ceph-mds,ceph-fuse,libcephfs,rbd,librbd, librados 가 포함됩니다. 이러한 데몬과 호스트는 강화를 위해 자체 서브넷을 사용해야 하는 스토리지 액세스 보안 영역을 구성합니다.
Ceph Storage 클러스터 영역의 호스트에서는 Ceph 클라이언트를 실행하는 호스트만 Ceph Storage 클러스터 데몬에 연결하는 것이 좋습니다. 예를 들면 다음과 같습니다.
firewall-cmd --zone=<zone-name> --add-rich-rule="rule family="ipv4" \ source address="<ip-address>/<netmask>" port protocol="tcp" \ port="<port-number>" accept"
# firewall-cmd --zone=<zone-name> --add-rich-rule="rule family="ipv4" \
source address="<ip-address>/<netmask>" port protocol="tcp" \
port="<port-number>" accept"
< zone-name >을 영역 이름으로, < ipaddress >를 IP 주소로, < netmask >를 CIDR 표기법의 서브넷 마스크로, < port-number >를 포트 번호 또는 범위로 바꿉니다. 재부팅 후 변경 사항이 유지되도록 --permanent 플래그를 사용하여 프로세스를 반복합니다. 예를 들면 다음과 같습니다.
firewall-cmd --zone=<zone-name> --add-rich-rule="rule family="ipv4" \ source address="<ip-address>/<netmask>" port protocol="tcp" \ port="<port-number>" accept" --permanent
# firewall-cmd --zone=<zone-name> --add-rich-rule="rule family="ipv4" \
source address="<ip-address>/<netmask>" port protocol="tcp" \
port="<port-number>" accept" --permanent
5.4. 보고 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage는 ceph-mgr 데몬 플러그인, 즉 RESTful API, 대시보드 및 Prometheus 및 Zabbix 와 같은 기타 플러그인과 함께 기본 시스템 모니터링 및 보고를 제공합니다. Ceph는 collectd 및 sockets를 사용하여 설정, 구성 세부 정보 및 통계 정보를 검색합니다.
시스템 관리자는 기본 시스템 동작 외에도 IP 테이블 또는 ConnTrack 플러그인을 구성하여 열려 있는 포트와 연결을 각각 추적하는 등 보안 문제에 대해 보고하도록 collectd 를 구성할 수 있습니다.
시스템 관리자는 런타임 시 구성 설정을 검색할 수도 있습니다. 런타임 시 Ceph 구성 보기를 참조하십시오.
5.5. 관리자 작업 감사 링크 복사링크가 클립보드에 복사되었습니다!
시스템 보안의 중요한 측면은 클러스터에서 관리자 작업을 정기적으로 감사하는 것입니다. Red Hat Ceph Storage는 /var/log/ceph/CLUSTER_FSID/ceph.audit.log 파일에 관리자 작업 기록을 저장합니다. 모니터 호스트에서 다음 명령을 실행합니다.
예제
cat /var/log/ceph/6c58dfb8-4342-11ee-a953-fa163e843234/ceph.audit.log
[root@host04 ~]# cat /var/log/ceph/6c58dfb8-4342-11ee-a953-fa163e843234/ceph.audit.log
각 항목에는 다음이 포함됩니다.
- timestamp: 명령이 실행된 시기를 나타냅니다.
- Monitor Address(모니터 주소): 수정된 모니터를 식별합니다.
- 클라이언트 노드: 변경을 시작하는 클라이언트 노드를 식별합니다.
- Entity: 변경을 수행하는 사용자를 식별합니다.
- 명령: 실행된 명령을 식별합니다.
다음은 Ceph 감사 로그의 출력입니다.
2023-09-01T10:20:21.445990+0000 mon.host01 (mon.0) 122301 : audit [DBG] from='mgr.14189 10.0.210.22:0/1157748332' entity='mgr.host01.mcadea' cmd=[{"prefix": "config generate-minimal-conf"}]: dispatch
2023-09-01T10:20:21.446972+0000 mon.host01 (mon.0) 122302 : audit [INF] from='mgr.14189 10.0.210.22:0/1157748332' entity='mgr.host01.mcadea' cmd=[{"prefix": "auth get", "entity": "client.admin"}]: dispatch
2023-09-01T10:20:21.453790+0000 mon.host01 (mon.0) 122303 : audit [INF] from='mgr.14189 10.0.210.22:0/1157748332' entity='mgr.host01.mcadea'
2023-09-01T10:20:21.457119+0000 mon.host01 (mon.0) 122304 : audit [DBG] from='mgr.14189 10.0.210.22:0/1157748332' entity='mgr.host01.mcadea' cmd=[{"prefix": "osd tree", "states": ["destroyed"], "format": "json"}]: dispatch
2023-09-01T10:20:30.671816+0000 mon.host01 (mon.0) 122305 : audit [DBG] from='mgr.14189 10.0.210.22:0/1157748332' entity='mgr.host01.mcadea' cmd=[{"prefix": "osd blocklist ls", "format": "json"}]: dispatch
2023-09-01T10:20:21.445990+0000 mon.host01 (mon.0) 122301 : audit [DBG] from='mgr.14189 10.0.210.22:0/1157748332' entity='mgr.host01.mcadea' cmd=[{"prefix": "config generate-minimal-conf"}]: dispatch
2023-09-01T10:20:21.446972+0000 mon.host01 (mon.0) 122302 : audit [INF] from='mgr.14189 10.0.210.22:0/1157748332' entity='mgr.host01.mcadea' cmd=[{"prefix": "auth get", "entity": "client.admin"}]: dispatch
2023-09-01T10:20:21.453790+0000 mon.host01 (mon.0) 122303 : audit [INF] from='mgr.14189 10.0.210.22:0/1157748332' entity='mgr.host01.mcadea'
2023-09-01T10:20:21.457119+0000 mon.host01 (mon.0) 122304 : audit [DBG] from='mgr.14189 10.0.210.22:0/1157748332' entity='mgr.host01.mcadea' cmd=[{"prefix": "osd tree", "states": ["destroyed"], "format": "json"}]: dispatch
2023-09-01T10:20:30.671816+0000 mon.host01 (mon.0) 122305 : audit [DBG] from='mgr.14189 10.0.210.22:0/1157748332' entity='mgr.host01.mcadea' cmd=[{"prefix": "osd blocklist ls", "format": "json"}]: dispatch
Ceph와 같은 분산 시스템에서는 한 인스턴스에서 작업이 시작되어 클러스터의 다른 노드로 전파될 수 있습니다. 작업이 시작되면 로그는 디스패치 를 나타냅니다. 작업이 종료되면 로그가 finished 로 표시됩니다.
6장. 데이터 보존 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage는 사용자 데이터를 저장하지만 일반적으로 간접적인 방식으로 저장됩니다. 고객 데이터 보존에는 Red Hat OpenStack Platform과 같은 다른 애플리케이션이 포함될 수 있습니다.
6.1. Ceph Storage 클러스터 링크 복사링크가 클립보드에 복사되었습니다!
일반적으로 Reliable Autonomic Distributed Object Store 또는 RADOS라고 하는 Ceph Storage 클러스터는 풀 내에 데이터를 오브젝트로 저장합니다. 대부분의 경우 이러한 오브젝트는 Ceph 블록 장치 이미지, Ceph Object Gateway 오브젝트 또는 Ceph Filesystem 파일과 같은 클라이언트 데이터를 나타내는 원자 단위입니다. 그러나 librados 위에 빌드된 사용자 지정 애플리케이션은 풀에 바인딩되어 데이터도 저장할 수 있습니다.
cephx는 오브젝트 데이터를 저장하는 풀에 대한 액세스를 제어합니다. 그러나 Ceph Storage 클러스터 사용자는 일반적으로 사용자가 아닌 Ceph 클라이언트입니다. 결과적으로 사용자는 일반적으로 Ceph Storage 클러스터 풀에서 오브젝트를 직접 작성, 읽기 또는 삭제할 수 없습니다.
6.2. Ceph 블록 장치 링크 복사링크가 클립보드에 복사되었습니다!
RADOS 블록 장치 또는 RBD라고도 하는 Ceph 블록 장치 인터페이스인 Red Hat Ceph Storage를 가장 많이 사용하는 경우 가상 볼륨, 이미지 및 컴퓨팅 인스턴스를 생성하여 풀 내에 일련의 오브젝트로 저장합니다. Ceph는 이러한 오브젝트를 배치 그룹에 할당하고 클러스터 전체의 OSD에 의사 무작위로 배치하거나 배치합니다.
Ceph Block Device 인터페이스(일반적으로 Red Hat OpenStack Platform)를 사용하는 애플리케이션에 따라 사용자는 볼륨 및 이미지를 생성, 수정, 삭제할 수 있습니다. Ceph는 각 개별 오브젝트의 생성, 검색, 업데이트 및 삭제 작업을 처리합니다.
볼륨 및 이미지를 삭제하면 복구할 수 없는 방식으로 해당 오브젝트가 제거됩니다. 그러나 남은 데이터 아티팩트는 덮어쓸 때까지 스토리지 미디어에 계속 존재할 수 있습니다. 데이터는 백업 아카이브에도 남아 있을 수 있습니다.
6.3. Ceph 파일 시스템 링크 복사링크가 클립보드에 복사되었습니다!
Ceph File System 인터페이스는 가상 파일 시스템을 생성하여 풀 내에 일련의 오브젝트로 저장합니다. Ceph는 이러한 오브젝트를 배치 그룹에 할당하고 클러스터 전체의 OSD에 의사 무작위로 배치하거나 배치합니다.
일반적으로 Ceph 파일 시스템은 두 개의 풀을 사용합니다.
- 메타데이터 : 메타데이터 풀은 일반적으로 inode로 구성된 Ceph Metadata Server(MDS)의 데이터를 저장합니다. 즉, 파일 소유권, 권한, 생성 날짜 및 시간, 마지막으로 수정되거나 액세스된 날짜 및 시간, 상위 디렉터리 등입니다.
- data: 데이터 풀은 파일 데이터를 저장합니다. Ceph는 일반적으로 Extent와 같은 파일 데이터의 청크를 나타내는 하나 이상의 오브젝트로 파일을 저장할 수 있습니다.
Ceph 파일 시스템 인터페이스(일반적으로 Red Hat OpenStack Platform)를 사용하는 애플리케이션에 따라 사용자는 Ceph 파일 시스템에서 파일을 생성, 수정, 삭제할 수 있습니다. Ceph는 파일을 나타내는 각 개별 오브젝트의 생성, 검색, 업데이트 및 삭제 작업을 처리합니다.
파일을 삭제하면 복구할 수 없는 방식으로 해당 개체가 제거됩니다. 그러나 남은 데이터 아티팩트는 덮어쓸 때까지 스토리지 미디어에 계속 존재할 수 있습니다. 데이터는 백업 아카이브에도 남아 있을 수 있습니다.
6.4. Ceph Object Gateway 링크 복사링크가 클립보드에 복사되었습니다!
데이터 보안 및 보존 관점에서 Ceph Object Gateway 인터페이스에는 Ceph 블록 장치 및 Ceph 파일 시스템 인터페이스와 비교할 때 몇 가지 중요한 차이점이 있습니다. Ceph Object Gateway는 사용자에게 서비스를 제공합니다. Ceph Object Gateway는 다음을 저장할 수 있습니다.
- 사용자 인증 정보: 사용자 인증 정보는 일반적으로 사용자 ID, 사용자 액세스 키, 사용자 비밀로 구성됩니다. 제공된 경우 사용자의 이름과 이메일 주소를 포함할 수도 있습니다. 사용자가 시스템에서 명시적으로 삭제되지 않는 한 Ceph Object Gateway는 사용자 인증 데이터를 유지합니다.
사용자 데이터: 사용자 데이터는 일반적으로 사용자 또는 관리자가 생성한 버킷 또는 컨테이너와 포함된 사용자가 생성한 S3 또는 Swift 오브젝트로 구성됩니다. Ceph Object Gateway 인터페이스는 각 S3 또는 Swift 오브젝트에 대해 하나 이상의 Ceph Storage 클러스터 오브젝트를 생성하고 해당 Ceph Storage 클러스터 오브젝트를 데이터 풀 내에 저장합니다. Ceph는 Ceph Storage 클러스터 오브젝트를 배치 그룹에 할당하고 클러스터 전체의 OSD에 의사 무작위로 배치하거나 배치합니다. Ceph Object Gateway는 버킷 또는 인덱스에 포함된 오브젝트의 인덱스를 저장하여 S3 버킷 또는 Swift 컨테이너의 콘텐츠 나열과 같은 서비스를 활성화할 수도 있습니다. 또한 다중 파트 업로드를 구현할 때 Ceph Object Gateway는 S3 또는 Swift 오브젝트의 부분적인 업로드를 일시적으로 저장할 수 있습니다.
사용자는 버킷 또는 컨테이너와 해당 컨테이너에 포함된 오브젝트와 Ceph Object Gateway에 포함된 오브젝트를 생성, 수정, 삭제할 수 있습니다. Ceph는 S3 또는 Swift 오브젝트를 나타내는 각 Ceph Storage 클러스터 오브젝트의 생성, 검색, 업데이트 및 삭제 작업을 처리합니다.
S3 또는 Swift 오브젝트를 삭제하면 복구할 수 없는 방식으로 해당 Ceph Storage 클러스터 오브젝트가 제거됩니다. 그러나 남은 데이터 아티팩트는 덮어쓸 때까지 스토리지 미디어에 계속 존재할 수 있습니다. 데이터는 백업 아카이브에도 남아 있을 수 있습니다.
- logging: Ceph Object Gateway는 사용자가 수행하려는 사용자 작업과 실행된 작업 로그도 저장합니다. 이 데이터는 버킷 또는 컨테이너 또는 S3 버킷 또는 Swift 컨테이너에 있는 S3 또는 Swift 오브젝트를 생성, 수정 또는 삭제한 사용자의 추적 기능을 제공합니다. 사용자가 데이터를 삭제하면 로깅 정보는 영향을 받지 않으며 시스템 관리자가 삭제하거나 만료 정책에 의해 자동으로 제거될 때까지 스토리지에 남아 있습니다.
버킷 라이프사이클
Ceph Object Gateway는 오브젝트 만료를 포함하여 버킷 라이프사이클 기능도 지원합니다. 일반 데이터 보호 규정과 같은 데이터 보관 규정에서는 관리자가 오브젝트 만료 정책을 설정하고 사용자에게 다른 규정 준수 요인을 공개해야 할 수 있습니다.
다중 사이트
Ceph Object Gateway는 사용자가 하나의 사이트에 오브젝트를 저장하고 Ceph Object Gateway는 다른 클러스터의 오브젝트 복제본을 다른 지역에 생성할 수 있는 다중 사이트 컨텍스트에 배포됩니다. 예를 들어 기본 클러스터가 실패하는 경우 보조 클러스터가 작업을 재개할 수 있습니다. 다른 예에서, 보조 클러스터는 에지 네트워크 또는 콘텐츠 전달 네트워크와 같은 다른 지리적 위치에 있을 수 있으므로 클라이언트는 응답 시간, 처리량 및 기타 성능 특성을 개선하기 위해 가장 가까운 클러스터에 액세스할 수 있습니다. 다중 사이트 시나리오에서 관리자는 각 사이트에서 보안 조치를 구현했는지 확인해야 합니다. 또한 다중 사이트 시나리오에서 데이터의 지리적 배포가 발생하는 경우 관리자는 데이터가 정책 경계를 가로챌 때 모든 규제 영향을 알고 있어야 합니다.
7장. 연방 정보 처리 표준 (FIPS) 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage는 최신 인증된 Red Hat Enterprise Linux 버전에서 실행되는 경우 FIPS 검증 암호화 모듈을 사용합니다.
시스템 설치 중 또는 이후 Red Hat Enterprise Linux에서 FIPS 모드를 활성화합니다.
- 컨테이너 배포의 경우 Red Hat Enterprise Linux 9 Security Hardening Guide 의 지침을 따르십시오.
8장. 요약 링크 복사링크가 클립보드에 복사되었습니다!
이 문서에서는 Red Hat Ceph Storage의 보안에 대한 일반적인 소개만 제공합니다. 자세한 내용은 Red Hat Ceph Storage 컨설팅 팀에 문의하십시오.