提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
漏扫发现机器上的nginx使用的openssl版本有点低,在加上nginx的部署时间较早,还是1.20.2版本的,一起进行升级。
一、漏洞内容
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】
nginx 缓冲区错误漏洞(CVE-2022-41741)
nginx 越界写入漏洞(CVE-2022-41742)
二、现状
openssl版本:1.0.2k
nginx版本:1.20.2
三、centos7安装openssl11
yum install -y epel-release
yum install -y openssl11 openssl11-devel
ln -sf /usr/lib64/pkgconfig/openssl11.pc /usr/lib64/pkgconfig/openssl.pc
mv /usr/bin/openssl /usr/bin/openssl.bak
ln -s /usr/bin/openssl11 /usr/bin/openssl
openssl version
四、升级nginx到1.24.0
1. 下载nginx
mkdir -p /root/nginx/
cd /root/nginx/
wget -c https://nginx.org/download/nginx-1.24.0.tar.gz
tar -xvf nginx-1.24.0.tar.gz
cd /root/nginx/nginx-1.24.0/
2. 编译安装nginx
#使用命令:安装ssl模块
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
#编译
make
#备份已有nginx
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.1.20.2
#编译安装
make install
3. 配置nginx.service
/usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=***work.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
4. 重启nginx
systemctl restart nginx.service
systemctl status nginx.service
总结
我这里openssl用到的是yum安装的,也可以使用编译安装的方式。