Couchbase는 이제 LUKS 디스크 암호화를 지원합니다. 를 사용하여 저장된 데이터를 안전하게 보호합니다. LUKS는 얼마나 안전한가요?
Couchbase 7.0은 보안에 중점을 두어 다음 두 가지를 모두 지원합니다. 범위 및 컬렉션을 위한 역할 기반 액세스 제어(RBAC))를 통해 미사용 데이터를 암호화하고, Linux 통합 키 설정(LUKS).
디스크 암호화는 모든 조직의 데이터 보안 전략과 PCI DSS, FIPS, FISMA, GDPR 및 기타 규제 표준 준수를 위한 필수 요소입니다.
그렇다면 LUKS 암호화는 안전한가요? 이 게시물에서는 Couchbase Server 클러스터에 있는 문서의 세 단계인 처리 중인 데이터, 전송 중인 데이터, 미사용 데이터(아래 표 참조)에 대한 보안 옵션에 대한 개요부터 살펴본 다음 LUKS 온디스크 암호화를 통한 미사용 데이터 보안의 세부 사항을 자세히 알아보겠습니다.
| 스테이지 | 설명 | 사용 사례 | Couchbase의 암호화 옵션 | 
| 처리 중인 데이터 | 활성 데이터, 시스템 내 메모리 | 사용 중인 문서 | 애플리케이션 계층의 필드 수준 암호화 | 
| 전송 중인 데이터 | 시스템 간에 이동하는 데이터 | 복제, 데이터 센터 간 복제(XDCR) | TLS 암호화, X.509 인증서 | 
| 저장된 데이터 | 사용 중이 아닌 데이터 | 오프라인 머신의 디스크에 있는 버킷 | LUKS를 포함한 다양한 옵션과 다음과 같은 타사 솔루션 지원 탈레스 보메트릭 | 
저장 데이터 암호화를 사용하는 이유는 무엇인가요?
미사용 데이터 암호화는 잠겨 있거나 오프라인 저장 시스템을 보호하고 적절한 권한과 액세스 권한 없이는 데이터를 읽을 수 없도록 합니다. 장치가 온라인 상태이고 잠금이 해제되어 작동 중인 동안에는 미사용 데이터로 암호화된 데이터가 보호되지 않습니다. 이를 위해서는 위 표에 언급된 다른 암호화 방법 중 하나를 사용해야 합니다.
다음은 미사용 데이터 암호화에 대한 일반적인 시나리오입니다:
- 
- 데이터 유출 가능성으로부터 기밀 또는 개인 식별 정보를 보호하려면 다음과 같이 하세요.
 - 스마트폰과 같은 장치에서는 기본적으로 전체 디스크 암호화라고 합니다.
 - 클라우드와 같이 여러 사용자가 동일한 기본 하드웨어에 액세스하는 환경의 경우
 
 
LUKS 디스크 암호화
LUKS는 Linux 환경에서 디스크 암호화를 위한 사실상 표준으로 사용되는 완전 오픈 소스 도구입니다.
모든 Couchbase 인증 Linux 운영 체제에 포함되어 있으며 각 OS 공급업체에서 지원합니다. LUKS는 커널 계층에 위치하며 디스크 블록 수준에서 스토리지를 암호화하므로 사용자는 이 블록 수준 암호화 위에 모든 파일 시스템을 투명하게 배포할 수 있습니다. LUKS는 스토리지 파티션을 암호화할 수 있으며, 단일 드라이브, 멀티 디스크 RAID 어레이, 논리 볼륨 관리자(LVM), 심지어 파일 백업 파티션까지 제공할 수 있습니다.
LUKS 암호화는 무엇에 좋은가요?
LUKS는 유연하며 다양한 암호 제품군을 제공합니다.
기본적으로 Red Hat 8 Linux 환경에서 LUKS는 보안성이 뛰어난 512비트 AES(고급 암호화 표준) 키를 사용합니다. 암호화된 LUKS 볼륨에는 여러 개의 키 슬롯이 있어 사용자가 백업 키 또는 암호를 추가할 수 있으며, Argon2를 사용하여 키 해지 및 잘못된 암호에 대한 보호와 같은 기능을 사용할 수 있습니다.
...그리고 어떤 경우에 좋지 않을까요?
LUKS는 MacOS 및 Windows와 같은 Linux 이외의 플랫폼에 배포된 Couchbase 인스턴스에는 적합한 옵션이 아닙니다. 또한 운영 체제 공급업체와 지원 계약을 맺지 않은 고객에게는 적합하지 않습니다.
Microsoft EFS(암호화된 파일 시스템)와 같은 표준 OS 제공 암호화 기술 또는 Couchbase의 타사 미사용 암호화 파트너 는 조직에서 Linux를 사용하지 않거나 OS 공급업체와 지원 계약을 맺지 않은 경우 더 나은 옵션입니다.
LUKS Security를 사용하여 저장된 카우치베이스 데이터 암호화하기
Linux 환경에서 LUKS를 구현하는 방법에는 여러 가지가 있으며, 가장 일반적으로 다음을 사용합니다. dm-crypt(커널 레벨 디바이스 매퍼 인프라의 일부)와 크립트 설정 명령줄 유틸리티를 설정하여 dm-crypt 타겟.
다음 코드 샘플에서는 Ubuntu 16 Couchbase Server 클러스터에서 LVM으로 디스크를 설정하는 데 사용한 명령의 예를 보여드리겠습니다. 그런 다음 LUKS로 암호화된 논리 볼륨을 배포하고 이를 Couchbase Server 노드의 데이터 디렉터리로 마운트하는 방법을 보여드리겠습니다. 이렇게 하면 Couchbase Server가 침해되는 경우 권한이 없는 사용자가 Couchbase 버킷의 기밀 데이터에 액세스할 수 없게 됩니다.
여기에 제공된 단계는 Couchbase Server 7.0의 GA(일반 사용 가능성) 릴리스 이전에 제공되었으며 릴리스 시점 또는 향후 업그레이드를 통해 변경될 수 있습니다. 항상 최신 제품 정보는 보안에 관한 Couchbase 설명서를 참조하세요..
클러스터에 추가하고 데이터를 버킷에 로드하기 전에 Couchbase Server 노드에서 다음 단계를 수행하세요. 참고: 이 단계를 수행하면 현재 대상 디스크에 있는 모든 내용이 지워지므로 주의하고 올바른 장치에 쓰고 있는지 확인하세요.
1. 설치 lvm 그리고 크립트 설정 유틸리티.
| 
					 1  | 
						sudo apt-get 설치 lvm2 크립트 설정  | 
					
2. 드라이브 구성(/dev/sdb)를 클릭하고 LVM을 사용할 새 기본 파티션을 만듭니다.
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34  | 
						$ sudo fdisk /dev/sdb 명령 (m 에 대한 도움말): n 파티션 유형 p 기본 (0 기본, 0 확장, 4 무료) e 확장 (컨테이너 에 대한 논리적 파티션) 선택 (기본값 p): p 파티션 숫자 (1-4, 기본값 1): 1 먼저 섹터 (2048-2097151, 기본값 2048): 마지막 섹터, +섹터 또는 +크기{K,M,G,T,P} (2048-2097151, 기본값 2097151): 생성됨 a new 파티션 1 의 유형 'Linux' 그리고 의 크기 1023 MiB. 명령 (m 에 대한 도움말): t 선택됨 파티션 1 파티션 유형 (유형 L 에 목록 모두 유형): 8e 변경됨 유형 의 파티션 'Linux' 에 'Linux LVM'. 명령 (m 에 대한 도움말): p 디스크 /dev/sdb: 1 GiB, 1073741824 바이트, 2097152 섹터 단위: 섹터 의 1 * 512 = 512 바이트 섹터 크기 (논리적/물리적): 512 바이트 / 512 바이트 I/O 크기 (최소/최적): 512 바이트 / 512 바이트 디스크 라벨 유형: dos 디스크 식별자: 0x980c1049 장치 부팅 시작 종료 섹터 크기 Id 유형 /dev/sdb1 2048 2097151 2095104 1023M 8e Linux LVM 명령 (m 에 대한 도움말): w 그리고 파티션 테이블 has been 변경됨. 통화 ioctl() 에 re-읽기 파티션 테이블. 동기화 디스크.  | 
					
3. 사용할 LVM 구성 /dev/sdb1 를 물리적 볼륨으로 설정합니다.
| 
					 1 2  | 
						$ sudo pvcreate /dev/sdb1 물리적 볼륨 "/dev/sdb1" 성공 생성  | 
					
4. 물리적 볼륨이 상주할 볼륨 그룹을 만듭니다. 이름을 다음과 같이 지정합니다. 카우치베이스.
| 
					 1 2  | 
						$ sudo vgcreate 카우치베이스 /dev/sdb1 볼륨 그룹 "couchbase" 성공 생성  | 
					
5. 500MB 논리 볼륨을 만듭니다. 도심 데이터 에서 카우치베이스 볼륨 그룹.
| 
					 1 2  | 
						$ sudo lvcreate -L 500M -n 도심 데이터 /dev/카우치베이스 논리적 볼륨 "cbdata" 생성.  | 
					
6. 사용 크립트 설정 유틸리티를 사용하여 도심 데이터 논리적 볼륨.
| 
					 1 2 3 4 5 6 7 8 9 10  | 
						$ sudo 크립트 설정 --verbose --확인-암호 구문 luksFormat /dev/카우치베이스/도심 데이터 경고! ======== 이 will 덮어쓰기 데이터 on /dev/카우치베이스/도심 데이터 돌이킬 수 없게. Are 당신 sure? (유형 대문자 yes): 예 입력 암호 구문: 확인 암호 구문: 명령 성공.  | 
					
7. 암호화된 도심 데이터 논리 볼륨으로 설정하고 이를 cbdata-luks.
| 
					 1 2  | 
						$ sudo 크립트 설정 luksOpen /dev/카우치베이스/도심 데이터 도심 데이터-luks 입력 암호 구문 에 대한 /dev/카우치베이스/도심 데이터:  | 
					
8. 파일 시스템 위에 cbdata-luks 장치.
| 
					 1 2 3 4 5 6 7 8 9 10 11  | 
						$ sudo mkfs.ext4 /dev/매퍼/도심 데이터-luks mke2fs 1.42.13 (17-5월-2015) 만들기 파일 시스템 와 함께 509952 1k 블록 그리고 127512 inode 파일 시스템 UUID: a26d318b-afdd-45ca-857a-063899183ffd 슈퍼블록 백업 저장 on 블록: 8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409 할당 그룹 테이블: 완료 글쓰기 inode 테이블: 완료 만들기 저널 (8192 블록): 완료 글쓰기 슈퍼블록 그리고 파일 시스템 회계 정보: 완료  | 
					
9. 다음 위치에 디렉터리를 만듭니다. /couchbase-data 를 사용하여 Couchbase 데이터 디렉터리에 사용할 파일 시스템을 마운트한 다음 파일 시스템을 마운트합니다.
| 
					 1 2  | 
						$ sudo mkdir /카우치베이스-데이터 $ sudo 마운트 /dev/매퍼/도심 데이터-luks /카우치베이스-데이터  | 
					
10. 이제 다음 위치에 LUKS 암호화 저장 장치가 마운트되어 있습니다. /couchbase-data로 설정하고, 이 디렉터리를 Couchbase Server 데이터 디렉터리의 대상으로 사용합니다. 이를 확인하기 위해 마운트 그리고 크립트 설정 명령을 실행합니다:
| 
					 1 2 3  | 
						$ 마운트 ... /dev/매퍼/도심 데이터-luks on /카우치베이스-데이터 유형 ext4 (rw,상대 시간,데이터=주문)  | 
					
| 
					 1 2 3 4 5 6 7 8 9  | 
						$ sudo 크립트 설정 상태 /dev/매퍼/도심 데이터-luks /dev/매퍼/도심 데이터-luks 는 활성 그리고 는 in 사용. 유형: LUKS1 암호: aes-xts-plain64 keysize: 256 비트 장치: /dev/매퍼/카우치베이스-도심 데이터 오프셋: 4096 섹터 크기: 1019904 섹터 모드: 읽기/쓰기  | 
					
Couchbase 7.0에 대해 자세히 알아보기
Couchbase 7.0과 모든 기능에 대해 자세히 알아볼 준비가 되셨나요? 다음 리소스를 확인해 보세요:
문서
관련 블로그 게시물
범위 및 컬렉션으로 Couchbase에서 멀티테넌트 앱 배포를 간소화하는 방법
이제 N1QL 쿼리 언어가 분산 ACID 트랜잭션을 지원합니다.
다운로드 및 지원
엔터프라이즈 에디션 고객 지원은 일반 지원 채널을 통해 이용할 수 있습니다. 카우치베이스 포럼을 통해 커뮤니티 지원을 받을 수 있습니다.
Couchbase 7 체험해 보기