nginx 安全漏洞(CVE-2021-23017)
Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,由于其具有许多优越的特性,导致在全球范围内被广泛使用。
2021年05月25日,Nginx官方发布安全公告,公开了Nginx DNS Resolver中的一个任意代码执行漏洞(CVE-2021-23017)。
由于Nginx在处理DNS响应时存在安全问题,当在配置文件中使用 “resolver ”指令时,远程攻击者可以通过伪造来自DNS服务器的UDP数据包,构造DNS响应造成1-byte内存覆盖,从而导致拒绝服务或任意代码执行。
该漏洞仅在配置了一个或多个“resolver”指令的情况下存在,而默认情况下没有配置。
此漏洞已在以下版本中修复:
nginx-1.20.1
nginx-1.21
所以我们可以升级nginx到最新版本即可。
此次处理的版本安装有fastdfs模块的nginx.
nginx下载地址,我们下载centos系统的 1.22.0版本。
查看nginx 版本
cd /usr/local/nginx/sbin
./sbin -V
为保险起见,备份一下ngin执行文件和conf下的配置文件
cp /usr/local/nginx/conf/nginx.conf /home/
cd /usr/local/nginx/sbin/
mv nginx nginx-1.19.2
上传下载好的nginx 到任意目录,在此我上传到了 nginx 的sbin下
解压文件,并进入安装目录,次执行命令:
tar xf nginx-1.22.0.tar.gz
cd /nginx-1.22.0
./configure
make
如果只是nginx,只到这一步即可,可以测试一下是否成功。
/usr/local/nginx/sbin/nginx -t
由于我这里用到了fastdfs,安装了fastdfs模块,所在启动会报错,这时还需要添加此模块。
# 找到fastdfs-nginx-module模块的安装目录,并添加。切记要进到新的nginx目录下。
cd /usr/local/nginx-1.22.0
./configure --add-module=/data/pack/fastdfs-nginx-module/src
make
make install
最后重启一下nginx即可。
升级成功!!!