这些天公司系统请了一些搞渗透测试的,检测出网站“弱加密算法”,原因是之前的环境,nginx版本太低,只支持TLSv1.0 和TLSv1.1。所以现在想要配置TLSv1.2 TLSv1.3,则需要升级nginx,其中还包括了升级openssl,增加了http_v2_module 模块来支持http2。这其中增加的http_v2_module 模块可以在升级nginx的时候一起添加进去,因为我之前不知道,所以后面多了个单独增加http_v2_module 模块进行重新编译。
一、升级nginx版本
直接参考这篇文章:https://blog.csdn.net/weixin_45414913/article/details/124801803
二、升级openssl
1.查看openssl版本
openssl version
2.下载最新稳定版本的OpenSSL源码包。
这里要是下载不了的话可以手动下载完了再用ftp拖到服务器中
3.编译源码安装
tar -xzvf openssl-1.1.1i.tar.gz
cd openssl-1.1.1i
./config
make && make install
然后另起一个服务器窗口,检查一下openssl版本,不出意外的话会报:openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
错误,
执行下面命令:
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
安装成功
三、增加http_v2_module 模块
1.查看nginx原有的模块
image.png/usr/local/nginx/sbin/nginx -V
后面的--with-http_v2_module
就是配置好的时候出现的
2.我们的新配置信息就应该这样写,运行下面的命令即可,等配置完。
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module
有可能会报错:SSL modules require the OpenSSL library.You can either do not enable the modules
我的情况是系统自带了openssl 1.0.1,然后又自己装了openssl 1.1.1,就出这个问题了。然后执行:yum remove openssl-devel
卸载就好了
3.编译【特别注意】这里不要进行make install,否则就是覆盖你之前的安装
make
4.备份原有已安装好的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
5.将刚刚编译好的nginx覆盖掉原有的nginx(这个时候【特别注意】这里nginx要停止状态)
/usr/local/nginx/sbin/nginx -s stop
cp ./objs/nginx /usr/local/nginx/sbin/
6.启动nginx,仍可以通过命令查看是否已经加入成功
这时候启动Nginx不要用 ./nginx -s reload
,会报pid相关的错误,正确的启动方式:/usr/local/nginx/sbin/nginx
即可。
四、配置TLSv1.2 TLSv1.3
image.png验证nginx是否支持TLS 1.3
我们可以通过 nginx -t 命令来验证nginx是否支持TLS 1.3:
如果nginx支持TLS 1.3,将会输出下面的信息 [root@iteblog.com ~]$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
如果nginx不支持TLS 1.3,将会输出下面的信息 [root@iteblog.com /data/log]$ nginx -t
nginx: [warn] invalid value "TLSv1.3" in /etc/nginx/conf.d/default.conf:12
nginx: configuration file /etc/nginx/nginx.conf test failed
五、工具检测
工具1:https://www.ssllabs.com/ssltest/analyze.html?d=h5-saic.matrixpr.net
工具2:https://geekflare.com/tools/tests/13p0ccp6a
参考:
https://blog.csdn.net/weixin_45414913/article/details/124801803
https://blog.csdn.net/inthat/article/details/122829324
https://blog.csdn.net/u010058695/article/details/122948842
https://blog.csdn.net/qq_36902628/article/details/118997046
https://blog.csdn.net/qubes/article/details/120546123
https://blog.csdn.net/qq_35624642/article/details/126442054
https://blog.csdn.net/weixin_44972135/article/details/106621593
https://www.265.me/read-25.html
https://blog.csdn.net/qq_34939308/article/details/120688177
http://www.yaotu.net/biancheng/785.html
网友评论