修复Nginx安全漏洞(CVE-2019-9516)

修复Nginx安全漏洞(CVE-2019-9516)

近日客户在进行安全扫描时检测出Nginx有安全漏洞,简单记录下这次安全漏洞的升级过程。

客户给文档如图:
修复Nginx安全漏洞(CVE-2019-9516)_第1张图片

先按照修补建议去获取补丁

修复Nginx安全漏洞(CVE-2019-9516)_第2张图片

查看官方建议,需要将nginx进行升级到1.17.3,下载地址:http://nginx.org/download/

修复Nginx安全漏洞(CVE-2019-9516)_第3张图片

将下载好的nginx上传到服务器上,解压

tar -zxvf nginx-1.17.3.tar.gz

以为项目正在运行,因此这次升级需要在不影响业务系统情况下进行平滑升级

因为前期部署Nginx是直接从另一台服务期上拷贝过去的,因此需要先安装nginx所需的依赖,这时遇到了一个问题,服务器不能连外网,因此需要手动下载依赖包进行安装,或者新建一个本地的YUM源,详细步骤可参考:在Linux系统中配置本地YUM仓库

准备工作完成之后开始进行升级

1.安装依赖

 yum install gcc

 yum install pcre-devel

 yum install zlib-devel

 yum install openssl

 yum install openssl-devel

2.进入新版本Nginx,进行编译后替换旧版本

//进入新版本目录
cd nginx-1.17.3

// 执行配置
./configure

// 执行编译(只编译不安装)
make

// 备份旧版本文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

// 复制新版本文件
cp nginx-1.17.3/objs/nginx /usr/local/nginx/sbin/

3.关闭并重启 nginx

//查看nginx的pid
ps -ef|grep nginx

在这里插入图片描述

//使nginx的旧版本停止接收请求,用新版本接替,且老进程处理完所有请求,关闭所有连接后,停止 
kill -USR2 3578 
kill -USR2 3580

//关闭旧版本进程 
kill -QUIT 3578 
kill -USR2 3580

// 验证nginx是否升级成功 
nginx  -V  //显示最新编译的版本信息即更新成功

升级过程中遇到了一个问题nginx: [emerg] the “ssl” parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:156

经排查之后发现,nginx启动了https服务,在上述第二步配置的时候需要添加一些配置

 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

你可能感兴趣的:(Linux,nginx,linux)