CA證書伺服器(6)利用CA證書配置安全Web站點

科技小能手發表於2017-11-07

  前面講了這麼多理論知識,其實真要操作起來還是很簡單的,下面我們就利用證書來實現一個安全的Web站點,也就是當客戶端在訪問網站時使用https實現資料加密傳輸。

    要實現這個功能,首先要了解一下SSL協議。

“SSL安全套接字層”是一套提供身份驗證、保密性和資料完整性的加密技術,屬於傳輸層的協議。準確點來說,SSL其實是一個位於應用層和傳輸層之間的協議,所以才稱之為“套接字層”。

我們都知道在Web瀏覽器和Web伺服器之間傳輸資料是使用HTTP協議,本來HTTP協議產生的資料是直接送給傳輸層的TCP協議,有了SSL這個套接字層之後,就要先送給SSL處理一下,然後再送給TCP,這也就稱之為HTTPS(基於SSL的HTTP)協議。之所以要經過SSL先處理一下,其目的主要是為了能夠在Web伺服器和客戶端之間建立一條安全通訊通道,在這條安全通道中傳輸的資料都是經過加密的。

SSL安全通道的建立過程是:

  1. 首先客戶端向伺服器發出連線請求;

  2. 伺服器把它的數字證書發給客戶端;

  3. 客戶端生成會話金鑰(對稱式加密),並用從伺服器得到的公鑰對它進行加密,然後通過網路傳送給伺服器;

  4. 伺服器使用私鑰解密得到會話金鑰,這樣客戶端和伺服器端就建立了安全通道。

在安全通道建立好之後,在客戶端與伺服器之間傳輸的資料都是採用對稱式加密,以提高通訊效率,而對稱式加密的金鑰是通過非對稱式加密的方式傳送的,以保證會話金鑰的安全性。

Web站點啟用SSL之後,客戶端在訪問網站時必須使用“https:\……”的URL形式,預設使用的埠號也不再是TCP 80,而是變成了TCP 443。

為支援SSL通訊,必須為Web伺服器配置證書。下面是在Web伺服器上申請證書並安裝的過程。

1. 生成證書請求

開啟之前建立的Web伺服器,以域管理員身份登入。

選中伺服器,然後在中間的皮膚中開啟“伺服器證書”,點選“建立證書申請”。

205033158.jpg

輸入網站的相關資料,注意“通用名稱”文字框中必須輸入網站所用的域名,否則客戶端在訪問網站時,將提示證書錯誤。

205121135.jpg

選擇證書的加密演算法和金鑰長度。其中的“位長”是指網站公鑰的長度,位長越長,安全性越高,但效能越低。這裡都採用預設值。

205211490.jpg

為證書申請指定檔名和儲存路徑。單擊“完成”按鈕,證書申請檔案建立成功,該檔案是一個文字檔案,裡面包含了所生成的證書申請編碼。

205249422.jpg

2. 提交證書申請

證書申請建立完成之後,開啟IE瀏覽器,在位址列中輸入http://192.168.1.2/certsrv/”,注意這裡必須以域管理員的身份訪問證書伺服器,開啟證書申請頁面,點選“申請證書”,然後再單擊“高階證書申請”。

205341129.jpg

選擇使用base64編碼申請證書。

205408488.jpg

將剛才生成的證書申請檔案中的內部全部複製到“儲存的申請”中,將“證書模板”選擇“Web伺服器”,點選“提交”按鈕。

205441998.jpg

企業根CA會自動頒發證書,點選“下載證書”,並將證書儲存到指定的位置。

205510579.jpg

3. 安裝證書

回到IIS管理器的“伺服器證書”介面中,點選“完成證書申請”。

205543911.jpg

找到剛才下載的證書,併為其起一個好記的名稱。

205701896.jpg

至此,Web伺服器證書申請並安裝成功。

205747135.jpg

4. 繫結證書並啟用SSL

證書安裝完成之後,下面需要將證書繫結到網站之上。

選中預設站點,點選右側的“繫結”。在“網站繫結”對話方塊中點選“新增”按鈕,將型別設定為“https”,埠為預設的443SSL證書設定為剛才安裝的“web”。點選“確定”按鈕之後,證書就繫結好了。

205902576.jpg

然後開啟“SSL設定”介面,勾選“要求SSL”:

205929902.jpg

這樣,在客戶機上如果用http方式訪問網站,便會被拒絕:

205958563.jpg

只有使用https方式才可以正常訪問網站。

當然,如果在“SSL設定”中不勾選“要求SSL”,則客戶端既可以使用https也可以使用http方式訪問web站點。

5. 虛擬目錄啟用SSL

大多數情況下,我們並不需要對整個網站都啟用SSL,而是隻需要對網站中的某個版塊(如交易支付頁面)啟用SSL。這時可以只對Web站點中的某個虛擬目錄啟用強制SSL設定。

下面在Web站點中建立一個名為“pay”的虛擬目錄,並對其設定啟用強制SSL

210116402.jpg

編輯站點首頁檔案Default.htm

210143820.jpg

這樣在客戶端可以直接使用http方式訪問網站,但是當要訪問pay子目錄時,就會自動啟用SSL


本文轉自 yttitan 51CTO部落格,原文連結:http://blog.51cto.com/yttitan/1191833


相關文章