對客戶端到SQL Server服務器之間的連接進行加密,一般來說有兩種方法,一種是使用IPSec策略進行加密,一種是使用證書加密。對于前者來說,其工作在網絡層,無論應用層如何封裝,都可以使用IPSec在網絡層對其加密,其適用性很廣泛,其不足之處在于要求服務器和客戶端雙方都要進行加密配置。才可以加密傳輸數據。在服務器端執行“mmc”命令,在控制臺上點擊菜單“文件”、“添加/刪除管理單元”項,在打開窗口左側列表中選擇“IP安全策略管理”和“IP安全監視器”項,點擊“添加”按鈕,將其添加進來。

圖1 創建IPSec安全策略
在控制臺左側選擇“IP安全策略”項,在其右鍵菜單上點擊“創建IP安全策略”項,在向導界面中輸入策略名稱,點擊“完成”按鈕,創建該規則。在自動打開的規則屬性窗口中點擊“添加”按鈕,在向導界面中選擇“此規則不指定隧道”項,點擊“下一步”按鈕,選擇“所有網絡連接”項。在IP篩選器列表窗口中點擊“添加”按鈕,輸入篩選器名稱,點擊“添加”按鈕,在彈出窗口中輸入描述信息,在下一步的IP流量源窗口選擇“任何IP地址”項,在“IP流量目標”窗口中選擇“我的IP地址”項,之后選擇“TCP”協議,在IP協議端口窗口(如圖1)中選擇“從任意端口”項和“到此端口”項,輸入默認的1433端口。具體的端口可能會產生變化,需要在SQL Server配置管理器左側選擇“SQL Server網絡配置”、“具體的實例名”項,在右側的“TCP/IP”項的屬性窗口中查看實際的端口號。點擊“完成”按鈕,在IP篩選器列表中選擇該篩選器,點擊“確定”,在篩選器操作窗口中點擊“添加”按鈕,輸入名稱,在下一步窗口中選擇“協商安全”項,在身份驗證方法窗口中提供了多種驗證方式,這里選擇“使用此字符串保護密鑰交換”項,輸入密碼。點擊“完成”按鈕,創建所需的IPSec規則。在該規則的右鍵菜單上點擊“分配”項激活該規則。在客戶端執行同樣操作來創建和激活對應的IPSec策略,所不同的是在IP流量源窗口中選擇“我的IP地址”項,在IP流量目標窗口中選擇“一個特定的IP地址或子網”項,輸入SQL Server服務器的IP地址。注意,雙方身份驗證方式必須一致,密碼必須相同。如圖2所示。
這樣,當客戶端連接SQL Server服務器時,就處于加密狀態,當然,因為雙方存在協商的過程,所以連接登錄時有遲緩。不過,在實際使用時,因為IPSec策略需要在服務器和客戶端都需要配置策略參數,操作起來較繁瑣,所以一般使用證書實現SSL加密連接的。當然,這需要證書服務的支持。例如,SQL Server服務器位于域環境中,在DC上配置好Active Directory證書服務,在SQL Server服務器上執行“mmc”命令,點擊菜單“文件”、“添加/刪除管理單元”項,在列表中選擇“證書”項,點擊“添加”按鈕,選擇“計算機賬戶”項完成添加。

圖2 查看SQL Server連接端口

圖3 啟用SQL Server加密連接
在控制臺左側選擇“證書”、“個人”項,在其右鍵菜單上點擊“所有任務”、“申請新證書”項,在向導界面中選擇“Active Directory注冊策略”項,點擊“下一步”按鈕,選擇“計算機”項,點擊“注冊”完成證書申請。如果購買了第三方證書,只需點擊“所有任務”、“導入”項導入即可。之后運行SQL Server配置管理器,在窗口左側選擇“SQL Server網絡配置”、“MSSQLSERVER的協議”項,在其右鍵菜單上點擊“屬性”項,在彈出窗口中的“標志”面板中的“強制加密”欄中選擇“是”項,在“證書”面板中的選擇上述申請的證書,點擊確定。之后需要重啟SQL Server服務。當客戶端進行連接時,在登錄窗口中點擊“選項”按鈕,在“連接屬性”面板(如圖3)中選擇“加密連接”項。在“登錄”面板中的“服務器名稱”欄中必須輸入與證書綁定的域名,而非SQL Server的IP地址。這樣,在客戶端和服務器之間就可以加密傳輸數據了。