在IIS中使用SSL配置HTTPS網站
由於Windows系統的普及,很多中小企業在自己的網站和內部辦公管理系統都是用預設的IIS來做WEB伺服器使用。
預設情況下我們所使用的HTTP協議是沒有任何加密措施的,所有的訊息全部都是以明文形式在網路上傳送的,惡意的攻擊者可以通過安裝監聽程式來獲得我們和伺服器之間的通訊內容。這點危害在一些企業內部網路中尤其比較大,對於使用HUB的企業內網來說簡直就是沒有任何安全可講因為任何人都可以在一台電腦上看到其他人在網路中的活動,對於使用交換器來組網的網路來說雖然安全威脅性要小很多,但很多時候還是會有安全突破口,比如沒有更改交換器的預設使用者和口令,被人上去把自己的網路介面設定為偵聽口,依然可以監視整個網路的所有活動。
IIS的身份認證除了匿名訪問、基本驗證和Windows NT請求/回應程式式外,還有一種安全性更高的認證,就是通過SSL(Security Socket Layer)安全機制使用數位憑證。
因此,為了網路的安全越來越多的企業採用SSL來避免或減少這方面帶來的損失。
SSL(加密通訊端協議層)位於HTTP層和TCP層之間,建立使用者與伺服器之間的加密通訊,確保所傳遞資訊的安全性。SSL是工作在公用密鑰和私人密鑰基礎上的,任何使用者都可以獲得公用密鑰來加密資料,但解密資料必須要通過相應的私人密鑰。使用SSL安全機制時,首先用戶端與伺服器建立串連,伺服器把它的數位憑證與公用密鑰一併發送給用戶端,用戶端隨機產生工作階段金鑰,用從伺服器得到的公用金鑰組工作階段金鑰進行加密,並把工作階段金鑰在網路上傳遞給伺服器,而工作階段金鑰只有在伺服器端用私人密鑰才能解密,這樣,用戶端和伺服器端就建立了一個惟一的安全通道。
建立了SSL安全機制後,只有SSL允許的客戶才能與SSL允許的Web網站進行通訊,並且在使用URL資源定位器時,輸入https:// ,而不是http://。
下面我們以WIN2000伺服器版本的來做例子,介紹一下怎樣利用SSL加密HTTP通道來加強IIS安全的。
操作辦法
我們首先需要在控制台裡的填加刪除WINDOWS組件中去安裝認證服務,這個服務在預設安裝中是沒有安裝在系統裡的,需要安裝光碟片來安裝。
然後選擇獨立根目錄CA的安裝類型。然後在下一步中給自己的CA起一個名字來完成安裝就可以了。
安裝完成後,我們就可以啟動我們的IIS管理器來申請一個數位憑證了,啟動INTERNET管理器選擇我們需要配置的WEB網站
選擇網站屬性裡的,目錄安全性-安全通訊-伺服器憑證
由於我們是第一次配置,所以選擇建立一個新的認證。
用預設的網站名稱和加密位長設定就可以了。
選擇一個地方把我們剛才產生的一個請求認證儲存起來。
完成上面的設定後,我們就要把我們剛剛產生的伺服器憑證提交給我們剛剛在本地安裝的認證伺服器。在預設情況下認證伺服器完成安裝後會在本地的IIS裡的WEB伺服器裡面產生幾個虛擬目錄。
我們開啟http://localhost/CertSrv/default.asp
選擇申請認證
在選擇申請類型的時候,選擇進階申請。
選擇使用base64的編碼方式來提交我們的認證申請。
在認證申請的地方把我們剛剛產生的certreq.txt的內容拷備進去,然後選擇提交。
提交成功以後,會返回一個頁面給我們告訴我們認證已經成功提交了,現在是掛起狀態就是等待CA中心來頒發這個認證了。
好接下來啟動管理工具裡的憑證授權單位,在待定申請中找到我們剛剛的申請條目然後點擊滑鼠右鍵選擇頒發就好了。
頒發成功以後我們在頒發的認證裡找到剛才頒發的認證,雙擊其屬性欄目然後在詳細資料裡選擇將認證複製到檔案。
我們需要把認證匯出到一個檔案,這裡我們把認證匯出到c: /sql.cer這個檔案裡。
重新回到IIS的WEB管理介面裡重新選擇認證申請,這個時候出來的介面就是掛起的認證請求了。
選擇我們導處的sql.cer這個檔案。
確定一切資訊正確以後,就可以點擊下一步確定來完成SSL的安裝了。
預設安裝結束後,SSL並沒有啟動我們需要自己給我們的網站SSL的加密通道,並且確定HTTPS使用的連接埠是443 。
第一次通過HTTPS進入網站的時候,會有一個對話方塊讓我們確認是否同意當前認證,當然是同意啦~
好了,這個時候我們看這個網站的時候所有資訊在網上就是以加密的方式來傳送的了,任何人都無法再輕易瞭解其中的內容了。
加密過的SSL會比普通的沒有加密的WEB瀏覽的時候慢一點,主要是因為加密的隧道額外還要佔用一點CPU的資源,對於那些沒有任何秘密可言的WEB網站沒有需要用加密的SSL通道。只要對於那些重要的目錄和網站才有這個必要性。