nginx漏洞分析與升級修複

来源:https://www.cnblogs.com/Sunzz/archive/2018/11/13/9953443.html
-Advertisement-
Play Games

一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] nginx安全公告(CVE-2018-16843,CVE-2018-16844)在nginx HTTP / 2實現中發現了兩個安全問題,漏洞對伺服器的影響: 可能會導致過多的記憶體消耗(CVE-2018-16843 ...


一 、此次漏洞分析

1 nginx HTTP/2漏洞

[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中得到修複。建議升級到最新穩定版

以上內容參考:
 http://mailman.nginx.org/pipermail/nginx-announce/2018/000220.html

2 ngx_http_mp4_module漏洞

[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中得到修複。建議升級到最新穩定版

該問題的補丁可以在這裡找到:
http://nginx.org/download/patch.2018.mp4.txt
以上內容參考:
http://mailman.nginx.org/pipermail/nginx-announce/2018/000221.html

3 模塊ngx_http_mp4_module介紹

作用:為H.264(一種視頻編碼格式)/AAC(一種音頻編碼格式)文件,主要是以 .mp4、.m4v、和.m4a為擴展名的文件, 提供偽流媒體服務端支持。

二、nginx升級

1 備份原有文件

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

2 解壓nginx-1.14.1.tar.gz文件

tar -xf nginx-1.14.1

3 進入nginx-1.14.1目錄

cd nginx-1.14.1

4 編譯配置

(1)請先使用nginx -V 命令查看原有nginx編譯的選項,

# nginx -V

nginx version: nginx/1.0.15
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_flv_module --add-module=/usr/local/src/nginx-auth-ldap --with-http_realip_module

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

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module 
--with-http_ssl_module --with-http_gzip_static_module --with-http_flv_module --with-http_realip_module
--with-http_auth_request_module --with-http_auth_request_module --add-module=/usr/local/src/nginx-auth-ldap
--add-module=/usr/local/src/headers-more-nginx-module-master --with-cc-opt=-Wno-error

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 1
test -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 1
test -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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 AOP,大家都是聽過的,它是一種面向切麵的設計模式。 不過AOP雖然是被稱為設計模式,但我們應該很少能看到AOP設計的框架。為什麼呢? 因為,AOP單獨設計的框架幾乎是無法使用的。普遍的情況是,AOP要是和其他設計模式結合在一起使用。 所以,AOP雖然是設計模式,但我認為它更接近一種設計元素, ...
  • 上一篇隨筆 archlinux切換官方中國源 裡面寫瞭如何切換到官方的中國源,但是因為那個源有一些軟體並沒有,特別是一些國人常用的中文軟體,比如搜狗輸入法等這些都是沒有的。所以我們現在需要手動切換源一下: 我們這裡使用的是清華源,清華源的好處上面我說了有一些國內常用的中文軟體這些,我們換成清華cna ...
  • [toc] Union File System Union File System, 簡稱UnionFS,是一種為Linux,FreeBSD,和NetBSD操作系統設計的把其他文件系統聯合掛載到一個掛載點的文件系統服務。 它通過使用branch把不同文件系統的文件和目錄覆蓋,形成一個一致的文件系統。 ...
  • 安裝環境WIN10VMware Workstation Pro 15.0.0 Build 10134415工具準備1.VMware Workstation Pro 15.0.0 Build 10134415官網下載地址:http://download3.vmware.com/software/wks ...
  • linux操作系統的目錄以及對目錄的操作 一: linux操作系統的目錄結構 bin #可執行程式的安裝目錄 , 命令 boot #系統啟動引導目錄 dev #設備目錄 etc #軟體配置文件目錄 home #用戶的家目錄 lib #系統軟體庫的存放目錄 lost-found #當系統出現故障 ,斷 ...
  • 軟連接(softlink)也稱符號鏈接。linux里的軟連接文件就類似於windows系統中的快捷方式。軟連接文件實際上是一個特殊的文件,文件類型是I。軟連接文件實際上可以理解為一個文本文件,這個文件中包含有軟連接指向另一個源文件的位置信息內容,因此,通過訪問這個“快捷方式”就可以迅速定位到軟連接所 ...
  • 重啟命令 : 1、reboot 2、shutdown -r now 立刻重啟 3、shutdown -r 10 過10分鐘自動重啟 4、shutdown -r 20:35 在時間為20:35時候重啟 如果是通過shutdown命令設置重啟的話,可以用shutdown -c命令取消重啟 關機命令 : ...
  • 今天來說以下linux 的常見命令,歡迎大家交流。每個命令都會給大家截一個圖,方便大家查看。 常用命令打算分好幾篇來進行更新。今天是第一篇: 首先我們需要知道linux的根目錄為/。 用ls可以看到根目錄下所有的目錄,常用目錄有bin,boot,dev,etc,usr,home,root等。 這裡主 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...