关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复CVE-2017-7529漏洞的解决方案
漏洞描述
2017年7月11日,Nginx官方发布最新的安全公告,在Nginx范围过滤器中发现了一个安全问题(CVE-2017-7529),通过精心构造的恶意请求可能会导致整数溢出并且不正确处理范围,从而导致敏感信息泄漏。
当使用Nginx标准模块时,如果文件头从缓存返回响应,允许攻击者获取缓存文件头。在某些配置中,缓存文件头可能包含后端服务器IP地址或其他敏感信息。
此外,如果使用第三方模块有潜在的可能导致拒绝服务。
影响版本
Nginx 0.5.6-1.13.2
漏洞等级
中危
受影响网站:
安全指数分析中国互联网共有713651个网站受到影响。
修复建议
1、升级Nginx到最新无漏洞版本,当前1.13.3,1.12.1版本中已修复了这个问题。
2、临时方案:配置 max_ranges 1;
3、使用百度云加速WAF防火墙进行防御。
4、添加网站至安全指数,及时了解网站组件突发/0day漏洞。
1.添加nginx官方yum源
# vim /etc/yum.repos.d/nginx.repo
centos7:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=
enabled=
centos6:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=
enabled=
看到有最新的1.12.1版本在yum列表中了
# yum list |grep nginx
nginx.x86_64 :1.10.-.el7 @epel
nginx-all-modules.noarch :1.10.-.el7 @epel
nginx-filesystem.noarch :1.10.-.el7 @epel
nginx-mod-http-geoip.x86_64 :1.10.-.el7 @epel
nginx-mod-http-image-filter.x86_64 :1.10.-.el7 @epel
nginx-mod-http-perl.x86_64 :1.10.-.el7 @epel
nginx-mod-http-xslt-filter.x86_64 :1.10.-.el7 @epel
nginx-mod-mail.x86_64 :1.10.-.el7 @epel
nginx-mod-stream.x86_64 :1.10.-.el7 @epel
collectd-nginx.x86_64 5.7.-.el7 epel
munin-nginx.noarch 2.0.-.el7 epel
nextcloud-nginx.noarch 10.0.-.el7 epel
nginx.x86_64 :1.12.-.el7.ngx nginx
nginx-debug.x86_64 :1.8.-.el7.ngx nginx
nginx-debuginfo.x86_64 :1.12.-.el7.ngx nginx
nginx-module-geoip.x86_64 :1.12.-.el7.ngx nginx
nginx-module-geoip-debuginfo.x86_64 :1.12.-.el7.ngx nginx
nginx-module-image-filter.x86_64 :1.12.-.el7.ngx nginx
nginx-module-image-filter-debuginfo.x86_64
:1.12.-.el7.ngx nginx
nginx-module-njs.x86_64 :1.12.1.0.1.10-.el7.ngx nginx
nginx-module-njs-debuginfo.x86_64 :1.12.1.0.1.10-.el7.ngx nginx
nginx-module-perl.x86_64 :1.12.-.el7.ngx nginx
nginx-module-perl-debuginfo.x86_64 :1.12.-.el7.ngx nginx
nginx-module-xslt.x86_64 :1.12.-.el7.ngx nginx
nginx-module-xslt-debuginfo.x86_64 :1.12.-.el7.ngx nginx
nginx-nr-agent.noarch 2.0.-.el7.ngx nginx
owncloud-nginx.noarch 9.1.-.el7 epel
pcp-pmda-nginx.x86_64 3.11.-.el7 base
python2-certbot-nginx.noarch 0.14.-.el7 epel
2.平滑升级nginx
# yum update nginx -y
可以看到已经成功升级到v1.12.1了
# nginx -v
nginx version: nginx/1.12.
升级以后发现nginx语法检测无法通过
# nginx -t
nginx: [emerg] module "/usr/lib64/nginx/modules/ngx_http_perl_module.so" version instead of in /usr/share/nginx/modules/mod-http-image-filter.conf:
nginx: configuration file /etc/nginx/nginx.conf test failed
解决办法:
vim /etc/nginx/nginx.conf
将这行注释掉
#include /usr/share/nginx/modules/*.conf;
分析:是因为modules指向了新的路径/usr/lib64/nginx/modules
[root@test11_ckmusic_test nginx]# ll
total
drwxr-xr-x root root Jul : conf.d
drwxr-xr-x root root Oct default.d
-rw-r--r-- root root Jul : fastcgi_params
-rw-r--r-- root root Jul : koi-utf
-rw-r--r-- root root Jul : koi-win
-rw-r--r-- root root Jul : mime.types
lrwxrwxrwx root root Jul : modules -> ../../usr/lib64/nginx/modules
-rw-r--r-- root root Jul : nginx.conf
-rw-r--r-- root root Jun : nginx.conf.bak
-rw-r--r-- root root Jul : nginx.conf.rpmnew
-rw-r--r-- root root Jul : scgi_params
-rw-r--r-- root root Jul : uwsgi_params
-rw-r--r-- root root Jul : win-utf
3.平滑重启
# systemctl reload nginx
关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复nginx最新漏洞CVE-2017-7529的解决方案的更多相关文章
-
原创|1分钟搞定 Nginx 版本的平滑升级与回滚
Nginx无论是对于运维.开发.还是测试来说,都是日常工作需要掌握的一个知识点,之前也写过不少关于Nginx相关的文章: Nginx服务介绍与安装 Nginx服务配置文件介绍 Nginx配置虚拟主机 ...
-
CentOS6.x服务器OpenSSH平滑升级到7.3p版本——拒绝服务器漏洞攻击
对于新安装的Linux服务器,默认OpenSSH及OpenSSL都不是最新的,需要进行升级以拒绝服务器漏洞攻击.本次介绍的是升级生产环境下CentOS6.x系列服务器平滑升级OpenSSL及OpenS ...
-
Nginx服务器的平滑启动、平缓停止、平滑升级
注:Nginx服务在运行时,会保持一个主进程(master process)和一个或多个工作进程(worker process). 每一个进程都会有一个PID进程号,可以通过向主进程的PID进程号发送 ...
-
nginx信号及平滑升级
1.nginx信号 nginx进程处理命令: kill -signals PID PID即nginx进程ID signals的参数解释如下所示: TERM,INT快速关闭进程 QUIT优雅的关闭,如果 ...
-
Linux centos7 nginx 平滑升级
2021-08-19为了方便读者的阅读,该文通篇使用绝对路径,各位朋友们在实际上操作中可以根据实际情况编写路径(#^.^#)1. 当前环境 # system cat /etc/redhat-relea ...
-
nginx启动、重启、重新加载配置文件和平滑升级
Nginx有一个主进程和几个工作进程,主进程的主要作用就是读取.评估配置文件和管理工作进程,工作进程对请求做实际处理.工作进程的数量是在配置文件中配置的,一般设置为cpu的核心数*线程数. nginx ...
-
让你的网站免费支持 HTTPS 及 Nginx 平滑升级
为什么要使用 HTTPS ? 首先来说一下 HTTP 与 HTTPS 协议的区别吧,他们的根本区别就是 HTTPS 在 HTTP 协议的基础上加入了 SSL 层,在传输层对网络连接进行加密.简单点说在 ...
-
源码安装nginx以及平滑升级
源码安装nginx以及平滑升级 ...
-
Nginx的平滑重启和平滑升级
一,Nginx的平滑重启如果改变了Nginx的配置文件(nginx.conf),想重启Nginx,可以发送系统信号给Nginx主进程的方式来进行.在重启之前,要确认Nginx配置文件的语法是正确的. ...
随机推荐
-
传智播客--ADO.net--SqlBulkCopy批量插入数据(小白必知)
一般情况下,我们在向数据库中插入数据时用Insert语句,但是当数据量很大的时候,这种情况就比较缓慢了,这个时候就需要SqlBulkCopy这个类. SqlBulkCopy本身常用的函数有这么几个 D ...
-
jsp 中的js 与 jstl 运行的先后顺序
在jsp 中运行下面的代码,结论是:js 中可以使用 标签,js 的注释 对标签无效-- 有知道原理的吗<c:set var="flag" value="false ...
-
[Android]检查当前手机是否有网络
// Check network connection private boolean isNetworkConnected(){ ConnectivityManager connectivityMa ...
-
【android studio】android studio使用过程中,搜集的一些问题
1.[知乎]在Android Studio中如何将依赖的jar包放在SDK的android.jar前? 在编译原生Contacts应用时需用到非公开的API,需要引入framework等jar包,但在 ...
-
putty 访问 vmware中ubuntu 方法
putty访问虚拟机 从宿主机中用putty连接虚拟机中的Ubuntu. putty默认使用ssh方式连接,这需要在Ubuntu Server中安装ssh服务.使用命令sudo apt-get ...
-
android 5.0新特性学习--CardView
CardView继承自FrameLayout类,可以在一个卡片布局中一致性的显示内容,卡片可以包含圆角和阴影.CardView是一个Layout,可以布局其他View. 官网地址:https://de ...
-
如何在Raspberry Pi 3B中安装Windows 10 IoT Core
Windows 10 IoT Core简介 Windows 10 IoT是微软专门为物联网生态打造的操作系统,Windows 10 IoT Core则是Windows 10 IoT 操作系统的核心版本 ...
-
docker基本原理
写的很不错的文章,作个存档 什么是容器 容器是 种轻量级.可移植的为应用程序提供了隔离的运行空间 .每个容器内都包含一个独享的完整用户环境,并且 个容器内的环境变动不会影响其他容器的运行环境,可以使应 ...
-
【转载】Activiti delete process definition by key
http://blog.csdn.net/zwk626542417/article/details/46602419 @RequestMapping(value = "deleteProce ...
-
【Java】 大话数据结构(5) 线性表之双向链表
本文根据<大话数据结构>一书,实现了Java版的双向链表. 在每个数据结点中都有两个指针,分别指向直接后继和直接前驱,这样的链表称为双向链表. 双向链表的结构如图所示: 查找元素可以根据元 ...