关于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. windows下安装nginx,并添加至系统服务

    安装:解压修改配置文件运行即可 添加服务 需要借助"Windows Service Wrapper"小工具下载地址:winsw GitHub 下载后放在nginx目录下,并修改名字 ...

  2. HDU 6400(括号组合 ~)

    题意是说在 h 行 w 列的矩阵中,通过设计使得尽可能多的行或列能满足题中的平衡条件. 如果行数(列数)是奇数,那么每一列(行)一定不能平衡,就要按照满足每一行(列)平衡,输出“ () “:若行数和列 ...

  3. Delegate与Event关系

    1.Delegate是类型,Event是成员(本质为成员方法),Event成员类型派生于Delegate.仅此! 2.大概就好比说委托是C++里一个方法的模板,而event是这个模板具体的实现

  4. zookeeper的作用

    1.管理(存储和读取)程序提交的状态数据 2.为用户程序提供数据节点监听服务

  5. ModSecurity SQL注入攻击 – 深度绕过技术挑战

    ModSecurity是一个入侵探测与阻止的引擎,它主要是用于Web应用程序所以也可以叫做Web应用程序防火墙.它可以作为Apache Web服务器的一个模块或单独的应用程序来运行.ModSecuri ...

  6. Docker 容器内存限制 - 八

    Docker 内存限制: centos /bin/bash  查看容器实例 内存限制: 限制容器内存大小:docker run -d -i -t -m 256M --memory-swap 512M ...

  7. ES6走一波 Iterator

    Iterator---> for ... of 循环 Generator函数原生具有 Iterator接口,所以可采用数组的形式解构赋值

  8. Excel根据字符串截取单元格部分内容

    我第一列的数据是这样的 我需要 1.将“projectId=”后面的数字放到第二列, 以及 2.将”mediumId=”后面的数字放到第三列 针对1使用函数:=MID(A2,FIND("pr ...

  9. Django REST Framework API Guide 01

    之前按照REST Framework官方文档提供的简介写了一系列的简单的介绍博客,说白了就是翻译了一下简介,而且翻译的很烂.到真正的生产时,就会发现很鸡肋,连熟悉大概知道rest framework都 ...

  10. cxf动态调用外部web service 报告异常java.lang.NoSuchFieldError: QUALIFIED

    原因:cxf 依赖的xmlschema-core 与xfire-all依赖的xmlschema冲突.(百度搜索亦得知:cxf 依赖的xmlschema-core 与axis2-kernel依赖的xml ...