Nginx 模块安装、漏洞修复
第一章 Nginx安装后添加ssl模块
第二章 Nginx屏蔽头部攻击
第三章 openssl 升级(SSL/TLS LogJam中间人安全限制绕过漏洞 (CVE-2015-4000)
文章目录
Nginx 模块安装、漏洞修复前言一、未升级openssl版本二、升级过openssl版本(升级openssl查看[openssl升级](https://blog.csdn.net/qq_44637753/article/details/126829820))
前言
公共密钥过弱修复
1、未升级openssl nginx编译是否带–with-http_ssl_module模块
2、升级过openssl,nginx编译带–with-http_ssl_module --with-openssl=源码包绝对路径
一、未升级openssl版本
未升级过的openssl版本1.0.2k
[root@h5 /]# openssl versionOpenSSL 1.0.2k-fips 26 Jan 2017
nginx正常编译
[root@h5 sbin]# ./nginx -Vnginx version: nginx/1.20.0built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017TLS SNI support enabledconfigure arguments: --with-http_ssl_module
二、升级过openssl版本(升级openssl查看openssl升级)
升级过的openssl
[root@h5 openssl-1.1.1o]# openssl versionOpenSSL 1.1.1o 3 May 2022
源码编译nginx时,添加openssl源码绝对路径
[root@h5 nginx-1.20.0]# ./configure --with-http_ssl_module --with-openssl=/u01/openssl-1.1.1o/ ##编译nginx,直接用源码包目录后期编译不会有报错。
用编译安装后的make时报错:没此文件或目录。
[root@h5 nginx-1.20.2]# make/bin/sh:行2: ./config: 没有那个文件或目录make[1]: *** [/usr/include/openssl/.openssl/include/openssl/ssl.h] 错误 127make[1]: 离开目录“/u01/nginx/nginx-1.20.2”make: *** [build] 错误 2
解决:去除下列conf中/.openssl/
原有: CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include" CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h" CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a" CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"修改后:[root@h5 nginx-1.8.0]# vim auto/lib/openssl/conf CORE_INCS="$CORE_INCS $OPENSSL/include" CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h" CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a" CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a" CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
源码包安装如遇以下报错说明openssl与nginx版本不匹配。
src/event/ngx_event_openssl.c: 在函数‘ngx_ssl_init’中:src/event/ngx_event_openssl.c:112:5: 错误:不建议使用‘OPENSSL_config’(声明于 /u01/openssl-1.1.1o//.openssl/include/openssl/conf.h:91) [-Werror=deprecated-declarations] OPENSSL_config(NULL); ^src/event/ngx_event_openssl.c: 在函数‘ngx_ssl_rsa512_key_callback’中:src/event/ngx_event_openssl.c:753:9: 错误:不建议使用‘RSA_generate_key’(声明于 /u01/openssl-1.1.1o//.openssl/include/openssl/rsa.h:235) [-Werror=deprecated-declarations] key = RSA_generate_key(512, RSA_F4, NULL, NULL); ^src/event/ngx_event_openssl.c: 在函数‘ngx_ssl_dhparam’中:src/event/ngx_event_openssl.c:943:11: 错误:提领指向不完全类型的指针 dh->p = BN_bin2bn(dh1024_p, sizeof(dh1024_p), NULL);