nginx漏洞分析与升级修复
一 、此次漏洞分析
1 nginx HTTP/2漏洞
[nginx-announce] nginx安全公告(CVE-2018-16843,CVE-2018-16844)
在nginx HTTP / 2实现中发现了两个安全问题,
漏洞对服务器的影响:
可能会导致过多的内存消耗(CVE-2018-16843)和CPU使用率(CVE-2018-16844)。
影响范围:
这些问题会影响使用ngx_http_v2_module编译的nginx(不是默认情况下编译)如果“listen”指令的“http2”选项是用于配置文件。
影响版本:
这些问题会影响nginx 1.9.5 - 1.15.5。
解决方法:
问题在nginx 1.15.6,1.14.1中得到修复。建议升级到最新稳定版
以上内容参考:
http://mailman.nginx.org/pipermail/nginx-announce/2018/000220.html
2 ngx_http_mp4_module漏洞
[nginx-announce] nginx安全公告(CVE-2018-16845)
漏洞对服务器的影响:
在ngx_http_mp4_module中发现了一个安全问题,可能是这个问题允许攻击者在工作进程中导致无限循环,导致攻击工作进程崩溃,或者可能导致工作进程内存使用特制的mp4文件(CVE-2018-16845)进行披露。
影响范围:
如果使用ngx_http_mp4_module构建,则该问题仅影响nginx(默认情况下不构建模块)并使用“mp4”指令配置文件。此外,只有在攻击时才能进行攻击,攻击者能够触发特制的mp4文件的处理使用ngx_http_mp4_module。
影响版本:
该问题影响nginx 1.1.3 +,1.0.7 +。
解决方法:
该问题在1.15.6,1.14.4中得到修复。建议升级到最新稳定版
该问题的补丁可以在这里找到:
http://nginx.org/download/patch.2018.mp4.txt
以上内容参考:
http://mailman.nginx.org/pipermail/nginx-announce/2018/000221.html
3 模块ngx_http_mp4_module介绍
作用:为H.264(一种视频编码格式)/AAC(一种音频编码格式)文件,主要是以 .mp4、.m4v、和.m4a为扩展名的文件, 提供伪流媒体服务端支持。
二、nginx升级
1 备份原有文件
cp -a /usr/local/nginx /tmp/nginx_back
2 下载并解压nginx-1.14.1.tar.gz文件
wget http://nginx.org/download/nginx-1.14.1.tar.gz
tar -xf nginx-1.14.
3 进入nginx-1.14.1目录
cd nginx-1.14.
4 编译配置
(1)请先使用nginx -V 命令查看原有nginx编译的选项,
# nginx -V
nginx version: nginx/1.0.15
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_flv_module --add-module=/usr/local/src/nginx-auth-ldap --with-http_realip_module
(2)故保持和原有一样的编译配置,根据自己情况具体而定。
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module
--with-http_ssl_module --with-http_gzip_static_module --with-http_flv_module --with-http_realip_module
--with-http_auth_request_module --with-http_auth_request_module --add-module=/usr/local/src/nginx-auth-ldap
--add-module=/usr/local/src/headers-more-nginx-module-master --with-cc-opt=-Wno-error
5 编译
make
6 备份原来sbin/nginx
cd /usr/local/nginx/sbin/
mv nginx nginx.back
7 复制nginx-1.14.1/objs/nginx到/usr/local/nginx/sbin/
cp nginx-1.14./objs/nginx /usr/local/nginx/sbin/
8 升级
cd nginx-1.14.
make upgrade
输出如下:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
sleep
test -f /usr/local/nginx/logs/nginx.pid.oldbin
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
或者输出为以下内容:
/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
sleep
test -f /usr/local/nginx/logs/nginx.pid.oldbin
make: *** [upgrade] Error
看到 Error 1也不用太在意,已经升级成功
如果nginx是关闭的请情况输出如下:
/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
make: *** [upgrade] Error
9 查看升级是否成功
# /usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.14.1
如果想隐藏版本号,可参考 https://www.cnblogs.com/Sunzz/p/9962891.html
nginx漏洞分析与升级修复的更多相关文章
- [转载20131024]Nginx服务器漏洞的利用和修复方法
本文主要分为两大部分,第一部分介绍了Nginx的一些常见安全漏洞的形成原因.利用方法,并给出了相应的解决办法;第二部分介绍了Nginx安全加固时需要关注的主要内容. Nginx(发音同engine x ...
- Nginx漏洞利用与安全加固
本文主要分为两大部分,第一部分介绍了Nginx的一些常见安全漏洞的形成原因.利用方法,并给出了相应的解决办法;第二部分介绍了Nginx安全加固时需要关注的主要内容. Nginx(发音同engine x ...
- jQuery CVE-2019-11358原型污染漏洞分析和修复建议
一.安全通告 jQuery官方于日前发布安全预警通告,通报了漏洞编号为 CVE-2019-11358的原型污染漏洞.由攻击者控制的属性可被注入对象,之后或经由触发 JavaScript 异常引发拒绝服 ...
- ThinkPHP5远程代码执行高危漏洞(附:升级修复解决方法)
漏洞描述 由于ThinkPHP5框架对控制器名没有进行足够的安全检测,导致在没有开启强制路由的情况下,黑客构造特定的请求,可直接GetWebShell. 漏洞评级 严重 影响版本 ThinkPHP 5 ...
- 干货|CVE-2019-11043: PHP-FPM在Nginx特定配置下任意代码执行漏洞分析
近期,国外安全研究员Andrew Danau,在参加夺旗赛(CTF: Capture the Flag)期间,偶然发现php-fpm组件处理特定请求时存在缺陷:在特定Nginx配置下,特定构造的请求会 ...
- ECSHOP v2.7.3注入漏洞分析和修复
测试版本 漏洞条件 漏洞利用 产生原因 修复方案 1.测试版本 v2.7.3 RELEASE 20121106(最新) v2.7.3 RELEASE 20120411 2.漏洞条件 需登录到后台 3. ...
- CVE-2016-10190 FFmpeg Http协议 heap buffer overflow漏洞分析及利用
作者:栈长@蚂蚁金服巴斯光年安全实验室 -------- 1. 背景 FFmpeg是一个著名的处理音视频的开源项目,非常多的播放器.转码器以及视频网站都用到了FFmpeg作为内核或者是处理流媒体的工具 ...
- 安全研究 | Jenkins 任意文件读取漏洞分析
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云鼎实验室 发表于云+社区专栏 一.漏洞背景 漏洞编号:CVE-2018-1999002 漏洞等级:高危 Jenkins 7 月 18 ...
- Apache Shiro Java反序列化漏洞分析
1. 前言 最近工作上刚好碰到了这个漏洞,当时的漏洞环境是: shiro-core 1.2.4 commons-beanutils 1.9.1 最终利用ysoserial的CommonsBeanuti ...
随机推荐
- 嵌入Python | 调用Python模块中有参数的函数
开发环境Python版本:3.6.4 (32-bit)编辑器:Visual Studio CodeC++环境:Visual Studio 2013 需求说明前一篇<在C++中嵌入Python|调 ...
- 在C++98基础上学习C++11新特性
自己一直用的是C++98规范来编程,对于C++11只闻其名却没用过其特性.近期因为工作的需要,需要掌握C++11的一些特性,所以查阅了一些C++11资料.因为自己有C++98的基础,所以从C++98过 ...
- tomcat 构建问题记录
mvng构建程序包com.sun.image.codec.jpeg不存在------->缺少serlet的jar包 MasterSlaveRoutingDataSource不是抽象的, 并且未覆 ...
- TensorFlow-谷歌深度学习库 图片处理模块
Module: tf.image 这篇文章主要介绍TensorFlow处理图片这一块,这个模块和之前说过的文件I/O处理一样也是主要从python导过来的. 通过官方文档,我们了解到这个模块主要有一下 ...
- PAT1012:The Best Rank
1012. The Best Rank (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue To eval ...
- mybatis的使用
1.like 的使用范例 name like CONCAT(CONCAT('%', #{name}), '%') 2.时间的比较的范例 <![CDATA[ and bill_date >= ...
- Linux下启动时间优化专题
1. 过往优化总结 陆陆续续在Linux进行启动时间优化,之前有两份文档,分别从内核和用户空间两个方向进行了优化. <Android/Linux boot time分析优化>和<Bu ...
- 浅析mydumper
Ⅰ.背景 mysqldump单线程备份,很慢 恢复慢,一张表一张表恢复, 如果备份了100G的数据,想恢复其中一个表,做不到(所有的表都在一个文件里) 所以推荐使用mydumper备份 备份并行,基于 ...
- [TJOI2015] 棋盘
Description 为了提高智商,ZJY去新世界旅游了.可是旅游过后的ZJY杯具的发现要打开通往原来世界的门,必须要解开门上面画的谜题.谜题是这样的:有个\(n\)行\(m\)列的棋盘,棋盘上可以 ...
- BZOJ_1029_ [JSOI2007]建筑抢修_贪心+堆
BZOJ_1029_ [JSOI2007]建筑抢修_贪心+堆 Description 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是 ...