카우치베이스 서버 7.1은 TLS 인증서에 대한 다양한 보안 개선 사항을 도입했습니다. 이 인증서는 네트워크를 통해 전송되는 데이터를 암호화 및 해독하는 데 사용되며 사용자를 인증할 수도 있습니다.
네 가지 개선 사항을 소개합니다:
- 여러 인증 기관
- 암호화된 TLS 개인 키
- 추가 TLS 인증서 형식
- 클러스터 전체 TLS 버전 1.3
여러 인증 기관
Couchbase Server 7.1 이전에는 클러스터에서 하나의 루트 인증서만 관리할 수 있었습니다. 모든 노드와 클라이언트는 이 단일 인증 기관(CA)에 의존해야 했습니다. 이는 고객이 원하는 유연성을 제공하지 못했습니다.
이제 카우치베이스 서버 7.1.0에서는 클러스터에서 여러 개의 루트 인증서를 사용할 수 있게 되었습니다. 이를 통해 개별 노드는 하나 이상의 다른 노드에서도 사용하는 CA를 사용하거나 다른 노드에서 사용하지 않는 CA를 사용할 수 있습니다.
새 CA를 업로드하고 노드 인증서를 하나씩 변경한 다음 마지막으로 이전 CA를 제거하는 방식으로 CA 인증서를 순환하는 동안 사용할 수 있습니다. 이는 CA 인증서를 변경하는 동안 100% 가동 시간을 의미합니다..
또한 여러 인증 기관을 통해 다음과 같은 경우 하나 이상의 서로 다른 인증서 체인을 사용할 수 있습니다. 애플리케이션 -> 클러스터 네트워크 암호화와 클라이언트 인증을 위한 또 다른 암호화입니다.
암호화된 TLS 개인 키
TLS 네트워크 암호화는 한 쌍의 키를 사용하여 수행되며, 하나는 공개 키이고 다른 하나는 개인 키입니다. 이름에서 알 수 있듯이 공개 키는 가능한 한 널리 배포하기 위한 것으로 보호할 필요가 없습니다. 반면에 개인 키는 보호된 비밀로 취급해야 합니다. 개인 키를 확보한 공격자는 잠재적으로 사용자와 시스템을 사칭하거나 개인 키를 사용하여 암호화된 네트워크 트래픽을 해독하는 데 개인 키를 사용할 수 있습니다.
Couchbase Server 7.1.0에서는 관리자가 다음을 사용하여 암호화된 개인 키를 사용할 수 있습니다. PKCS #5 v2 알고리즘과 같은 AES 256. 이 기능은 TLS 개인키를 암호화하지 않은 상태로 시스템에 저장하는 것을 방지합니다. 공격자가 개인 키를 손에 넣을 수 있다면 관련 암호가 없으면 개인 키를 사용할 수 없습니다.
개인 키 암호는 Couchbase Server의 비밀 관리 기능을 통해 내부에 저장됩니다. 또한 REST 호출을 실행하거나 고객이 제공한 스크립트를 실행하도록 Couchbase Server를 구성하여 외부에서 제공할 수도 있습니다. 이를 통해 키 관리의 유연성을 극대화할 수 있습니다.
사용할 수 있는 비밀 저장소의 몇 가지 예입니다:
- 비밀 관리자
- 사이버아크
- 해시코프 볼트
- 클라우드 백엔드
- AWS 비밀 관리
- Azure 키 볼트
- 인프라 키스토어
- 쿠버네티스 시크릿
- 도커 시크릿
- 하드웨어 솔루션
- 신뢰할 수 있는 플랫폼(TPM)
- 하드웨어 보안 모듈(HSM)
추가 TLS 인증서 형식
이전 버전의 Couchbase Server는 공개 키 암호화 표준 #1(PKCS #1) 유형 인증서만 지원합니다.
Couchbase Server 7.1.0은 PKCS #8 형식을 지원하며, PKCS #12 형식에 대한 베타 지원을 제공합니다. 따라서 인증서를 클러스터에 로드하기 전에 변환할 필요가 줄어듭니다.
PKCS #8은 암호화 또는 비암호화 개인키에 사용되는 개인키 정보 구문 표준입니다.
PKCS #12는 개인 정보 교환 구문 표준입니다. 여러 인증서와 같은 여러 개의 임베디드 개체를 포함하는 컨테이너 형식입니다.
클러스터 전체 TLS 1.3
시간이 지남에 따라 보안 알고리즘과 프로토콜이 개선되어 보안이 강화되고 통신을 가로채거나 변조하기가 더 어려워지는 추가 기능이 추가됩니다.
카우치베이스 서버 7.0에서 TLS 버전 1.3이 도입되었지만 불완전한 솔루션이었기 때문에 모든 서비스에 대해 TLS 버전 1.3을 최소로 요구하도록 클러스터 전체 최소 TLS 설정을 설정할 수 없었습니다.
카우치베이스 서버 7.1.0에서는 모든 서비스가 TLS 버전 1.3을 지원하므로 TLS의 필수 최소 허용 수준으로 구성할 수 있습니다. 이를 통해 보다 안전한 암호를 제공하며 이전 버전의 TLS에 비해 데이터의 암호화와 복호화가 모두 빨라집니다.
주목할 만한 TLS 사용량 변경 사항
Couchbase Server 7.1.0 클러스터에서는 클러스터에 추가되는 수신 노드가 추가되기 전에 신뢰할 수 있는 TLS 인증서가 있어야 합니다. 그러면 노드 추가는 암호화된 연결을 통해 수행됩니다. 이는 CA 관리 인증서와 함께 TLS를 사용하도록 구성된 클러스터에서 필수 요구 사항입니다.
또한 인증 기관 설정을 변경하는 기능도 제한합니다. 기존 클러스터에 있는 노드의 로컬 호스트에 있는 보안 관리자만 변경할 수 있습니다.