nginx漏洞分析與公升級修復

2022-01-14 14:03:46 字數 3895 閱讀 8501

[nginx-announce] nginx安全公告(cve-2018-16843,cve-2018-16844)

在nginx http / 2實現中發現了兩個安全問題,

漏洞對伺服器的影響:

可能會導致過多的記憶體消耗(cve-2018-16843)和cpu使用率(cve-2018-16844)。

影響範圍:

這些問題會影響使用ngx_http_v2_module編譯的nginx(不是預設情況下編譯)如果「listen」指令的「http2」選項是用於配置檔案。

影響版本:

這些問題會影響nginx 1.9.5 - 1.15.5。

解決方法:

問題在nginx 1.15.6,1.14.1中得到修復。建議公升級到最新穩定版

以上內容參考:

[nginx-announce] nginx安全公告(cve-2018-16845)

漏洞對伺服器的影響:

在ngx_http_mp4_module中發現了乙個安全問題,可能是這個問題允許攻擊者在工作程序中導致無限迴圈,導致攻擊工作程序崩潰,或者可能導致工作程序記憶體使用特製的mp4檔案(cve-2018-16845)進行披露。

影響範圍:

如果使用ngx_http_mp4_module構建,則該問題僅影響nginx(預設情況下不構建模組)並使用「mp4」指令配置檔案。此外,只有在攻擊時才能進行攻擊,攻擊者能夠觸發特製的mp4檔案的處理使用ngx_http_mp4_module。

影響版本:

該問題影響nginx 1.1.3 +,1.0.7 +。

解決方法:

該問題在1.15.6,1.14.4中得到修復。建議公升級到最新穩定版

該問題的補丁可以在這裡找到:

以上內容參考:

1 備份原有檔案

cp -a /usr/local/nginx /tmp/nginx_back

wget 

tar -xf nginx-1.14.1

3 進入nginx-1.14.1目錄

cd nginx-1.14.1

4 編譯配置

(1)請先使用nginx -v 命令檢視原有nginx編譯的選項,

(2)故保持和原有一樣的編譯配置,根據自己情況具體而定

5 編譯

make

6 備份原來sbin/nginx

cd /usr/local/nginx/sbin/

mv nginx nginx.back

7 複製nginx-1.14.1/objs/nginx到/usr/local/nginx/sbin/

cp nginx-1.14.1/objs/nginx /usr/local/nginx/sbin/

8 公升級

cd nginx-1.14.1

make upgrade

輸出如下:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration

file /usr/local/nginx/conf/nginx.conf test is successful

kill -usr2 `cat /usr/local/nginx/logs/nginx.pid`

sleep

1test -f /usr/local/nginx/logs/nginx.pid.oldbin

kill -quit `cat /usr/local/nginx/logs/nginx.pid.oldbin`

或者輸出為以下內容: 

/usr/local/nginx/sbin/nginx -t

nginx: the configuration

file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration

file /usr/local/nginx/conf/nginx.conf test is successful

kill -usr2 `cat /usr/local/nginx/logs/nginx.pid`

sleep

1test -f /usr/local/nginx/logs/nginx.pid.oldbin

make: *** [upgrade] error 1

看到error 1也不用太在意,已經公升級成功

如果nginx是關閉的請情況輸出如下:

/usr/local/nginx/sbin/nginx -t

nginx: the configuration

file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration

file /usr/local/nginx/conf/nginx.conf test is successful

kill -usr2 `cat /usr/local/nginx/logs/nginx.pid`

kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]

make: *** [upgrade] error 1

9 檢視公升級是否成功

# /usr/local/nginx/sbin/nginx -v

nginx version:nginx/1.14.1

如果想隱藏版本號,可參考 

公升級sudo版本,修復漏洞

更新ubuntu sudo版本 3.建立packages.gz包,裡面記錄了packs資料夾下面的軟體包資訊,包括依賴資訊。dpkg scanpackages data test dev null gzip data test packages.gz r 4.加本地源 cat etc apt sou...

漏洞修復 centOS公升級openssh到8 0

近期在伺服器安全掃瞄發現一大堆漏洞,上百臺伺服器的漏洞都差不多,主要是關於openssh的。漏洞有很多,掃瞄系統給出的解決辦法是打各種補丁,但通過了解到,將openssh直接公升級基本可以解決所有漏洞問題,一勞永逸。現將7.4版本的openssh公升級到8.0版本。安裝telnet 得先安裝teln...

綠盟漏洞公升級nginx

nginx 11月6日的安全更新中,修補了三個可導致拒絕服務的漏洞 cve 2018 16843,cve 2018 16844和cve 2018 16845。位於nginx http 2 模組和流 mp4模組。cve 2018 16843,cve 2018 16844漏洞存在於ngx http v2...