Nginx配置SSL協議

2021-08-03 09:26:41 字數 2032 閱讀 8905

ssl(secure sockets layer 

安全套接層

),及其繼任者

傳輸層安全

(transport layer security,tls)是為

網路通訊

提供安全及

資料完整性

的一種安全協議。tls與ssl在

傳輸層對網路連線進行加密。

ssl協議位於

tcp/ip協議

與各種應用層

協議之間,為

資料通訊

提供安全支援。ssl協議可分為兩層: ssl記錄協議(ssl record protocol):它建立在可靠的

傳輸協議

(如tcp)之上,為高層協議提供

資料封裝

、壓縮、加密等基本功能的支援。 ssl

握手協議

(ssl handshake protocol):它建立在ssl記錄協議之上,用於在實際的資料傳輸開始前,通訊雙方進行

身份認證

、協商加密演算法

、交換加密

金鑰等。

以上這些是基本的關於ssl的介紹, 通常來講既然有安全措施, 就會有相應的破解辦法。如果有人找到了方法, 對應的也就有了乙個安全漏洞。

近年比較有名的心血漏洞(heartbleed)漏洞給網際網路安全帶來了很大的危機, 所幸很快公布了安全補丁措施。下面我來介紹下發現安全傳輸層漏洞的時候怎麼處理。

下面我們從檢測乙個**的ssl/tls是否符合標準或有明顯的安全漏洞, 然後進行一些對應的處理。

1.  開啟輸入要檢測的**

檢測發現有cve-2016-2017漏洞, 易受攻擊, 套件版本低導致安全系統下降。

2. 解決cve-2016-2017漏洞

目前解決的辦法, 就是公升級openssl模組, 新版中修復了這個問題。在linux環境中首先要判斷nginx對openssl模組採取的是靜態還是動態編譯。

不少伺服器使用的nginx,是靜態編譯opensssl,直接將openssl編譯到nginx裡面去了,這就意味著,單純公升級openssl是沒有任何效果,nginx不會載入外部的openssl動態鏈     接庫的,必須將nginx重新編譯才可以**。

輸入命令/usr/sbin/nginx -v檢視當前機器的編譯配置, 如果沒有包含-with-openssl=, 說明是動態編譯, 那麼只要用yum更新openssl版本, 然後重啟nginx, 相對比較簡單。

3. 修改nginx套層協議配置

開啟/etc/nginx/conf.d/*.conf配置檔案, 找到監聽(listen)開啟ssl的server, 如果只配置了證書路徑, 那麼nignx就會使用預設的安全協議使用配置。

為了提高安全性, 我們需要設定合適的安全協議。

將一下配置插入到開啟了ssl協議的安全監聽埠, 然後reload nginx配置檔案即可。

4. 經過以上配置, 我們重新檢測當前**, 檢視結果。

nginx配置二 SSL配置

一 ssl作用是將客戶端到web服務端的資料傳輸進行加密傳輸,記住是客戶端到web端的資料傳輸進行加密傳輸。例如我前面提的nginx tomcat的配置,而作為web伺服器的是nginx,我們只需要nginx中加入該配的配置即可,不需要修改tomcat的配置,因為tomcat是後端伺服器,並沒有將資...

TOMCAT配置SSL協議

近來在公司掃瞄伺服器發現安全方面的高危漏洞,是由於sslv2,sslv3這些ssl版本受到幾個加密缺陷的影響。攻擊者可以利用這些缺陷進行中間人攻擊或解密受影響的服務與客戶端之間的通訊,以禁用ssl 2.0和3.0。使用tls 1.1 使用經過驗證的密碼套件 或更高版本。下面先簡單介紹下這兩種協議 小...

nginx配置ssl證書

最近專案中所有的http請求都要公升級到https,實踐了一把配置nginx的ssl證書。由於我們的證書是公司下發的,所以省略了申請證書的體驗,關於申請免費證書可以自行搜尋。拿到的證書分兩個檔案,乙個是 crt,乙個是 key,分別對應公鑰和私鑰。step1.假設我們的nginx安裝目錄是 usr ...