关于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:

  1. [nginx]
  2. name=nginx repo
  3. baseurl=http://nginx.org/packages/centos/7/$basearch/
  4. gpgcheck=
  5. enabled=

centos6:

  1. [nginx]
  2. name=nginx repo
  3. baseurl=http://nginx.org/packages/centos/6/$basearch/
  4. gpgcheck=
  5. enabled=

看到有最新的1.12.1版本在yum列表中了

  1. # yum list |grep nginx
  2. nginx.x86_64 :1.10.-.el7 @epel
  3. nginx-all-modules.noarch :1.10.-.el7 @epel
  4. nginx-filesystem.noarch :1.10.-.el7 @epel
  5. nginx-mod-http-geoip.x86_64 :1.10.-.el7 @epel
  6. nginx-mod-http-image-filter.x86_64 :1.10.-.el7 @epel
  7. nginx-mod-http-perl.x86_64 :1.10.-.el7 @epel
  8. nginx-mod-http-xslt-filter.x86_64 :1.10.-.el7 @epel
  9. nginx-mod-mail.x86_64 :1.10.-.el7 @epel
  10. nginx-mod-stream.x86_64 :1.10.-.el7 @epel
  11. collectd-nginx.x86_64 5.7.-.el7 epel
  12. munin-nginx.noarch 2.0.-.el7 epel
  13. nextcloud-nginx.noarch 10.0.-.el7 epel
  14. nginx.x86_64 :1.12.-.el7.ngx nginx
  15. nginx-debug.x86_64 :1.8.-.el7.ngx nginx
  16. nginx-debuginfo.x86_64 :1.12.-.el7.ngx nginx
  17. nginx-module-geoip.x86_64 :1.12.-.el7.ngx nginx
  18. nginx-module-geoip-debuginfo.x86_64 :1.12.-.el7.ngx nginx
  19. nginx-module-image-filter.x86_64 :1.12.-.el7.ngx nginx
  20. nginx-module-image-filter-debuginfo.x86_64
  21. :1.12.-.el7.ngx nginx
  22. nginx-module-njs.x86_64 :1.12.1.0.1.10-.el7.ngx nginx
  23. nginx-module-njs-debuginfo.x86_64 :1.12.1.0.1.10-.el7.ngx nginx
  24. nginx-module-perl.x86_64 :1.12.-.el7.ngx nginx
  25. nginx-module-perl-debuginfo.x86_64 :1.12.-.el7.ngx nginx
  26. nginx-module-xslt.x86_64 :1.12.-.el7.ngx nginx
  27. nginx-module-xslt-debuginfo.x86_64 :1.12.-.el7.ngx nginx
  28. nginx-nr-agent.noarch 2.0.-.el7.ngx nginx
  29. owncloud-nginx.noarch 9.1.-.el7 epel
  30. pcp-pmda-nginx.x86_64 3.11.-.el7 base
  31. python2-certbot-nginx.noarch 0.14.-.el7 epel

2.平滑升级nginx

  1. # yum update nginx -y

可以看到已经成功升级到v1.12.1了

  1. # nginx -v
  2. nginx version: nginx/1.12.

升级以后发现nginx语法检测无法通过

  1. # nginx -t
  2. 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:
  3. nginx: configuration file /etc/nginx/nginx.conf test failed

解决办法:
vim /etc/nginx/nginx.conf
将这行注释掉

  1. #include /usr/share/nginx/modules/*.conf;

分析:是因为modules指向了新的路径/usr/lib64/nginx/modules

  1. [root@test11_ckmusic_test nginx]# ll
  2. total
  3. drwxr-xr-x root root Jul : conf.d
  4. drwxr-xr-x root root Oct default.d
  5. -rw-r--r-- root root Jul : fastcgi_params
  6. -rw-r--r-- root root Jul : koi-utf
  7. -rw-r--r-- root root Jul : koi-win
  8. -rw-r--r-- root root Jul : mime.types
  9. lrwxrwxrwx root root Jul : modules -> ../../usr/lib64/nginx/modules
  10. -rw-r--r-- root root Jul : nginx.conf
  11. -rw-r--r-- root root Jun : nginx.conf.bak
  12. -rw-r--r-- root root Jul : nginx.conf.rpmnew
  13. -rw-r--r-- root root Jul : scgi_params
  14. -rw-r--r-- root root Jul : uwsgi_params
  15. -rw-r--r-- root root Jul : win-utf

3.平滑重启

  1. # 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. ibatis项目启动报错The string "--" is not permitted within comments【原】

    该错误主要就是因为xml中<!-- [注释]--> 注释与-->之间没有空格造成xml解析错误 sqlMapConfig.xml内容如下 <?xml version=" ...

  2. STL优先队列

    #include<cstdio> #include<iostream> #include<algorithm> #include<queue> usin ...

  3. Nginx+Tomcat+Https 服务器负载均衡配置

    这篇过气了! 重新补一个:http://www.cnblogs.com/hackyo/p/6809773.html 由于需要,得搭建个nginx+tomcat+https的服务器,搜了搜网上的发现总是 ...

  4. ArcGis 制图——地图图框整饰的插件式实现(一)C#

    如有插件定制需求或技术交流,欢迎联系QQ 975601416 写完了自己瞅了一眼都不想看,希望有需要的你能看懂. 先摆一张效果图: 下面进入主题,本篇先讲一下地图布局中的对象,正文中会对一些关键词用英 ...

  5. 31.【微服务架构】SpringCloud之Feign(五)

    Feign简介 Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Fei ...

  6. IIS 常见异常及解决办法

    Ø  简介 IIS 是我们平常接触比较多的服务端软件,用于站点发布等,本文主要记录 IIS 常见的异常及解决办法.主要包括: 1.   Visual Studio 启动 Web 项目提示"无 ...

  7. 神奇的Content-Type——在JSON中玩转XXE攻击

    大家都知道,许多WEB和移动应用都依赖于Client-Server的WEB通信交互服务.而在如SOAP.RESTful这样的WEB服务中,最常见的数据格式要数XML和JSON.当WEB服务使用XML或 ...

  8. 最好用的js前端框架、组件、文档在线预览插件

    这里收集的都是个人认为比较好的js框架.组件 js前端ui框架 此处列举出个人认为最好的几个框架(排序即排名),现在好点的框架商用都需要付费,以下几个也不例外,但是由于组件丰富,都可以作为企业应用的完 ...

  9. python中读取mongodb数据并保存为csv格式的文件

    import pandas as pd import matplotlib.pyplot as plt import pymongo %matplotlib inline # 连接mongodb数据库 ...

  10. Python pipenv

    pipenv都包含什么? pipenv 是 Pipfile 主要倡导者.requests 作者 Kenneth Reitz 写的一个命令行工具,主要包含了Pipfile.pip.click.reque ...