您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“針對OpenSSL安全漏洞怎么調整Nginx服務器”,內容詳細,步驟清晰,細節處理妥當,希望這篇“針對OpenSSL安全漏洞怎么調整Nginx服務器”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
1. 概述
當前爆出了openssl漏洞,會泄露隱私信息,涉及的機器較多,環境迥異,導致修復方案都有所不同。不少服務器使用的nginx,是靜態編譯 opensssl,直接將openssl編譯到nginx里面去了,這就意味著,單純升級openssl是沒有任何效果,nginx不會加載外部的 openssl動態鏈接庫的,必須將nginx重新編譯才可以根治。
2. 識別nginx是否是靜態編譯的
以下三種方法都可以確認nginx是否靜態編譯openssl。
2.1 查看nginx編譯參數
輸入以下指令,查看nginx的編譯參數:
# ./sbin/nginx -v
如果編譯參數中含有--with-openssl=...,則表明nginx是靜態編譯openssl,如下所示:
nginx version: nginx/1.4.1 built by gcc 4.4.7 20120313 (red hat 4.4.7-3) (gcc) tls sni support enabled configure arguments: --prefix=/opt/app/nginx --with-http_ssl_module --with-openssl=/opt/app/openssl-1.0.1e --add-module=/opt/app/ngx_cache_purge-2.1
2.2 查看nginx的依賴庫
為進一步確認,可以查看一下程序的依賴庫,輸入以下指令:
# ldd `which nginx` | grep ssl
顯示
libssl.so.10 => /usr/lib/libssl.so.10 (0xb76c6000)
注意:如果輸出中不包含libssl.so的文件(),就說明是靜態編譯的openssl的
再輸入命令以確定openssl以確定庫所屬的openssl版本,但是不會太詳細,比如本應該是1.0.1e.5.7,但是卻只輸出1.0.1e:
# strings /usr/lib/libssl.so.10 | grep "^openssl " openssl 1.0.1e-fips 11 feb 2013
2.3 查看nginx打開的文件
也可以通過查看nginx打開的文件來查看是否靜態編譯,輸入以下指令:
# ps aux | grep nginx # lsof -p 111111<這里換成nginx的進程pid> | grep ssl
如果沒有打開openssl的庫文件,就說明是靜態編譯openssl的,如下圖所:
3. 重新編譯nginx
在互聯網公司里,很少有統一的nginx版本,都是各部門根據自己的業務需求選擇相應的插件,然后自己編譯的,所以在編譯的時候一定要注意插件這塊,不 要忘記編譯某些插件,盡量保持nginx特性不變。
讀到這里,這篇“針對OpenSSL安全漏洞怎么調整Nginx服務器”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。