블로그 | NGINX

NGINX 및 2014년 6월 5일 OpenSSL 보안 권고

NGINX-F5-수평-검정-유형-RGB의 일부
오웬 개렛 썸네일
오웬 개렛
2014년 6월 5일 게시

CVE‑2014‑0224 및 관련 OpenSSL 취약점이 NGINX에 미치는 영향은 무엇입니까?

OpenSSL 프로젝트는 2014년 6월 5일에 7가지 보안 취약점에 대한 수정 사항을 발표했습니다. 자세한 내용은 보안 고지 에 설명되어 있습니다.

이러한 취약점은 SSL/TLS 트래픽을 종료하기 위해 OpenSSL을 사용하는 모든 서버 애플리케이션(NGINX 및 NGINX Plus 포함)에 잠재적으로 영향을 미칩니다. 이러한 공격은 중간자 공격(MitM)이나 다양한 서비스 거부(DoS) 및 데이터 손상 문제를 생성하는 데 악용될 수 있습니다.

  • SSL/TLS MITM 취약성(CVE‑2014‑0224)
  • DTLS 재귀 결함(CVE‑2014‑0221)
  • DTLS 무효 조각 취약성(CVE‑2014‑0195)
  • SSL_MODE_RELEASE_BUFFERS NULL 포인터 역참조(CVE‑2014‑0198)
  • SSL_MODE_RELEASE_BUFFERS 세션 주입 또는 서비스 거부(CVE‑2010‑5298)
  • 익명 ECDH 서비스 거부(CVE‑2014‑3470)
  • “기타 문제”(CVE‑2014‑0076)

OpenSSL 프로젝트의 권장 사항은 다음과 같습니다.

OpenSSL 0.9.8 SSL/TLS 사용자는 0.9.8za로 업그레이드해야 합니다. OpenSSL 1.0.0 SSL/TLS 사용자는 1.0.0m으로 업그레이드해야 합니다.
OpenSSL 1.0.1 SSL/TLS 사용자는 1.0.1h로 업그레이드해야 합니다.

NGINX 설치에서 OS 공급업체의 OpenSSL 인스턴스를 사용합니까?

NGINX, Inc.에서 제공하는 NGINX 및 NGINX Plus 빌드(Windows용은 제외) 또는 타사 저장소를 통해 제공되는 NGINX 및 NGINX Plus 빌드는 일반적으로 운영 체제의 libssl.so 인스턴스에 동적으로 연결됩니다. ldd 명령을 실행하여 libssl.so 파일의 전체 경로를 확인하고 strings 명령을 실행하여 연관된 버전 번호(이 경우 1.0.1f)를 표시합니다.

$ ldd `which nginx` | grep ssl libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f82e62bf000) $ strings /lib/x86_64-linux-gnu/libssl.so.1.0.0 | grep "^OpenSSL " OpenSSL 1.0.1f 2014년 1월 6일

사용자 시스템의 출력은 다소 다르게 보일 수 있습니다. openssl version 을 실행할 수도 있지만, 서버에 OpenSSL 인스턴스가 여러 개 있는 경우 출력이 신뢰할 수 없을 수 있습니다.

영향을 받지 않는다고 보고된 이전 버전일지라도, 운영 체제 공급업체가 제공하는 최신 OpenSSL 라이브러리로 업그레이드하는 것을 적극 권장합니다. 그런 다음 NGINX 소프트웨어를 다시 시작하여 업데이트된 라이브러리를 사용합니다. 올바른 업그레이드 프로세스를 확인하려면 CVE-2014-0224에 대한 공급업체의 대응을 확인하세요. 편의상 Debian , Red Hat , Ubuntu 에 대한 링크를 제공합니다.

일부 Linux 운영 체제 공급업체는 여전히 이전 OpenSSL 버전 번호를 사용하는 수정된 패키지를 출시했으며, 빠르게 작은 업데이트를 제공하기 위해 패키지에 CVE‑2014‑0224 및 관련 취약점에 대한 수정 사항만 포함하기로 했습니다.

NGINX 설치에서 OpenSSL의 정적으로 연결된 인스턴스를 사용하고 있나요?

NGINX를 직접 컴파일했다면 OpenSSL 라이브러리를 정적으로 연결했을 수 있습니다. 이 경우 ldd 의 출력은 운영 체제 libssl.so 라이브러리에 대한 종속성을 나타내지 않습니다. nginx ‑V를 실행하여 사용한 컴파일 타임 옵션을 표시합니다.

$ ./objs/nginx -V nginx 버전: nginx/1.7.1 gcc 4.6.3(Ubuntu/Linaro 4.6.3-1ubuntu5)으로 빌드됨 인수 구성: --with-cc-opt=-I../openssl-1.0.1f/include --with-ld-opt='-L../openssl-1.0.1f -Wl,-Bstatic -lssl -lcrypto -Wl,-Bdynamic -ldl' --with-openssl=../openssl-1.0.1f

취약한 버전의 OpenSSL을 사용하는 경우 올바른 버전을 사용하여 NGINX를 다시 컴파일해야 합니다.

NGINX Windows 바이너리를 사용하고 있나요?

NGINX에서 배포하는 Windows용 NGINX는 OpenSSL과 정적으로 연결됩니다. 현재 사용 가능한 1.7.1 및 1.6.0 빌드는 OpenSSL에 대한 수정 사항을 적용하여 업데이트되었습니다.


"이 블로그 게시물에는 더 이상 사용할 수 없거나 더 이상 지원되지 않는 제품이 참조될 수 있습니다. 사용 가능한 F5 NGINX 제품과 솔루션에 대한 최신 정보를 보려면 NGINX 제품군을 살펴보세요. NGINX는 이제 F5의 일부가 되었습니다. 이전의 모든 NGINX.com 링크는 F5.com의 유사한 NGINX 콘텐츠로 리디렉션됩니다."