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 ...
随机推荐
- servlet简介及生命周期
Servlet 简介 Servlet 是什么? Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上 ...
- 开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)
Kubernetes 给我们提供了大量官方 chart,不过要部署微服务应用,还是需要开发自己的 chart,下面就来实践这个主题. 创建 chart 执行 helm create mychart 的 ...
- MySQL 8 新特性之持久化全局变量的修改
在8之前的版本中,对于全局变量的修改,其只会影响其内存值,而不会持久化到配置文件中.数据库重启,又会恢复成修改前的值.从8开始,可通过SET PERSIST命令将全局变量的修改持久化到配置文件中. 试 ...
- Spring Boot实战笔记(一)-- Spring简介
一.Spring 概述 Spring框架是一个轻量级的企业级开发的一站式解决方案.所谓的解决方案就是可以基于Spring解决所有的Java EE开发的所有问题. Spring框架主要提供了Ioc(In ...
- 指针超强汇总(谨记优先级:() > [] > *)
参考:http://blog.chinaunix.net/uid-20120277-id-5760985.html C语言所有复杂的指针声明,都是由各种声明嵌套构成的.如何解读复杂指针声明呢?右左法则 ...
- FMDB的简单实用
一.FMDB 的框架引入点击此处去GitHub下载 二.FMDB 的优缺点 优点:使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码:对比苹果自带的Core Data框架,更加轻量级和灵活:提供了 ...
- 配置服务器nginx 教程
https://www.cnblogs.com/wangzhongqiu/p/6527346.html
- eclipseIDE for javaee developers 开发环境搭建详解图文
使用eclipse真的有年头了,相信java程序员没有不知道它的,最近在给团队中新来的应届生做指导,专门讲解了一下Eclipse开发环境的搭建过程,一是帮助他们尽快的熟悉IDE的使用,二也是保证团队开 ...
- [爬虫]Windows下如何安装python第三方库lxml
lxml是个非常有用的python库,它可以灵活高效地解析xml与BeautifulSoup.requests结合,是编写爬虫的标准姿势. 但是,当lxml遇上Windows,简直是个巨坑.掉在安装陷 ...
- OpenCV-Python学习01
import tensorflow as tf 1 # -*- coding: utf-8 -*- 2 """ 3 Created on Tue Dec 31 19:16 ...