关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复nginx最新漏洞CVE-2017-7529的解决方案
关于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配置文件的语法是正确的. ...
随机推荐
- jenkins检查代码,如没更新停止构建步骤
需求分析 在jenkins中没有找到构建前插件,每次构建时间很长,希望可以实现判断代码是否更新,如果没更细则停止构建步骤. 实现步骤 在构建时执行shell命令,而jenkins提供的的环境变量可以实 ...
- 【leetcode70】【动态规划】 爬楼梯
(1 pass 一维动态规划) 爬楼梯(easy) 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数 ...
- Win32程序框架
// WinMsg.cpp : 定义应用程序的入口点. // #include "stdafx.h" #include <stdio.h> #include " ...
- Baidu地图Map api直接加https不起作用
这种情况一般出现在v1.1等老版本上,加s=1也不起作用,尽量使用新版本. https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1:
- spring注解第05课 FactoryBean
1.工厂bean调用 @Configuration public class MainConfig2 {/** * 使用Spring提供的 FactoryBean(工厂Bean); * 1).默认获取 ...
- 九、uboot 代码流程分析---relloc_code
执行完 board_init_f 后,重新跳转回 _main 中执行. 9.1 relloc_code 前 9.1.1 gd 设置 在调用board_init_f()完成板卡与全局结构体变量 gd 的 ...
- PHP的核心配置详解
1.PHP核心配置详解 代码在不同的环境下执行的结果也会大有不同,可能就因为一个配置问题,导致一个非常高危的漏洞能够利用:也可能你已经找到的一个漏洞就因为你的配置问题,导致你鼓捣很久都无法构造成功的漏 ...
- PHP中遍历二维数组—以不同形式的输出操作
<body> <?php //定义二维索引数组$arr = array( array("101","李军","男", ...
- matplotlib-形状
需要 import matplotlib.patches as mp import numpy as np import matplotlib.pyplot as plt import matpl ...
- [C++]2-2 韩信点兵
/* 韩信点兵 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排.五人一排.七人一排地变换队 形,而他每次只掠一眼队伍的排尾就知道总人数了.输入多组数据,每组数据包含3个非负整数 ...