关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复nginx最新漏洞CVE-2017-7529的解决方案

时间:2022-09-02 07:52:32

关于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. 原创|1分钟搞定 Nginx 版本的平滑升级与回滚

    Nginx无论是对于运维.开发.还是测试来说,都是日常工作需要掌握的一个知识点,之前也写过不少关于Nginx相关的文章: Nginx服务介绍与安装 Nginx服务配置文件介绍 Nginx配置虚拟主机 ...

  2. CentOS6.x服务器OpenSSH平滑升级到7.3p版本——拒绝服务器漏洞攻击

    对于新安装的Linux服务器,默认OpenSSH及OpenSSL都不是最新的,需要进行升级以拒绝服务器漏洞攻击.本次介绍的是升级生产环境下CentOS6.x系列服务器平滑升级OpenSSL及OpenS ...

  3. Nginx服务器的平滑启动、平缓停止、平滑升级

    注:Nginx服务在运行时,会保持一个主进程(master process)和一个或多个工作进程(worker process). 每一个进程都会有一个PID进程号,可以通过向主进程的PID进程号发送 ...

  4. nginx信号及平滑升级

    1.nginx信号 nginx进程处理命令: kill -signals PID PID即nginx进程ID signals的参数解释如下所示: TERM,INT快速关闭进程 QUIT优雅的关闭,如果 ...

  5. Linux centos7 nginx 平滑升级

    2021-08-19为了方便读者的阅读,该文通篇使用绝对路径,各位朋友们在实际上操作中可以根据实际情况编写路径(#^.^#)1. 当前环境 # system cat /etc/redhat-relea ...

  6. nginx启动、重启、重新加载配置文件和平滑升级

    Nginx有一个主进程和几个工作进程,主进程的主要作用就是读取.评估配置文件和管理工作进程,工作进程对请求做实际处理.工作进程的数量是在配置文件中配置的,一般设置为cpu的核心数*线程数. nginx ...

  7. 让你的网站免费支持 HTTPS 及 Nginx 平滑升级

    为什么要使用 HTTPS ? 首先来说一下 HTTP 与 HTTPS 协议的区别吧,他们的根本区别就是 HTTPS 在 HTTP 协议的基础上加入了 SSL 层,在传输层对网络连接进行加密.简单点说在 ...

  8. 源码安装nginx以及平滑升级

                                                           源码安装nginx以及平滑升级                               ...

  9. Nginx的平滑重启和平滑升级

    一,Nginx的平滑重启如果改变了Nginx的配置文件(nginx.conf),想重启Nginx,可以发送系统信号给Nginx主进程的方式来进行.在重启之前,要确认Nginx配置文件的语法是正确的. ...

随机推荐

  1. 传智播客--ADO.net--SqlBulkCopy批量插入数据(小白必知)

    一般情况下,我们在向数据库中插入数据时用Insert语句,但是当数据量很大的时候,这种情况就比较缓慢了,这个时候就需要SqlBulkCopy这个类. SqlBulkCopy本身常用的函数有这么几个 D ...

  2. jsp 中的js 与 jstl 运行的先后顺序

    在jsp 中运行下面的代码,结论是:js 中可以使用 标签,js 的注释 对标签无效-- 有知道原理的吗<c:set var="flag" value="false ...

  3. &lbrack;Android&rsqb;检查当前手机是否有网络

    // Check network connection private boolean isNetworkConnected(){ ConnectivityManager connectivityMa ...

  4. 【android studio】android studio使用过程中,搜集的一些问题

    1.[知乎]在Android Studio中如何将依赖的jar包放在SDK的android.jar前? 在编译原生Contacts应用时需用到非公开的API,需要引入framework等jar包,但在 ...

  5. putty 访问 vmware中ubuntu 方法

     putty访问虚拟机   从宿主机中用putty连接虚拟机中的Ubuntu. putty默认使用ssh方式连接,这需要在Ubuntu Server中安装ssh服务.使用命令sudo apt-get ...

  6. android 5&period;0新特性学习--CardView

    CardView继承自FrameLayout类,可以在一个卡片布局中一致性的显示内容,卡片可以包含圆角和阴影.CardView是一个Layout,可以布局其他View. 官网地址:https://de ...

  7. 如何在Raspberry Pi 3B中安装Windows 10 IoT Core

    Windows 10 IoT Core简介 Windows 10 IoT是微软专门为物联网生态打造的操作系统,Windows 10 IoT Core则是Windows 10 IoT 操作系统的核心版本 ...

  8. docker基本原理

    写的很不错的文章,作个存档 什么是容器 容器是 种轻量级.可移植的为应用程序提供了隔离的运行空间 .每个容器内都包含一个独享的完整用户环境,并且 个容器内的环境变动不会影响其他容器的运行环境,可以使应 ...

  9. 【转载】Activiti delete process definition by key

    http://blog.csdn.net/zwk626542417/article/details/46602419 @RequestMapping(value = "deleteProce ...

  10. 【Java】 大话数据结构&lpar;5&rpar; 线性表之双向链表

    本文根据<大话数据结构>一书,实现了Java版的双向链表. 在每个数据结点中都有两个指针,分别指向直接后继和直接前驱,这样的链表称为双向链表. 双向链表的结构如图所示: 查找元素可以根据元 ...