风险描述:
Nginx 是一款轻量级的Web服务器、反向代理服务器。
Nginx 的受影响版本中的ngx _http_mp4_module模块存在内存越界写入漏洞,当在配置中使用 mp4 directive时,攻击者可利用此漏洞使用使用ngx_http_mp4_module模块处理特制的音频或视频文件时导致损坏Nginx worker 内存,进而导致 Nginx 工作进程终止或内存泄露。
参考链接
https://www.oschina.net/news/215155
https://www.oscs1024.com/hd/MPS-2022-58326
根据我的理解
ngx_http_mp4_module 这个模块是用于处理
模块ngx_http_mp4_module为H.264/AAC文件,主要是以.mp4、.m4v、和.m4a为扩展名的文件, 提供伪流媒体服务端支持。
所以是一个强相关需要使用的模块,不能关闭使用。
网上有很多解决方案,我决定整体升级
之前安装是使用二进制安装,本次平滑升级也使用二进制,更新到最新的稳定版本1.26
下载官网 https://nginx.org/en/download.html
有条件的可以使用yum (有条件指,服务器可以使用yum源安装)进行升级 https://blog.csdn.net/weilaozongge/article/details/138862749
将下载好的包上传到服务器上,解压 (大家做之前搞好备份)
然后输入以下命令
#nginx 依赖安装
# 配置
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/local/nginx/nginx.pid \
--lock-path=/var/local/nginx/nginx.lock \
--error-log-path=/var/local/nginx/error.log \
--http-log-path=/var/local/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/local/nginx/client \
--http-proxy-temp-path=/var/local/nginx/proxy \
--http-fastcgi-temp-path=/var/local/nginx/fastcgi \
--http-uwsgi-temp-path=/var/local/nginx/uwsgi \
--http-scgi-temp-path=/var/local/nginx/scgi \
--with-http_stub_status_module \
--with-http_ssl_module
然后进行编译,依次输入以下内容
#make
#make install
#cd /usr/local/nginx/sbin/
然后将目前存活的nginx干掉
lsof -i:80
然后重新重新指定下新nginx的目录
./nginx -c /usr/local/nginx/conf/nginx.conf
查看版本,是否已经完成升级