Nginx敏感信息泄露漏洞(CVE-2017-7529)

2017年7月11日,爲了修復整數溢出漏洞(CVE-2017-7529), Nginx官方發佈了nginx-1.12.1 stable和nginx-1.13.3 mainline版本,而且提供了官方patch。nginx

當使用Nginx而且開啓緩存功能時,攻擊者能夠構造特定header頭字段,能越界讀取到緩存文件的文件頭信息。文件頭信息中可能會包含Nginx代理站點的真實IP,形成敏感信息泄露。centos

另外,一些第三方模塊可能會所以致使拒絕服務或者當前進程的內存泄漏,但Nginx官方暫未發現這樣的第三方模塊。緩存

此漏洞涉及了nginx 0.5.6 - 1.13.2全版本安全

此漏洞須要在Nginx用做代理緩存的狀況下才能觸發,如基於Nginx的CDN服務等。服務器

修復方式:網站

一、升級Nginx到最新無漏洞版本,當前1.13.3,1.12.1版本中已修復了這個問題。
二、臨時方案:配置 max_ranges 1;
三、使用百度雲加速WAF防火牆進行防護。
四、添加網站至安全指數,及時瞭解網站組件突發/0day漏洞。ui

本篇隨筆採用第一種修復方式修復此漏洞centos7

從官網上下載nginx-1.13.3.tar.gz,而後上傳到centos7服務器spa

解壓nginx-1.13.3.tar.gz代理

tar zxvf nginx-1.13.3.tar.gz

進入nginx-1.13.3目錄

cd nginx-1.13.3

查看nginx原來的配置

nginx -V

執行configure命令,後面跟上原來nginx的配置

報錯

改成(有關dynamic去掉)

在執行一次

此次沒有提示error, 執行make令命編譯nginx, 編譯好之後objs目錄下多出一個nginx文件,這個就是已編輯好的nginx程序

在執行configure時可能碰到的幾個錯誤:

1. rewrite須要pcre支持, 錯誤提示:./configure: error: the HTTP rewrite module requires the PCRE library.

yum -y install pcre-devel

2.openssl致使的錯誤

yum -y install openssl openssl-devel 

執行make令命編譯nginx, 編譯好之後objs目錄下多出一個nginx文件,這個就是已編輯好的nginx程序

make

更改舊的nginx程序的名子,並複製新的程序過去,個人舊nginx程序放在/usr/sbin/目錄中

mv /usr/sbin/nginx /usr/sbin/nginx-bak
cp objs/nginx /usr/sbin/nginx
/usr/sbin/nginx -t

執行下面的命令來升級nginx

make upgrade

查看nginx版本

nginx -V

相關文章
相關標籤/搜索