Log4Shell로 알려진 심각한 제로데이 익스플로잇으로, 다음과 같은 영향을 미치는 Apache Log4j 유틸리티 (CVE-2021-44228)는 2021년 12월 9일에 공개되었습니다. 카우치베이스는 이 문제를 인지한 즉시 제품 및 보안 팀에서 이 문제를 조사하고 고객을 보호하기 위한 조치를 취했습니다.
현재 이 문제의 영향을 받는 Couchbase 제품은 두 가지입니다.
- Couchbase 서버 엔터프라이즈 에디션, Couchbase 분석 서비스를 실행하는 경우 버전 6.0.0~6.6.3 및 버전 7.0.0~7.0.2.
- 4.2.13 및 4.3.3 이전 버전의 Couchbase Elasticsearch Connector.
이 제품에는 CouchBase Analytics 서비스가 포함되어 있지 않으므로 CouchBase Server 커뮤니티 에디션은 이 취약점의 영향을 받지 않습니다.
Couchbase 서비스형 데이터베이스인 Couchbase Capella에서 분석 서비스 배포 기능이 일시적으로 비활성화되었습니다. 또한 분석 서비스를 실행하는 클러스터는 업데이트된 보안 패치를 통해 보안이 강화되었습니다.
CVE-2021-44228 이슈의 영향을 받는 다른 Couchbase 제품은 아직 파악되지 않았습니다. 또한 추가 Log4J의 영향을 받는 Couchbase 제품은 없는 것으로 파악하고 있습니다. CVE-2021-45046, CVE-2021-45105 그리고 CVE-2021-44832 보안 문제.
내부 조사가 진행됨에 따라 필요에 따라 이 게시물에 관련 정보를 추가하여 업데이트할 수 있습니다. 카우치베이스 엔터프라이즈 구독자는 게시된 내용을 검토해 보시기 바랍니다. 기술 자료 문서 (로그인 필요)에서 최신 정보를 확인하세요.
카우치베이스 서버:
이 취약점을 해결하는 소프트웨어 업데이트가 포함된 Couchbase Server 버전 6.6.4 및 Couchbase Server 버전 7.0.3이 2021년 12월 14일인 오늘 제공되었습니다.
카우치베이스 애널리틱스 서비스를 사용하는 모든 고객은 즉시 클러스터를 업그레이드하시기 바랍니다. 다음 다운로드 페이지를 방문하세요. http://couchbase.com/downloads 를 클릭하여 새 버전을 다운로드하세요. Couchbase 자율 운영자에 의해 관리되는 분석 서비스를 실행하는 Couchbase Server 클러스터도 영향을 받으며, 가능한 한 빨리 Couchbase Server 6.6.4 또는 7.0.3으로 업그레이드해야 합니다.
고객이 Couchbase Server의 고정 버전으로 업그레이드할 때까지 다음 해결 방법을 사용하여 이 취약점의 위험을 완화하세요:
이 명령은 JndiLookup 클래스를 제거하고 이 익스플로잇으로부터 보호합니다:
$ find /opt/couchbase/lib/cbas/repo -name 'log4j-core*.jar' -type f | xargs -I{} sh -c 'echo patching {}; zip -q -d {} org/apache/logging/log4j/core/lookup/JndiLookup.class'
JndiLookup 클래스가 없는지, 제거 명령이 올바르게 실행되었는지 확인하려면 다음 명령을 실행하면 됩니다:
$ find /opt/couchbase/lib/cbas/repo -name 'log4j-core*.jar' -type f | xargs -I{} unzip -l {} '*JndiLookup.class'
아카이브: /opt/couchbase/lib/cbas/repo/log4j-core-2.14.1.jar
길이 날짜 시간 이름
——— ———- —– —-
——— ——-
0 0 파일
각 분석 노드에 제거 명령을 적용한 후 클러스터 재시작 API 를 사용하여 모든 Analytics 노드의 재시작을 트리거해야 합니다.
기업 구독자는 또한 게시된 게시물을 검토하는 것이 좋습니다. 기술 자료 문서 를 참조하여 이 해결 방법에 대한 자세한 내용을 확인하세요.
카우치베이스 자율 운영자가 관리하는 경우의 카우치베이스 서버:
컨테이너 버전이 Couchbase Server용 업데이트와 함께 출시될 때까지 컨테이너 환경에서는 위의 해결 방법을 다른 단계와 함께 사용할 수 있습니다.
특정 jar 파일을 노드에서 로컬 시스템으로 복사하고 일반적인 해결 방법을 적용합니다. Red Hat OpenShift에서도 명령은 비슷합니다. 예를 들어
$ kubectl cp
cb-example-0000:/opt/couchbase/lib/cbas/repo/jars/log4j-core-2.14.1.jar /tmp/log4j-core-2.14.1.jar
$ 압축 해제 -l /tmp/log4j-core-2.14.1.jar | grep -i JndiL
2937 03-06-2021 22:12 org/apache/logging/log4j/core/lookup/JndiLookup.class
$ zip -q -d /tmp/log4j-core-2.14.1.jar org/apache/logging/log4j/core/lookup/JndiLookup.class .
$ 압축 해제 -l /tmp/log4j-core-2.14.1.jar | grep -i JndiL | wc -l
0
그런 다음 수정된 JAR 파일을 다시 파드에 복사합니다. 예를 들어
$ kubectl cp /tmp/log4j-core-2.14.1.jar cb-example-0000:/opt/couchbase/lib/cbas/repo/jars/log4j-core-2.14.1.jar
마지막으로, Couchbase Server 관련 애널리틱스 프로세스를 다시 시작하고 클러스터 재시작 API 를 참고한다. 카우치베이스클러스터 리소스에 대한 구성 변경을 통해 생성된 모든 새 파드 또는 정상적인 운영 과정에서 다시 생성된 파드는 완화 조치를 다시 적용해야 합니다.
카우치베이스 엘라스틱서치 커넥터:
모든 고객은 이 문제에 대한 수정이 함께 제공되는 최신 버전의 Couchbase Elasticsearch 커넥터로 업그레이드하시기 바랍니다. 현재 4.2.13 버전과 4.3.3 버전을 사용할 수 있습니다. 그리고 릴리스 노트 추가 세부 정보 및 다운로드 링크를 제공합니다. 제자리에서 완화하려는 경우에는 기술 자료 문서 에서는 JAR 파일을 업데이트하는 방법을 설명합니다.
궁금한 점이 있으시면 카우치베이스 커뮤니티 포럼. 카우치베이스 엔터프라이즈 고객이고 추가 질문이 있는 경우, 카우치베이스 엔터프라이즈에서 지원 사례.