如果您具備有效的憑證伺服器,如何為 SQL Server 2000 啟用 SSL 加密

文章翻譯 文章翻譯
文章編號: 276553 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將逐步告訴您,如果您的網路環境中具備有效的「憑證伺服器」,則您應該採取哪些步驟以針對 Microsoft SQL Server 2000 啟用 Secure Socket Layer (SSL) 加密。如果您是向協力憑證廠商購買憑證,請依照該廠商提供的指示進行。SQL Server 2000 是使用憑證與 Secure Socket Layer (SSL) 加密,以允許所有網路程式庫的加密連線。您可使用 SuperSocket Net-Library、Ssnetlib.dll 或 Dbnetlib.dll 來啟用 SQL Server 加密。

如果您在 SQL Server 叢集使用 SSL 加密,您可以使用相同的步驟,除了憑證必須發行至虛擬 SQL Server 的完整網域名稱,而非個別的電腦名稱。另外,Microsoft 建議您在 SQL Server 叢集使用憑證或 SSL 加密的方法為:
  1. 在叢集中的每個節點安裝憑證。
  2. 在每個用戶端安裝「受信任的根授權」。
  3. 使用「用戶端網路公用程式」,從用戶端電腦啟用 [強制通訊協定加密] 選項。
如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
319349 BUG: Turning on the "Force Protocol Encryption" option is irreversible if there is no certificate
如果要在用戶端電腦與伺服器之間加密通訊,必須先決定您是否想要根據每台伺服器或用戶端進行加密。請記住,如果您在伺服器上啟用加密,則有一個目前的 SQL Server 的限制。所有的傳入連線都會進行加密。如果您在用戶端電腦啟用加密,該用戶端送出的所有連線會試圖與任何 SQL Server 建立加密連線。

另外,當您從伺服器啟用「強制通訊協定加密」時,它會加密登入與資料。但是,它並不會用戶端信任相同的根授權。如果您希望用戶端信任相同的根授權,您必須使用「用戶端網路公用程式」或連接字串選項,以強制在用戶端進行通訊協定加密。這是原本設計的作法。

如果憑證無效或用來啟動 MSSQLServer 服務的服務帳戶無法找出憑證,則 SQL Server 無法啟動。因此,Microsoft 建議,當您使用與啟動 MSSQLServer 服務相同的使用者帳戶登入時,要求憑證。

如果執行 SQL Server 的電腦上已經安裝 Microsoft Internet Information Services (IIS),您也可以使用 [目錄安全設定] 索引標籤上的 IIS 服務管理員精靈。此憑證必須是發行到伺服器之完整網域名稱 (FQDN) 的伺服器憑證。您無法使用憑證名稱的 IP 位址。用戶端電腦必須依伺服器的 FQDN 或 NetBIOS 名稱來要求連線到伺服器。您無法使用執行 SQL Server 之電腦的 IP 位址來連接伺服器。

如果該電腦在使用者儲存區或機器儲存區中已經安裝多個憑證,則您可能需要指定 SQL Server 應該使用哪一個憑證。

在下列登錄機碼中建立類型 REG_BINARY 的憑證值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib
按一下憑證值,然後在資料欄中輸入憑證指紋屬性值。

例如,當您匯出登錄時,登錄看起來應該類似如下:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib] "Certificate"=hex:2e,67,3e,84,4a,4f,e0,7f,08,42,6a,7a,35,9b,01,94,76,67,0b
如果這個登錄機碼在電腦上設定為 0,則該電腦會忽略電腦上的憑證。執行 SQL Server 的電腦會啟動,但不會讀取電腦上的憑證。如果您希望使用加密,而電腦只有一個憑證,則您不需要此登錄機碼。

確認您已經成功執行加密連線的唯一方法就是使用 Microsoft 網路監視器或 Network Sniffer 工具來擷取兩台電腦之間的流量。 如需有關如何安裝 Microsoft 網路監視器的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
243270 How to install Network Monitor in Windows 2000

使用憑證伺服器來要求與安裝憑證

  1. 當您使用啟動 MSSQLServer 服務的相同帳戶來登入的同時,請建立 HTTP 連線到憑證伺服器。例如,您可以建立以下連線:
    http://mycertserver/certsrv
    注意 Microsoft 建議您使用網域使用者帳戶,或擁有最小權限且非本機系統帳戶的本機使用者帳戶,來啟動 MSSQLServer 服務。
  2. 選取 [要求憑證],然後按一下 [下一步]
  3. [選擇要求類型]頁面中,按一下以選取 [進階要求],然後按一下 [下一步]
  4. 選取 [使用表格來傳送憑證要求到此 CA],然後按一下 [下一步]
  5. [名稱] 方塊中輸入電腦的完整網域名稱。如果您不確定完整的網域名稱為何,請 Ping 您的電腦以取得完整網域名稱。
  6. [使用目的] 區段中,使用 [用戶端驗證憑證] 的下拉式選單方塊將選項改為 [伺服器驗證憑證]。如需「企業憑證授權」,您可選擇範本取代。
  7. 按一下本機電腦憑證存放區中的 [儲存憑證] 選項。
  8. 保留所有其他項目的預設值。按一下 [傳送]
  9. 最後一頁會出現 [安裝的憑證] 超連結。按一下 [安裝此憑證]
如果要確認您的憑證安裝是否正確,請使用 MMC 憑證嵌入式管理單元以確認憑證,或使用安裝在憑證伺服器上的 CertUtil.exe 工具以列出憑證。如果要載入 MMC [憑證] 嵌入式管理單元,請依照下列步驟進行:
  1. 如果要開啟 MMC 主控台,請按一下 [開始],然後按一下 [執行]
  2. [執行] 對話方塊中,輸入 mmc,然後按一下 [確定]
  3. [主控台] 功能表上按一下 [新增/移除嵌入式管理單元]
  4. 按一下 [新增],然後按一下 [憑證]
  5. 按一下 [新增]

    提示您針對目前的使用者帳戶、服務帳戶、電腦帳戶開啟嵌入式管理單元。
  6. 按一下 [電腦帳戶]
  7. 按一下 [本機電腦],然後按一下 [完成]
  8. 按一下 [關閉]
  9. 按一下 [確定]

    您已安裝的憑證會位於 [個人] 容器的 [憑證] 資料夾中。
按兩下 [憑證],然後確認以下所有資料為正確:
  • 存在對應此憑證的私密金鑰。
  • 憑證主體名稱等同於電腦的完整網域名稱。
  • 憑證的作用在於伺服器驗證。
  • 憑證路徑與根授權具備有效鏈結。

在 SQL Server 上啟用 SSL 加密

伺服器安裝憑證之後,您可以依照下列步驟啟用 SSL 加密:
  1. 使用 [SQL Server 網路公用程式] 並按一下以選取 [強制通訊協定加密] 核取方塊。
  2. 停止,然後重新啟動預設執行個體或具名執行個體的 MSSQLServer 服務。
  3. 使用 SQL Server 錯誤記錄以確認 SQL Server 在啟動時沒有回報任何錯誤。

針對特定用戶端啟用 SSL 加密

如果不想在伺服器上以全域方式啟用 SSL 加密,您可以從特定用戶端啟用 SSL 加密。請勿在伺服器與用戶端同時啟用加密,請使用其一。如果您在每個用戶端啟用 SSL 加密,則用戶端電腦必須信任伺服器憑證。憑證必須已經存在伺服器上。用戶端電腦無須憑證,但必須具備伺服器憑證以作為「信任的根憑證授權」。請依照下列步驟執行,為每個用戶端啟用加密:
  1. 請確認您停用或清除「伺服器網路公用程式」中的 [強制通訊協定加密] 選項。
  2. 使用「網路監控器」或 Network Sniffer 工具從用戶端電腦建立測試連線,以確認用戶端與伺服器之間的通訊未被加密。
  3. 用滑鼠右鍵按一下執行 SQL Server 之電腦桌面上的 Internet Explorer 圖示。
  4. 用滑鼠右鍵按一下 [內容]
  5. 按一下 [內容] 索引標籤。
  6. 按一下 [憑證]
  7. 按一下 [信任的根憑證授權]
  8. 按一下以選取 [憑證授權]
  9. 按一下 [匯出],然後按一下 [下一步]
  10. [匯出檔案格式] 對話方塊中,按一下 [密碼編譯訊息語法標準 - PKCS #7 憑證 (.P7B)]
  11. 按一下選取 [如果可能的話,在憑證路徑中包含所有憑證] 核取方塊。
  12. 為匯出的憑證選取檔案名稱。確認檔案位置是用戶端稍後可存取並進行匯入的。
  13. 按一下 [下一步],然後按一下 [完成]
  14. 在用戶端電腦上選取網際網路瀏覽器,用滑鼠右鍵按一下 [內容],指向 [內容],然後按一下 [憑證]
  15. 按一下 [信任的根憑證授權] 索引標籤。
  16. 按一下 [匯出],按一下 [下一步],按一下 [瀏覽],然後按一下 [將檔案格式修改為:PKCS #7 Certificates(*.p7b)]
  17. 選取您剛從 SQL Server 匯出的憑證,然後按一下 [開啟]。按一下 [下一步]
  18. 按一下以選取 [自動根據憑證類型來選取憑證存放區] 核取方塊。
  19. 按一下 [是] 將以下的憑證新增到根儲存區:
  20. 按一下 [下一步],然後按一下 [完成]
  21. 隨即開啟含有下列文字的對話方塊:
    匯入執行成功
  22. 確認憑證出現在信任的根憑證授權之下,而 [使用目的] 指示為 [全部]
  23. 按一下 [檢視] 以確認沒有錯誤與憑證一起回報。
  24. 按一下 [憑證路徑] 索引標籤,然後檢查「憑證狀態」是否設定為 [確定]
  25. 開啟「用戶端網路公用程式」,然後按一下以選取 [強制通訊協定加密] 核取方塊。

從用戶端測試加密

如果要從用戶端測試加密,請使用下列其中一種方法:
  • 使用 Query Analyzer 工具。
  • 使用任何可讓您修改連接字串的 ODBC 應用程式。

Query Analyzer

如果要用 SQL Query Analyzer 工具進行測試,請依照下列步驟執行:
  1. 使用「SQL Server 用戶端網路公用程式」。
  2. 按一下以選取 [強制通訊協定加密] 核取方塊。
  3. 使用 Query Analyzer 以連接到執行 SQL Server 2000 的伺服器。
  4. 使用 Microsoft 網路監視器或 Network Sniffer 監控通訊。

ODBC 應用程式

如果要用 ODBC 應用程式來測試,請依照下列步驟執行:
  1. 修改 ODBC 或 OLEDB 連接字串:

    ODBC
    Driver=SQLServer;Server=ServerNameHere;UID=UserIdHere;PWD=PasswordHere;Network=DBNETLIB.DLL;Encrypt=YES
    						
    OLEDB
    Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=dbNameHere;Data Source=ServerNameHere;Use Encryption for Data=True
  2. 使用 Microsoft 網路監視器或 Network Sniffer 連接到執行 SQL Server 2000 的電腦,並監控通訊。

?考

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
316898 How to enable SSL encryption for an instance of SQL Server by using Microsoft Management Console

屬性

文章編號: 276553 - 上次校閱: 2006年5月25日 - 版次: 10.2
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
關鍵字:?
kbhowtomaster KB276553
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com