1. 개요
현재 Openssl 취약점이 노출되어 개인 정보가 유출될 수 있습니다. 관련된 시스템이 많고 환경이 매우 다르기 때문에 복구 솔루션도 다릅니다. 많은 서버는 nginx를 사용하여 openssl을 정적으로 컴파일하고 openssl을 nginx로 직접 컴파일합니다. 이는 단순히 openssl을 업그레이드해도 nginx가 외부 openssl 동적 링크 라이브러리를 로드하지 않는다는 것을 의미합니다.
2. nginx가 정적으로 컴파일되었는지 확인합니다.
다음 세 가지 방법으로 nginx가 openssl로 정적으로 컴파일되었는지 확인할 수 있습니다.
2.1 nginx 컴파일 매개변수 보기
nginx 컴파일 매개변수를 보려면 다음 명령을 입력하세요.
# ./sbin/nginx -v
컴파일 매개변수에 --with-openssl=...이 포함되어 있으면 표시된 것처럼 nginx가 openssl을 정적으로 컴파일하고 있음을 의미합니다. 아래 :
nginx version: nginx/1.4.1 built by gcc 4.4.7 20120313 (red hat 4.4.7-3) (gcc) tls sni support enabled configure arguments: --prefix=/opt/app/nginx --with-http_ssl_module --with-openssl=/opt/app/openssl-1.0.1e --add-module=/opt/app/ngx_cache_purge-2.1
2.2 nginx의 종속 라이브러리 보기
추가 확인을 위해 프로그램의 종속 라이브러리를 확인하고 다음 명령을 입력할 수 있습니다:
# ldd `which nginx` | grep ssl
Display
libssl.so.10 => /usr/lib/libssl.so.10 (0xb76c6000)
참고: 출력이 그렇지 않은 경우 libssl.so() 파일이 포함되어 있으면 openssl
정적으로 컴파일되었음을 의미합니다. 그런 다음 openssl을 확인하는 명령을 입력하여 라이브러리가 속한 openssl 버전을 확인하지만 너무 자세하지는 않습니다. 1.0.1e.5.7이지만 1.0.1e만 출력됩니다. :
# strings /usr/lib/libssl.so.10 | grep "^openssl " openssl 1.0.1e-fips 11 feb 2013
2.3 nginx로 연 파일을 확인하세요
다음 명령을 입력하면 nginx로 연 파일이 정적으로 컴파일되는지 확인할 수도 있습니다.
# ps aux | grep nginx # lsof -p 111111<这里换成nginx的进程pid> | grep ssl
3. nginx를 다시 컴파일
인터넷 회사에는 통합된 nginx가 거의 없습니다. 각 부서에서는 각자의 비즈니스 요구에 따라 해당 플러그인을 선택한 후 자체적으로 컴파일하므로 일부 플러그인을 컴파일하는 것을 잊지 마십시오. nginx 기능을 변경하지 않고 유지하세요.
위 내용은 OpenSSL 보안 취약점에 대해 Nginx 서버를 조정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!