Data Security and Hardening Guide

Red Hat Ceph Storage 4

Red Hat Ceph Storage Data Security and Hardening Guide

초록

이 문서에서는 Ceph Storage 클러스터 및 클라이언트에 대한 데이터 보안 및 강화 정보를 제공합니다.
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지에서 참조하십시오.

1장. 소개

보안은 중요한 문제이며 Red Hat Ceph Storage 배포에 중점을 두고 있어야 합니다. 데이터 유출 및 다운타임은 비용이 많이 들고 관리하기 어려워지며, 법률은 감사 및 컴플라이언스 프로세스를 통과해야 할 수 있으며, 프로젝트에는 특정 수준의 개인 정보 보호 및 보안이 예상됩니다. 이 문서에서는 Red Hat Ceph Storage의 보안에 대한 일반적인 소개와 시스템 보안 지원에 대한 Red Hat의 역할을 제공합니다.

1.1. 머리말

이 문서에서는 Ceph Ansible 기반 배포에 중점을 두고 Red Hat Ceph Storage 배포의 보안을 강화하기 위한 권장 사항과 유용한 정보를 제공합니다. 이 안내서의 지침에 따라 사용자 환경의 보안을 강화할 수는 있지만 이러한 권장 사항에 따라 보안 또는 규정 준수를 보장하지 않습니다.

1.2. RHCS 소개

RHCS(Red Hat Ceph Storage)는 확장성이 뛰어나고 신뢰할 수 있는 오브젝트 스토리지 솔루션으로, 일반적으로 OpenStack과 같은 클라우드 컴퓨팅 솔루션과 함께, 독립 실행형 스토리지 서비스로 또는 iSCSI와 같은 인터페이스를 사용하여 네트워크 연결 스토리지로 배포됩니다.

모든 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 데몬에 클라이언트 데이터를 복제하고, 상태 및 주변 OSD에서 Ceph 모니터를 추적 및 보고하며, 다른 기능에서는 클러스터 크기가 변경될 때 실패 및 백필 데이터를 복구합니다.

모든 RHCS 배포는 Ceph Storage 클러스터 또는 RADOS(Reliable Autonomous Distributed Object Store)에 최종 사용자 데이터를 저장합니다. 일반적으로 최종 사용자는 Ceph Storage 클러스터와 직접 상호 작용하지 않습니다. 대신 Ceph 클라이언트와 상호 작용합니다. 다음과 같은 세 가지 기본 Ceph Storage 클러스터 클라이언트가 있습니다.

  • Ceph Object Gateway(ceph-radosgw): Ceph 개체 게이트웨이, radosgw 또는 rgw--provides an object storage service with RESTful API. Ceph Object Gateway는 Ceph Storage Cluster 또는 RADOS에서 클라이언트를 대신하여 데이터를 저장합니다.
  • Ceph 블록 장치(rbd): Ceph 블록 장치는 copy-on-write, 씬 프로비저닝 및 복제 가능 가상 블록 장치를 커널 RBD(krbd)를 통해 Linux 커널에 제공하거나 librbd 를 통해 OpenStack과 같은 클라우드 컴퓨팅 솔루션에 제공합니다.
  • Ceph Filesystem(cephfs): Ceph Filesystem은 fileystem의 inode 부분을 Ceph Storage Cluster의 오브젝트로 저장하는 하나 이상의 메타데이터 서버(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 Security Advisories는 Red Hat 솔루션에 영향을 미치는 보안 결함에 대한 사전 예방 공지를 제공합니다. 이는 Red Hat 솔루션에 영향을 미치는 보안 결함에 대한 사전 예방 공지를 제공합니다. 이는 취약점이 처음 게시되는 당일 패치와 함께 배포됩니다.

2장. 위협 및 취약성 관리

Red Hat Ceph Storage(RHCS)는 일반적으로 클라우드 컴퓨팅 솔루션과 함께 배포되므로 대규모 배포의 여러 구성 요소 중 하나로 요약된 Red Hat Ceph Storage 배포에 대해 생각하는 것이 유용할 수 있습니다. 이러한 배포에는 일반적으로 공유 보안 문제가 있으며 이 안내서에서는 보안 영역 이라고 합니다. 위협 행위자와 벡터는 동기 부여 및 리소스에 대한 액세스를 기반으로 분류됩니다. 목표는 목표에 따라 각 구역의 보안 문제에 대한 이해를 제공하기 위한 것입니다.

2.1. 위협 행위자

위협 행위자는 당신이 방어하려고 시도 할 수있는 형의 클래스를 나타내는 추상적인 방법입니다. 작업자가 더 강력하게 할 수 있는, 성공적인 공격 완화 및 예방에 필요한 보안 제어가 더 엄격합니다. 보안은 요구 사항에 따라 균형 잡힌 편의성, 방위 및 비용의 문제입니다. 경우에 따라 여기에 설명된 모든 위협 행위자에 대해 Red Hat Ceph Storage 배포를 보호할 수 없습니다. Red Hat Ceph Storage를 배포할 때는 배포 및 사용에 대한 균형이 어디에 있는지 결정해야합니다.

위험 평가의 일환으로 사용자가 저장하는 데이터 유형과 액세스 가능한 리소스의 유형을 고려해야 합니다. 이는 특정 행위자에게도 영향을 미치기 때문입니다. 그러나 데이터가 위협 행위자를 유발하지 않더라도 컴퓨팅 리소스에 쉽게 끌어올릴 수 있습니다.

  • 국가-국가: 이것은 가장 신뢰할 수 있는 광고입니다. 국가 상태 행위자는 대상에 대해 엄청난 리소스를 가져올 수 있습니다. 그들은 다른 배우보다 더 많은 능력을 가지고 있습니다. 인간과 기술 모두 상당히 엄격한 통제없이 이러한 액터들을 보호하는 것은 매우 어렵습니다.
  • 심각한 조직화 된 Crime: 이 클래스는 매우 강력하고 재정 중심 공격자 그룹을 설명합니다. 사내 익스플로잇 개발 및 목표 연구 비용을 절감할 수 있습니다. 최근 몇 년 동안 러시아 Business Network와 같은 조직의 증가로 인해 대규모의 사이버 보안 기업은 사이버 공격이 어떻게 상용이 되었는지 입증했습니다. 산업적 대응은 심각한 조직의 범죄 그룹에 속합니다.
  • 높은 지원 그룹: 이는 일반적으로 상업적으로 투자되지는 않지만 서비스 제공 업체 및 클라우드 운영자에게 심각한 위협을 초래할 수 있는 '결제주의' 유형의 조직을 나타냅니다.
  • 바이낸스 액티비티(Digitals Acting Alone) : 이러한 공격자는 악성인 또는 악성 종사자, 비효율 고객 또는 소규모 산업적 탈출기와 같은 많은 위장에서 온 것입니다.
  • Script Kiddies: 이 공격자는 특정 조직을 대상으로 하지 않지만 자동화된 취약점 검색 및 악용을 실행합니다. 이러한 행위자 중 하나에 의한 손상은 종종 미묘하지만 이러한 행위자 중 하나가 조직의 평판에 큰 위험을 초래할 수 있습니다.

다음 사례는 위에서 설명한 일부 위험을 줄이는 데 도움이 될 수 있습니다.

  • 보안 업데이트: 네트워킹, 스토리지 및 서버 하드웨어를 포함하여 기본 물리적 인프라의 포괄적인 보안 상태를 고려해야 합니다. 이러한 시스템에는 자체 보안 강화 방법이 필요합니다. Red Hat Ceph Storage 배포의 경우 보안 업데이트를 정기적으로 테스트하고 배포할 계획이어야 합니다.
  • 액세스 관리: 액세스 관리에는 인증, 권한 부여 및 계정이 포함됩니다. 인증은 사용자 ID를 확인하는 프로세스입니다. 권한 부여는 인증된 사용자에게 권한을 부여하는 프로세스입니다. 회계는 사용자가 작업을 수행하는 추적 프로세스입니다. 사용자에게 시스템 액세스 권한을 부여하는 경우 최소 권한 원칙을 적용하고 사용자에게 실제로 필요한 세분화된 시스템 권한만 부여합니다. 이 접근 방식은 시스템 관리자의 악의적인 행위자와 오타 오류의 위험을 줄이는 데 도움이 될 수 있습니다.
  • 내부 인터페이스의 암호화를 사용하여 역할 기반 액세스 제어(최소 필요한 액세스), 내부 인터페이스의 암호화를 사용하여 중앙 집중식 ID 관리(예: 중앙 집중식 ID 관리)를 사용하여 악의적인 내부자 위협을 완화할 수 있습니다. 작업 분리 및 불규칙한 작업 역할 회전과 같은 추가적인 비기술적 옵션을 고려할 수도 있습니다.

2.2. 보안 영역

보안 영역은 시스템 내에서 일반적인 신뢰 요구 사항과 기대치를 공유하는 사용자, 애플리케이션, 서버 또는 네트워크로 구성됩니다. 일반적으로 동일한 인증 및 권한 부여 요구 사항과 사용자를 공유합니다. 이러한 영역 정의를 추가로 세분화할 수는 있지만 이 가이드에는 보안 기능이 강화된 Red Hat Ceph Storage 클러스터를 배포하는 데 필요한 최소 세 가지가 네 가지 보안 영역을 나타냅니다. 이러한 보안 영역은 최소한 신뢰할 수 있는 보안 영역의 아래에 나열되어 있습니다.

  • 퍼블릭 보안 영역: 퍼블릭 보안 영역은 클라우드 인프라의 전혀 신뢰할 수 없는 영역입니다. 인터넷 전체 또는 권한이 없는 Red Hat OpenStack 배포 외부에 있는 네트워크를 참조할 수 있습니다. 이 영역을 통과하는 기밀성 또는 무결성 요구 사항이 있는 데이터는 암호화와 같은 제어 기능을 사용하여 보호해야 합니다. 공용 보안 영역은 Ceph Storage 클러스터의 프런트 또는 클라이언트 측 네트워크와 혼동 되지 않습니다. 이 네트워크는 RHCS의 public_network 라고 하며 일반적으로 공용 보안 영역 또는 Ceph 클라이언트 보안 영역의 일부가 아닙니다.
  • 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에 사용된 용어와 일치하도록 'storage 액세스 보안 영역' 구문을 사용합니다. 스토리지 액세스 보안 영역에는 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 Hardenng GuideNetwork Communications 섹션을 참조하십시오.

2.3. 보안 영역 연결

서로 다른 신뢰 수준 또는 인증 요구 사항이 있는 여러 보안 영역에 걸쳐 제공되는 구성 요소는 신중하게 구성해야 합니다. 이러한 연결은 네트워크 아키텍처의 약한 지점이며, 연결되는 영역 중 가장 높은 신뢰 수준의 보안 요구 사항을 충족하도록 항상 구성해야 합니다. 대부분의 경우 연결된 영역의 보안 제어는 공격 가능성으로 인해 주된 우려가 되어야 합니다. 영역이 충족되는 지점에 공격자가 마이그레이션하거나 배포의 더 민감한 부분으로 공격을 대상으로 할 수 있는 기회가 있습니다.

경우에 따라 Red Hat Ceph Storage 관리자는 통합 지점이 있는 영역보다 높은 표준에서 통합 포인트를 보호하는 것을 고려할 수 있습니다. 예를 들어 Ceph Cluster Security Zone은 다른 보안 영역에 연결할 이유가 없기 때문에 다른 보안 영역과 쉽게 격리할 수 있습니다. 반면 스토리지 액세스 보안 영역은 Ceph 모니터 노드의 포트 6789 및 Ceph OSD 노드의 포트 6800-7300 에 대한 액세스를 제공해야 합니다. 그러나 포트 3000 은 Ceph 관리자에게만 노출되어야 하는 Ceph Graphana 모니터링 정보에 대한 액세스를 제공하기 때문에 스토리지 액세스 보안 영역에 배타적이어야 합니다. Ceph Client Security Zone의 Ceph Object Gateway는 Ceph Cluster Security Zone의 모니터(포트 6789) 및 OSD(포트 6800-7300)에 액세스해야 하며, HTTP 포트 80 또는 HTTPS 포트 443 을 통해 S3 및 Swift API를 공용 보안 영역에 노출시킬 수 있습니다. 그러나 여전히 admin API에 대한 액세스를 제한해야 합니다.

Red Hat Ceph Storage를 설계하기 때문에 보안 영역 분리가 어렵습니다. 핵심 서비스는 일반적으로 두 개 이상의 영역에 걸쳐 있으므로 보안 제어를 적용할 때 특별한 고려 사항을 제공해야 합니다.

2.4. 보안 최적화 아키텍처

Red Hat Ceph Storage 클러스터의 데몬은 일반적으로 방화벽과 방화벽 뒤에서 서브넷이 분리되어 있는 노드에서 실행되므로 RHCS 클러스터를 쉽게 보호할 수 있습니다.

반대로 Ceph 블록 장치(rbd), Ceph Filesystem(cephfs) 및 Ceph Object Gateway(rgw)와 같은 Red Hat Ceph Storage 클라이언트는 RHCS 스토리지 클러스터에 액세스하지만 해당 서비스를 다른 클라우드 컴퓨팅 플랫폼에 노출합니다.

Ceph 보안 가이드 476225 0818

3장. 암호화 및 키 관리

Red Hat Ceph Storage 클러스터는 일반적으로 자체 네트워크 보안 영역(특히 개인 스토리지 클러스터 네트워크를 사용하는 경우)에 있습니다.

중요

공격자가 공용 네트워크의 Ceph 클라이언트에 액세스할 수 있는 경우 보안 영역 분리가 충분하지 않을 수 있습니다.

네트워크 트래픽의 기밀성 또는 무결성을 보장해야 하는 보안 요구 사항과 Red Hat Ceph Storage가 다음과 같은 암호화 및 키 관리를 사용하는 경우도 있습니다.

  • SSH
  • SSL 종료
  • Transit에서 암호화
  • Rest에서 암호화

3.1. SSH

RHCS 클러스터의 모든 노드는 클러스터 배포의 일부로 SSH를 사용합니다. 즉, 각 노드에서 다음을 수행합니다.

  • Ansible 사용자는 암호가 없는 root 권한을 가진 사용자가 있습니다.
  • SSH 서비스가 활성화되어 있으며 확장 포트 22로 열립니다.
  • Ansible 사용자의 공용 SSH 키 사본을 사용할 수 있습니다.
중요

확장으로 Ansible 사용자에게 액세스할 수 있는 모든 사용자는 RHCS 클러스터의 모든 노드에서 CLI 명령을 root로 실행할 수 있는 권한이 있습니다.

자세한 내용은 sudo Access를 사용하여 Ansible 사용자 생성 및 Ansible용 암호 없는 SSH 활성화를 참조하십시오.

3.2. SSL 종료

Ceph 오브젝트 게이트웨이는 부하 분산 및 페일오버를 위해 HAProxy 및 keepalived 와 함께 배포할 수 있습니다. Red Hat Ceph Storage 버전 2 및 3 개체 게이트웨이는 Civetweb을 사용합니다. 이전 버전의 Civetweb은 SSL을 지원하지 않으며 이후 버전에서는 일부 성능 제한으로 SSL을 지원합니다. HAProxy 및 keepalived 를 사용하여 SSL 연결을 종료하는 경우 HAProxy 및 keepalived 구성 요소는 암호화 키를 사용합니다.

HAProxy 및 keepalived 를 사용하여 SSL을 종료할 때 로드 밸런서와 Ceph Object Gateway 간의 연결은 암호화 되지 않습니다.

자세한 내용은 Civetweb 및 HAProxy/keepalived Configuration 에서 SSL 사용을 참조하십시오.

3.3. 전송 중 암호화

Red Hat Ceph Storage 4 이상부터 네트워크를 통해 모든 Ceph 트래픽의 암호화를 활성화할 수 있습니다. v2의 보안 모드 설정은 Ceph 데몬과 Ceph 클라이언트 간의 통신을 암호화하여 포괄적인 암호화를 제공합니다.

Messenger v2 프로토콜

Ceph의 유선 프로토콜의 두 번째 버전인 msgr2 에는 다음과 같은 몇 가지 새로운 기능이 포함되어 있습니다.

  • 네트워크를 통해 이동하는 모든 데이터를 암호화하는 보안 모드입니다.
  • 인증 페이로드 적용 개선 사항.
  • 광고 및 협상의 개선 사항은 다음과 같습니다.

Ceph 데몬은 여러 포트에 바인드되어 legacy, v1-compatible 및 새로운 v2-compatible, Ceph 클라이언트가 동일한 스토리지 클러스터에 연결할 수 있습니다. Ceph Monitor 데몬에 연결된 Ceph 클라이언트 또는 기타 Ceph 데몬은 가능한 경우 v2 프로토콜을 먼저 사용하려고 하지만 그렇지 않은 경우 레거시 v1 프로토콜을 사용합니다. 기본적으로 v1v2 프로토콜 모두 활성화되어 있습니다. 새로운 v2 포트는 3300이며 레거시 v1 포트는 기본적으로 6789입니다.

msgr2 프로토콜은 다음 두 가지 연결 모드를 지원합니다.

  • crc

    • wget으로 연결을 설정하는 경우 강력한 초기 인증을 제공합니다.
    • 비트 플립으로부터 보호하기 위해 crc32c 무결성 검사를 제공합니다.
    • 악의적인 메시지 가로채기(man-in-the-middle) 공격에 대한 보호를 제공하지 않습니다.
    • 도파이어가 모든 인증 후 트래픽을 볼 수 없도록 하지 않습니다.
  • 보안

    • wget으로 연결을 설정하는 경우 강력한 초기 인증을 제공합니다.
    • 모든 인증 후 트래픽에 대한 전체 암호화를 제공합니다.
    • 암호화 무결성 검사를 제공합니다.

기본 모드는 crc 입니다.

Ceph 오브젝트 게이트웨이 암호화

또한 Ceph 오브젝트 게이트웨이는 S3 API를 사용하여 고객 제공 키로 암호화를 지원합니다.

중요

전송 중 엄격한 암호화가 필요한 규제 준수 표준을 준수하기 위해 관리자는 클라이언트 측 암호화를 사용하여 Ceph Object Gateway를 배포해야 합니다.

Ceph 블록 장치 암호화

Ceph를 Red Hat OpenStack Platform 13의 백엔드로 통합하는 시스템 관리자는 RBD Cinder의 dm_crypt 를 사용하여 Ceph 스토리지 클러스터 내에서 유선 암호화를 보장하도록 Ceph 블록 장치 볼륨을 암호화 해야 합니다.

중요

전송 중 엄격한 암호화가 필요한 규제 준수 표준을 준수하기 위해 시스템 관리자는 RBD Cinder에 dmcrypt 를 사용하여 Ceph 스토리지 클러스터 내에서 유선 암호화를 확인해야 합니다.

추가 리소스

3.3.1. v2 프로토콜을 활성화

Red Hat Ceph Storage 4의 새로운 설치의 경우 v2 프로토콜인 msgr2 는 기본적으로 활성화됩니다. Red Hat Ceph Storage 3 이하의 경우 Ceph 모니터는 레거시 v1 포트 6789 에 바인딩됩니다. 업그레이드 후 msgr2 프로토콜을 활성화하여 새 기능을 활용할 수 있습니다. Ceph 모니터가 msgr2 프로토콜에 바인딩되면 Ceph Monitor 서비스를 다시 시작한 후 v2 주소를 사용하기 시작합니다. msgr2 프로토콜의 기본 연결 모드는 crc입니다.

암호화 오버헤드를 포함하도록 Red Hat Ceph Storage 클러스터를 계획할 때 클러스터 CPU 요구 사항을 고려해야 합니다.

중요

현재 보안 모드 사용은 Red Hat Enterprise Linux 8.2에서 CephFS 및 krbd 와 같은 Ceph 커널 클라이언트에서 지원됩니다. 보안 모드를 사용하는 Ceph 클라이언트에서 OpenStack Nova, Glance, Cinder와 같은 librbd 를 사용할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 4 클러스터.
  • 방화벽에서 TCP 포트 3300을 엽니다.
  • Ceph Monitor 노드에 대한 루트 수준 액세스입니다.

절차

  1. 편집을 위해 Ceph 구성 파일(기본적으로 /etc/ceph/ceph.conf )을 엽니다.
  2. [global] 섹션에 다음을 새 줄에 추가했습니다.

    ms_bind_msgr2 = true
    1. 선택적으로 Ceph 데몬 간의 유선 암호화를 활성화하고 Ceph 클라이언트와 데몬 간의 유선 암호화를 활성화하려면 Ceph 구성 파일의 [global] 섹션에 다음 옵션을 추가합니다.

      [global]
      ms_cluster_mode=secure
      ms_service_mode=secure
      ms_client_mode=secure
  3. Ceph 구성 파일에 변경 사항을 저장합니다.
  4. 업데이트된 Ceph 구성 파일을 Red Hat Ceph Storage 클러스터의 모든 노드에 복사합니다.
  5. msgr2 프로토콜을 활성화합니다.

    [root@mon ~]# ceph mon enable-msgr2
  6. 각 Ceph Monitor 노드에서 Ceph Monitor 서비스를 다시 시작합니다.

    [root@mon ~]# systemctl restart ceph-mon.target

추가 리소스

3.4. Rest에서 암호화

Red Hat Ceph Storage는 다음과 같은 몇 가지 시나리오에서 암호화를 지원합니다.

  1. Ceph Storage 클러스터: Ceph Storage 클러스터는 OSD 및 해당 저널, 쓰기 로그 및 메타데이터 데이터베이스의 Linux 통합 키 설정 또는 LUKS 암호화를 지원합니다. 이 시나리오에서 Ceph는 클라이언트가 Ceph 블록 장치, Ceph Filesystem, Ceph Object Storage 클러스터 또는 librados 에 구축된 사용자 지정 애플리케이션인지에 관계없이 모든 데이터를 암호화합니다.
  2. Ceph Object Gateway: Ceph Storage Cluster는 클라이언트 개체의 암호화를 지원합니다. Ceph Object Gateway가 오브젝트를 암호화하면 Red Hat Ceph Storage 클러스터와 독립적으로 암호화됩니다. 또한 전송된 데이터는 Ceph Object Gateway와 Ceph Storage Cluster 사이에 암호화된 형식으로 되어 있습니다.

Ceph Storage 클러스터 암호화

Ceph Storage Cluster는 OSD에 저장된 데이터 암호화를 지원합니다. Red Hat Ceph Storage는 dmcrypt; 즉 ceph-volume 에서 호출하며 물리 볼륨이 아닌 OSD의 논리 볼륨을 암호화하며 동일한 OSD 키를 사용하는 파티션과 같은 LVM 이외의 장치를 암호화하여 lvm 을 사용하여 논리 볼륨을 암호화할 수 있습니다. 논리 볼륨을 암호화하면 구성 유연성을 높일 수 있습니다.

LUKS v1은 Linux 배포판 중에서 가장 광범위한 지원이 있으므로 Ceph는 LUKS v2 대신 LUKS v1을 사용합니다.

OSD를 만들 때 lvm 은 비밀 키를 생성하고 stdin 을 통해 JSON 페이로드에서 키를 안전하게 Ceph 모니터에 전달합니다. 암호화 키의 속성 이름은 dmcrypt_key 입니다.

중요

시스템 관리자는 명시적으로 암호화를 활성화해야 합니다.

기본적으로 Ceph는 OSD에 저장된 데이터를 암호화하지 않습니다. 시스템 관리자는 Ceph Ansible에서 dmcrypt 를 활성화해야 합니다. group_vars/osds.yml 파일에서 dmcrypt 옵션을 설정하는 방법에 대한 자세한 내용은 Red Hat Ceph Storage 설치 가이드OSD Ansible 설정에 대한 부록을 참조하십시오.

참고

LUKS 및 dmcrypt 는 전송 중인 데이터의 암호화가 아닌 미사용 데이터에 대한 암호화만 처리합니다.

Ceph 오브젝트 게이트웨이 암호화

Ceph Object Gateway는 S3 API를 사용하여 고객 제공 키로 암호화를 지원합니다. 고객 제공 키를 사용하는 경우 S3 클라이언트는 암호화된 데이터를 읽거나 쓰기 위해 각 요청과 함께 암호화 키를 전달합니다. 이러한 키를 관리하는 것은 고객의 책임입니다. 고객은 각 오브젝트를 암호화하는 데 사용된 Ceph Object Gateway의 키를 기억해야 합니다.

자세한 내용은 Red Hat Ceph Storage 개발자 가이드S3 API 서버 측 암호화를 참조하십시오.

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는 사용자를 식별하고 중간자 공격을 방지하기 위해 iRMC 인증 시스템을 제공하여 사용자 및 데몬을 인증합니다. wget에 대한 자세한 내용은 Ceph 사용자 관리를 참조하십시오.

중요

wget 프로토콜은 전송 또는 암호화에서 미사용 데이터 암호화를 처리하지 않습니다.

cephx는 인증에 공유 비밀 키를 사용합니다. 즉 클라이언트와 모니터 클러스터 모두 클라이언트의 비밀 키 사본이 있습니다. 인증 프로토콜은 양 당사자가 서로 증명할 수 있도록 하여 키를 실제로 공개하지 않고 키 복사본을 가지고 있음을 증명할 수 있다는 것입니다. 이렇게 하면 상호 인증을 제공하므로 클러스터가 비밀 키를 가지고 있는지 확인하고, 사용자는 클러스터에 비밀 키 사본이 있는지 확인합니다.

사용자는 Ceph 클라이언트를 사용하여 Red Hat Ceph Storage 클러스터 데몬과 상호 작용하는 애플리케이션과 같은 개인 또는 시스템 행위입니다.

OSD States

Ceph는 기본적으로 인증 및 권한 부여로 실행됩니다. Ceph 클라이언트는 일반적으로 명령줄을 사용하여 지정된 user-​의 비밀 키가 포함된 사용자 이름과 인증 키를 지정할 수 있습니다. 사용자 및 인증 키가 인수로 제공되지 않으면 Ceph는 client.admin 관리자 사용자를 기본값으로 사용합니다. 인증 키를 지정하지 않으면 Ceph 구성에서 인증 키 설정을 사용하여 인증 키 를 찾습니다.

중요

Ceph 클러스터를 강화하기 위해 인증 키는 현재 사용자와 root 에 대한 읽기 및 쓰기 권한이 있어야 합니다. client.admin 관리 사용자 키가 포함된 인증 키는 root 사용자로 제한해야 합니다.

인증을 사용하도록 Red Hat Ceph Storage 클러스터를 구성하는 방법에 대한 자세한 내용은 Red Hat Ceph Storage 4의 구성 가이드를 참조하십시오. 보다 구체적으로는 CephX 구성 참조 를 참조하십시오.

4.2. Ceph Object Gateway 사용자 액세스

Ceph 오브젝트 게이트웨이는 RESTful API 서비스에 사용자 데이터가 포함된 S3 및 Swift 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 사용자 인증을 위해 LDAP(Lightweight-weight Directory Access Protocol) 서버를 지원합니다. LDAP 또는 Active Directory를 사용하도록 구성된 경우 Ceph Object Gateway는 LDAP 서버를 통해 Ceph Object Gateway의 사용자를 인증합니다.

Ceph Object Gateway는 LDAP 사용 여부를 제어합니다. 그러나 구성하고 나면 사용자 인증을 담당하는 LDAP 서버입니다.

Ceph Object Gateway와 LDAP 서버 간의 통신을 보호하려면 LDAP Secure 또는 LDAPS를 사용하여 구성을 배포하는 것이 좋습니다.

중요

LDAP를 사용하는 경우 rgw_ldap_secret = <path-to-secret > 시크릿 파일에 대한 액세스가 안전한지 확인합니다.

자세한 내용은 Ceph Object Gateway with LDAP/AD 가이드를 참조하십시오.

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 인증서를 변환해야 합니다.

자세한 내용은 Keystone을 사용하여 Ceph Object Gateway 사용자를 인증하는 것을 참조하십시오.

5장. 인프라 보안

이 가이드의 범위는 Red Hat Ceph Storage입니다. 그러나 적절한 Red Hat Ceph Storage 보안 계획에서는 Red Hat Enterprise Linux 7 보안 가이드와 Red Hat Enterprise Linux 7 SELinux 사용자 및 관리 가이드를 고려해야 합니다. 이 가이드 를 검토한 하이퍼링크는 여기에 통합되어 있습니다.

주의

예정된 가이드를 고려하지 않고 Red Hat Ceph Storage에 대한 보안 계획이 완료되지 않습니다.

5.1. 관리

Red Hat Ceph Storage 클러스터를 관리하려면 명령줄 툴을 사용해야 합니다. CLI 툴에는 클러스터에 대한 관리자 액세스 권한을 위해 관리자 키가 필요합니다. 기본적으로 Ceph는 관리자 키를 /etc/ceph 디렉터리에 저장합니다. 기본 파일 이름은 ceph.client.admin.keyring 입니다. 클러스터에 대한 관리 권한이 있는 사용자만 인증 키에 액세스할 수 있도록 인증 키를 안전하게 보호합니다.

5.2. 네트워크 통신

Red Hat Ceph Storage는 다음 두 가지 네트워크를 제공합니다.

  • 상기 공용 네트워크, 및, A public network, and
  • 클러스터 네트워크.

모든 Ceph 데몬 및 Ceph 클라이언트는 스토리지 액세스 보안 영역의 일부인 공용 네트워크에 액세스해야 합니다. 반대로 OSD 데몬만 Ceph 클러스터 보안 영역의 일부인 클러스터 네트워크에 액세스해야 합니다.

네트워크 아키텍처

Ceph 구성에는 public_networkcluster_network 설정이 포함됩니다. 강화 목적으로 CIDR 표기법을 사용하여 IP 주소 및 넷마스크를 지정합니다. 클러스터에 여러 개의 서브넷이 있는 경우 쉼표로 구분된 IP/넷마스크 항목을 지정합니다.

public_network = <public-network/netmask>[,<public-network/netmask>]
cluster_network = <cluster-network/netmask>[,<cluster-network/netmask>]

자세한 내용은 구성 가이드의 네트워크 구성 참조 를 참조하십시오.

5.3. 네트워크 서비스 강화

시스템 관리자는 Red Hat Enterprise Linux 7 Server에 Red Hat Ceph Storage 클러스터를 배포합니다. SELinux는 기본적으로 설정되어 있으며 방화벽은 SSH 서비스 포트 22 를 제외한 모든 인바운드 트래픽을 차단합니다. 그러나 이 경우 인증되지 않은 다른 포트가 열려 있지 않거나 불필요한 서비스가 활성화되어 있지 않도록 해야 합니다.

각 서버 노드에서 다음을 실행합니다.

  1. firewalld 서비스를 시작하고 부팅 시 실행되도록 활성화하고 실행 중인지 확인합니다.

    # systemctl enable firewalld
    # systemctl start firewalld
    # systemctl status firewalld
  2. 열려 있는 모든 포트의 인벤토리를 가져옵니다.

    # firewall-cmd --list-all

    새로운 설치에서 sources: section은 특별히 열린 포트가 없음을 나타내는 비어 있어야 합니다. services 섹션에는 SSH 서비스(및 포트 22)dhcpv6-client 가 활성화되었음을 나타내는 ssh 가 표시되어야 합니다.

    sources:
    services: ssh dhcpv6-client
  3. SELinux가 실행 중인지 확인하고 Enforcing.

    # getenforce
    Enforcing

    SELinux가 허용 되면 강제 모드로 설정합니다.

    # setenforce 1

    SELinux가 실행되고 있지 않으면 활성화합니다. 자세한 내용은 Red Hat Enterprise Linux 7 SELinux 사용자 및 관리 가이드 를 참조하십시오.

각 Ceph 데몬은 하나 이상의 포트를 사용하여 Red Hat Ceph Storage 클러스터의 다른 데몬과 통신합니다. 경우에 따라 기본 포트 설정을 변경할 수 있습니다. 관리자는 일반적으로 Ceph Object Gateway 또는 ceph-radosgw 데몬을 사용하여 기본 포트만 변경합니다. Object Gateway Configuration and Administration Guide 의 CivetWeb 포트 변경을 참조하십시오.

표 5.1. Ceph 포트

포트데몬구성 옵션

8080

ceph-radosgw

rgw_frontends

6789, 3300

ceph-mon

해당 없음

6800-7300

ceph-osd

ms_bind_port_min to ms_bind_port_max

6800-7300

ceph-mgr

ms_bind_port_min to ms_bind_port_max

6800

ceph-mds

해당 없음

Ceph Storage Cluster 데몬에는 ceph-mon,ceph-mgrceph-osd 가 포함됩니다. 이러한 데몬과 호스트는 강화 목적으로 자체 서브넷을 사용해야 하는 Ceph 클러스터 보안 영역을 구성합니다.

Ceph 클라이언트에는 ceph-radosgw,ceph-mds,ceph-fuse,libcephfs,rbd,librbdlibrados 가 포함됩니다. 이러한 데몬과 호스트는 스토리지 액세스 보안 영역을 구성하며, 이 영역은 강화 목적으로 자체 서브넷을 사용해야 합니다.

Ceph Storage Cluster 영역의 호스트에서 Ceph 클라이언트를 실행하는 호스트만 Ceph Storage Cluster 데몬에 연결하는 것이 좋습니다. 예를 들어 다음과 같습니다.

# firewall-cmd --zone=<zone-name> --add-rich-rule="rule family="ipv4" \
source address="<ip-address>/<netmask>" port protocol="tcp" \
port="<port-number>" accept"

&lt ;zone-name&gt;을 영역 이름으로 교체합니다. < ipaddress >를 IP 주소로 바꾸고 < netmask >를 CIDR 표기법의 서브넷 마스크로 바꿉니다. &lt ;port-number&gt;를 포트 번호 또는 범위로 바꿉니다. 재부팅 후 변경 사항이 유지되도록 --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

구체적인 단계는 Red Hat Ceph Storage 설치 가이드 의 방화벽 섹션을 참조하십시오.

5.4. 보고

Red Hat Ceph Storage는 ceph-mgr 데몬 플러그인, 즉 RESTful API, 대시보드, Prometheus 및 redfish와 같은 기타 플러그인과 관련된 기본 시스템 모니터링 및 보고 기능을 제공합니다. Ceph는 설정, 구성 세부 정보 및 통계 정보를 검색하기 위해 collectd 및 소켓을 사용하여 이 정보를 수집합니다.

시스템 관리자는 기본 시스템 동작 외에도 열려 있는 포트 및 연결을 각각 추적하기 위해 IP-Tables 또는 ConnTrack 플러그인 구성과 같은 보안 문제에 대해 보고하도록 collectd 를 구성할 수 있습니다.

시스템 관리자는 런타임 시 구성 설정을 검색할 수도 있습니다. Ceph 런타임 구성 보기를 참조하십시오.

5.5. 관리자 작업 감사

시스템 보안의 중요한 측면은 클러스터에서 정기적으로 관리자 작업을 감사하는 것입니다. Red Hat Ceph Storage는 /var/log/ceph/ceph.audit.log 파일에 관리자 작업 기록을 저장합니다.

각 항목은 다음을 포함합니다.

  • timestamp: 명령을 실행한 시간을 나타냅니다.
  • monitor address: 변경된 모니터를 식별합니다.
  • 클라이언트 노드: 변경을 시작하는 클라이언트 노드를 식별합니다.
  • 엔터티: 사용자를 변경합니다.
  • command: 실행된 명령을 식별합니다.

예를 들어 시스템 관리자는 nodown 플래그를 설정하고 설정을 해제할 수 있습니다. 감사 로그에서 다음과 같이 표시됩니다.

2018-08-13 21:50:28.723876 mon.reesi003 mon.2 172.21.2.203:6789/0 2404194 : audit [INF] from='client.? 172.21.6.108:0/4077431892' entity='client.admin' cmd=[{"prefix": "osd set", "key": "nodown"}]: dispatch
2018-08-13 21:50:28.727176 mon.reesi001 mon.0 172.21.2.201:6789/0 2097902 : audit [INF] from='client.348389421 -' entity='client.admin' cmd=[{"prefix": "osd set", "key": "nodown"}]: dispatch
2018-08-13 21:50:28.872992 mon.reesi001 mon.0 172.21.2.201:6789/0 2097904 : audit [INF] from='client.348389421 -' entity='client.admin' cmd='[{"prefix": "osd set", "key": "nodown"}]': finished
2018-08-13 21:50:31.197036 mon.mira070 mon.5 172.21.6.108:6789/0 413980 : audit [INF] from='client.? 172.21.6.108:0/675792299' entity='client.admin' cmd=[{"prefix": "osd unset", "key": "nodown"}]: dispatch
2018-08-13 21:50:31.252225 mon.reesi001 mon.0 172.21.2.201:6789/0 2097906 : audit [INF] from='client.347227865 -' entity='client.admin' cmd=[{"prefix": "osd unset", "key": "nodown"}]: dispatch
2018-08-13 21:50:31.887555 mon.reesi001 mon.0 172.21.2.201:6789/0 2097909 : audit [INF] from='client.347227865 -' entity='client.admin' cmd='[{"prefix": "osd unset", "key": "nodown"}]': finished

Ceph와 같은 분산 시스템에서 작업은 하나의 인스턴스에서 시작하여 클러스터의 다른 노드로 전파될 수 있습니다. 작업이 시작되면 로그에 디스패치가 표시됩니다. 작업이 종료되면 로그가 완료된 것으로 표시됩니다.

foregoing 예에서 entity='client.admin' 은 사용자가 admin 사용자임을 나타냅니다. cmd=[{"prefix": "osd set", "key": "nodown"}] 명령은 admin 사용자가 ceph osd set nodown 을 실행했음을 나타냅니다.

6장. 데이터 보존

Red Hat Ceph Storage는 사용자 데이터를 저장하지만 일반적으로 간접 방식으로 저장합니다. 고객 데이터 유지에는 Red Hat OpenStack Platform과 같은 다른 애플리케이션이 포함될 수 있습니다.

6.1. Ceph Storage 클러스터

Ceph Storage Cluster-often은 Reliable Autonomic Distributed Object Store 또는 RADOS-​stores 데이터를 풀 내의 오브젝트라고 합니다. 대부분의 경우 이러한 오브젝트는 Ceph 블록 장치 이미지, Ceph Object Gateway 개체 또는 Ceph Filesystem 파일과 같은 클라이언트 데이터를 나타내는 원자 단위입니다. 그러나 librados 위에 구축된 사용자 지정 애플리케이션도 풀에 바인딩되어 데이터도 저장할 수 있습니다.

wget은 오브젝트 데이터를 저장하는 풀에 대한 액세스를 제어합니다. 그러나 Ceph Storage 클러스터 사용자는 일반적으로 Ceph 클라이언트가 아니며 최종 사용자는 아닙니다. 따라서 일반적으로 최종 사용자는 Ceph Storage Cluster 풀에서 직접 오브젝트를 작성, 읽기 또는 삭제할 수 없습니다.

6.2. Ceph 블록 장치

RADOS 블록 장치 또는 RBD라고도 하는 Ceph 블록 장치 인터페이스인 Red Hat Ceph Storage를 가장 많이 사용하여 가상 볼륨, 이미지 및 컴퓨팅 인스턴스를 만들고 풀 내에서 일련의 오브젝트로 저장합니다. Ceph는 이러한 오브젝트를 배치 그룹에 할당하고 클러스터 전체의 OSD에 pseudo-random으로 배포하거나 배치합니다.

Ceph 블록 장치 인터페이스를 사용하는 애플리케이션에 따라 일반적으로 Red Hat OpenStack Platform-​end 사용자는 볼륨 및 이미지를 생성, 수정, 삭제할 수 있습니다. Ceph는 각 개별 오브젝트의 CRUD 작업을 처리합니다.

볼륨 및 이미지를 삭제하면 해당 오브젝트를 복구할 수 없는 방식으로 삭제됩니다. 그러나 잔류 데이터 아티팩트는 덮어쓸 때까지 스토리지 미디어에 계속 존재할 수 있습니다. 데이터는 또한 백업 파일에 남아 있을 수 있습니다.

6.3. Ceph Filesystem

Ceph Filesystem 인터페이스는 가상 파일 시스템을 생성하여 풀 내에 일련의 오브젝트로 저장합니다. Ceph는 이러한 오브젝트를 배치 그룹에 할당하고 클러스터 전체의 OSD에 pseudo-random으로 배포하거나 배치합니다.

일반적으로 Ceph Filesystem은 두 개의 풀을 사용합니다.

  • 메타데이터 : 메타데이터 풀은 일반적으로 inode로 구성된 메타데이터 서버(mds)를 저장합니다. 즉, 파일 소유권, 권한, 생성 날짜/시간, 마지막으로 수정된 날짜/시간, 상위 디렉터리 등입니다.
  • data: 데이터 풀은 파일 데이터를 저장합니다. Ceph는 하나 이상의 오브젝트로 파일을 저장할 수 있으며, 일반적으로 확장 영역과 같은 파일 데이터의 작은 청크를 나타냅니다.

Ceph Filesystem 인터페이스를 사용하는 애플리케이션에 따라 일반적으로 Red Hat OpenStack Platform-​end 사용자는 Ceph 파일 시스템에서 파일을 생성, 수정, 삭제할 수 있습니다. Ceph는 파일을 나타내는 각 개별 오브젝트의 CRUD 작업을 처리합니다.

파일을 삭제하면 해당 오브젝트를 복구할 수 없는 방식으로 제거됩니다. 그러나 잔류 데이터 아티팩트는 덮어쓸 때까지 스토리지 미디어에 계속 존재할 수 있습니다. 데이터는 또한 백업 파일에 남아 있을 수 있습니다.

6.4. Ceph Object Gateway

데이터 보안 및 보존 관점에서 Ceph Object Gateway 인터페이스에는 Ceph 블록 장치 및 Ceph 파일 시스템 인터페이스와 비교할 때 몇 가지 중요한 차이점이 있습니다. Ceph 오브젝트 게이트웨이는 최종 사용자에게 서비스를 제공합니다. 따라서 Ceph Object Gateway는 다음을 저장할 수 있습니다.

  • 사용자 인증 정보: 사용자 인증 정보는 일반적으로 사용자 ID, 사용자 액세스 키 및 사용자 시크릿으로 구성됩니다. 또한 제공된 경우 사용자의 이름과 이메일 주소를 포함할 수 있습니다. Ceph Object Gateway는 시스템에서 사용자를 명시적으로 삭제하지 않는 한 사용자 인증 데이터를 유지합니다.
  • 사용자 데이터: 사용자 데이터는 일반적으로 사용자 또는 관리자가 생성한 버킷 또는 컨테이너 및 그 내에 포함된 사용자가 생성한 S3 또는 Swift 오브젝트로 구성됩니다. Ceph Object Gateway 인터페이스는 각 S3 또는 Swift 오브젝트에 대해 하나 이상의 Ceph Storage 클러스터 오브젝트를 생성하고 해당 Ceph Storage 클러스터 오브젝트를 데이터 풀에 저장합니다. Ceph Storage 클러스터 개체는 Ceph Storage 클러스터 오브젝트를 배치 그룹에 할당하고 클러스터 전체의 OSD에 pseudo-random으로 배치하거나 배치합니다. Ceph Object Gateway는 버킷 또는 인덱스 내에 포함된 오브젝트의 인덱스를 저장하여 S3 버킷 또는 Swift 컨테이너의 콘텐츠 나열과 같은 서비스를 활성화할 수도 있습니다. 또한 다중 파트 업로드를 구현할 때 Ceph 오브젝트 게이트웨이는 S3 또는 Swift 오브젝트의 부분 업로드를 일시적으로 저장할 수 있습니다.

    최종 사용자는 버킷 또는 컨테이너를 생성, 수정 및 삭제할 수 있으며, Ceph Object Gateway에 포함된 오브젝트를 생성할 수 있습니다. Ceph는 S3 또는 Swift 오브젝트를 나타내는 각 개별 Ceph Storage 클러스터 오브젝트의 CRUD 작업을 처리합니다.

    S3 또는 Swift 오브젝트를 삭제하면 복구할 수 없는 방식으로 해당 Ceph Storage 클러스터 오브젝트가 삭제됩니다. 그러나 잔류 데이터 아티팩트는 덮어쓸 때까지 스토리지 미디어에 계속 존재할 수 있습니다. 데이터는 또한 백업 파일에 남아 있을 수 있습니다.

  • logging: Ceph Object Gateway는 사용자가 실행 중인 작업과 실행하려는 사용자 작업의 로그도 저장합니다. 이 데이터는 버킷 또는 컨테이너를 생성, 수정 또는 삭제한 사용자 또는 S3 버킷 또는 Swift 컨테이너에 상주하는 S3 또는 Swift 오브젝트에 대한 추적 기능을 제공합니다. 사용자가 데이터를 삭제하면 시스템 관리자가 삭제하거나 만료 정책을 통해 자동으로 제거될 때까지 로깅 정보는 영향을 받지 않으며 스토리지에 남아 있습니다.

버킷 라이프 사이클

Ceph Object Gateway는 개체 만료를 포함한 버킷 라이프사이클 기능도 지원합니다. 일반 데이터 보호 규정과 같은 데이터 보존 규정에 따라 관리자는 객체 만료 정책을 설정하고 다른 규정 준수 요인 중 최종 사용자에게 공개해야 할 수 있습니다.

다중 사이트

Ceph 개체 게이트웨이는 사용자가 한 사이트에 오브젝트를 저장하고 Ceph Object Gateway가 다른 지리적 위치에 오브젝트 복제본을 생성하는 다중 사이트 컨텍스트에 배포되는 경우가 많습니다. 예를 들어 기본 클러스터가 실패하면 보조 클러스터가 작업을 다시 시작할 수 있습니다. 다른 예에서, 보조 클러스터는 클라이언트가 응답 시간, 처리량 및 기타 성능 특성을 개선하기 위해 가장 가까운 클러스터에 액세스할 수 있도록 에지 네트워크 또는 콘텐츠 전달 네트워크와 같은 다른 지리적 위치에 있을 수 있습니다. 다중 사이트 시나리오에서는 관리자가 각 사이트에서 보안 조치를 구현했는지 확인해야 합니다. 또한 다중 사이트 시나리오에서 데이터 지리적 배포가 발생하는 경우 관리자는 데이터가 정책 경계를 넘어설 때 모든 규제 영향을 알고 있어야 합니다.

7장. 연방 정보 처리 표준 (FIPS)

Red Hat Ceph Storage는 Red Hat Enterprise Linux 7.6 또는 Red Hat Enterprise Linux 8.1 또는 Red Hat Enterprise Linux 8.2에서 실행할 때 FIPS 검증 암호화 모듈을 사용합니다.

추가 리소스

8장. 요약

이 문서에서는 Red Hat Ceph Storage의 보안에 대한 일반적인 소개만 제공했습니다. 추가 도움이 필요한 경우 Red Hat Ceph Storage 컨설팅 팀에 문의하십시오.