모범 사례 및 튜토리얼

노드 간 암호화를 위한 카우치베이스 지원

카우치베이스는 카우치베이스 클러스터 내의 노드 간 연결에 TLS 기반 암호화를 추가하여 노드 간 암호화 또는 클러스터 암호화를 지원합니다.

Couchbase를 사용하는 고객이 HIPAA와 같은 개인정보 보호 규정을 준수해야 하는 경우(예: 금융 또는 의료 고객), 일반적으로 인증(LDAP), 권한 부여(RBAC 역할 기반 액세스 제어) 및 암호화를 허용해야 합니다. 또한 중요한 정보, 특히 로그에 대한 감사 및 삭제 기능을 지원하는 것도 중요합니다(Couchbase는 특정 태그를 사용한 로그 삭제 기능을 지원합니다). 암호화와 관련하여 Couchbase는 클러스터 구성 수준 설정을 사용하여 여러 수준에서 노드 간 암호화를 지원합니다. 이는 사용자가 제어하며 3가지 값을 사용할 수 있습니다:

  1. 제어: 이 수준에서는 내부 서비스에 대한 클러스터 및 서버 연결만 암호화됩니다. 여기에는 기본적으로 클러스터 관리 정보 및 관련 내부 프로세스가 포함됩니다. 그러나 클러스터 내 노드 간 데이터는 암호화되지 않습니다. 예를 들어, 서버와 쿼리 서비스 연결은 암호화됩니다. 이것이 기본 동작입니다.

  2. 모두: 이 수준에서는 노드 간 연결과 서비스 간 연결이 모두 암호화됩니다. 즉, 단일 노드에 여러 서비스가 있는 경우 이러한 서비스 간의 연결도 암호화된다는 뜻입니다. 따라서 쿼리 노드에 대한 서버 연결과 함께 쿼리 노드에서 인덱서 노드 및 FTS 노드에 이르는 쿼리 노드 간의 통신도 암호화됩니다.

  3. 엄격합니다: 이는 곧 출시될 릴리스 7.0에 추가된 새로운 수준입니다. 클러스터 암호화 수준을 '엄격'으로 설정하는 것은 클러스터 암호화 수준을 '모두'로 설정하고 루프백이 아닌 인터페이스에서 SSL이 아닌 포트를 모두 비활성화하는 것과 동일합니다.

N-N 암호화 사용

기본적으로 클러스터 암호화는 꺼져 있습니다. 활성화하면 제어로 설정됩니다. 노드 간 암호화를 원할 경우 명시적으로 모두로 설정해야 합니다. 인증서를 사용하여 지원됩니다.

  1. 자동 장애 조치를 비활성화합니다: 노드 간 암호화를 사용하여 클러스터 암호화를 사용하도록 설정하기 전에 전환 중인 노드가 응답하지 않는 것으로 표시되어 장애 조치되는 것을 방지하기 위해 사용자가 자동 장애 조치를 비활성화해야 합니다. 이 작업은 couchbase-cli 또는 REST API를 사용하여 수행할 수 있습니다.

./couchbase-cli 설정-자동 페일오버 -c :8091 -u 사용자 이름 -p 비밀번호 
--enable-auto-failover 0  

또는

curl -u username:password http://:8091/settings/autoFailover 
-d enabled=false

  1. 노드 간 암호화를 사용하도록 설정합니다: 성공적으로 반환되면 명령을 사용하여 노드 간 암호화를 활성화할 수 있습니다:

./couchbase-cli 노드 간 암호화 -c :8091 -u 사용자 이름 
-p 비밀번호 -사용

이렇게 하면 제어할 클러스터 암호화 수준이 설정되고 클러스터의 모든 노드에 대한 암호화가 켜집니다. 암호화가 성공적으로 사용 설정되었는지 확인하려면-get옵션 대신 위의-활성화.

  1. 클러스터 암호화 설정을 변경합니다: 사용자가 클러스터 암호화 수준을 변경하려는 경우 다음 CLI 명령을 사용할 수 있습니다:

    ./couchbase-cli 설정-보안 -c :8091 -u 사용자 이름 -p 비밀번호 
    -설정 -클러스터-암호화 수준 모두

REST API 명령을 사용할 수도 있습니다:

curl -XPOST -u username:password http://:8091/settings/security 
-d 클러스터 암호화 수준=모두

  1. 자동 장애 조치를 다시 사용 설정합니다: 그런 다음 자동 장애 조치를 다시 사용하도록 설정해야 합니다.

    자동 장애 조치 활성화 및 비활성화에 대한 자세한 내용은 자동 장애 조치 활성화 및 비활성화를 참조하세요:
    https://docs.couchbase.com/server/current/cli/cbcli/couchbase-cli-setting-autofailover.html 클러스터 전체 암호화 설정을 검색하려면 다음을 참조하세요: https://docs.couchbase.com/server/current/rest-api/rest-setting-security.html

노드 간 암호화 비활성화하기

  1. 제어할 클러스터 암호화 수준을 변경합니다.

  2. 비활성화하려면 CLI에서 노드 간 암호화 설정을 사용합니다.

인증서 및 노드 간 암호화

X509 인증서로 서버를 보호할 때 기억해야 할 중요한 사항은 루트 및 중간 인증서를 업로드하거나 로테이션하기 전에 노드 간 암호화를 비활성화하는 것입니다. 따라서 인증서를 사용하여 서버를 보호하려면 다음 단계를 따라야 합니다:

  1. 노드 간 암호화를 비활성화합니다.

  2. 에 설명된 단계를 사용하여 루트/중간 인증서를 만들고 클러스터에 업로드 또는 회전합니다. https://dzone.com/articles/authentication-using-server-side-x509-certificates.

  3. 노드 간 암호화를 다시 활성화합니다.

노드 간 암호화 활성화의 한계 중 하나는 성능에 미치는 영향입니다. 모든 노드 간 통신이 암호화되므로 약간의 오버헤드가 추가됩니다. 그러나 추가적인 보안 통신은 추가적인 보너스입니다.

결론

이 문서에서는 Couchbase가 노드 간 암호화를 지원하고 보안을 최적화하기 위해 개별 노드와 노드에 배포된 여러 Couchbase 서비스 간의 네트워크 트래픽을 암호화하는 방법을 확인할 수 있습니다. 이를 통해 HIPAA와 같은 개인정보 보호 규정을 준수해야 하는 애플리케이션을 지원할 수 있습니다.

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 이샤 칸다스와미

Isha 칸다스와미는 Couchbase의 수석 소프트웨어 엔지니어입니다. Isha는 Json용 N1QL 쿼리 언어 -SQL을 위한 다양한 기능과 도구의 설계 개발을 담당하고 있습니다. 또한, N1QL 쿼리 언어의 기능과 도구를 설계하고 구현합니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.