對客戶端到SQL Server服務(wù)器之間的連接進(jìn)行加密,一般來說有兩種方法,一種是使用IPSec策略進(jìn)行加密,一種是使用證書加密。對于前者來說,其工作在網(wǎng)絡(luò)層,無論應(yīng)用層如何封裝,都可以使用IPSec在網(wǎng)絡(luò)層對其加密,其適用性很廣泛,其不足之處在于要求服務(wù)器和客戶端雙方都要進(jìn)行加密配置。才可以加密傳輸數(shù)據(jù)。在服務(wù)器端執(zhí)行“mmc”命令,在控制臺上點(diǎn)擊菜單“文件”、“添加/刪除管理單元”項,在打開窗口左側(cè)列表中選擇“IP安全策略管理”和“IP安全監(jiān)視器”項,點(diǎn)擊“添加”按鈕,將其添加進(jìn)來。
圖1 創(chuàng)建IPSec安全策略
在控制臺左側(cè)選擇“IP安全策略”項,在其右鍵菜單上點(diǎn)擊“創(chuàng)建IP安全策略”項,在向?qū)Ы缑嬷休斎氩呗悦Q,點(diǎn)擊“完成”按鈕,創(chuàng)建該規(guī)則。在自動打開的規(guī)則屬性窗口中點(diǎn)擊“添加”按鈕,在向?qū)Ы缑嬷羞x擇“此規(guī)則不指定隧道”項,點(diǎn)擊“下一步”按鈕,選擇“所有網(wǎng)絡(luò)連接”項。在IP篩選器列表窗口中點(diǎn)擊“添加”按鈕,輸入篩選器名稱,點(diǎn)擊“添加”按鈕,在彈出窗口中輸入描述信息,在下一步的IP流量源窗口選擇“任何IP地址”項,在“IP流量目標(biāo)”窗口中選擇“我的IP地址”項,之后選擇“TCP”協(xié)議,在IP協(xié)議端口窗口(如圖1)中選擇“從任意端口”項和“到此端口”項,輸入默認(rèn)的1433端口。具體的端口可能會產(chǎn)生變化,需要在SQL Server配置管理器左側(cè)選擇“SQL Server網(wǎng)絡(luò)配置”、“具體的實例名”項,在右側(cè)的“TCP/IP”項的屬性窗口中查看實際的端口號。點(diǎn)擊“完成”按鈕,在IP篩選器列表中選擇該篩選器,點(diǎn)擊“確定”,在篩選器操作窗口中點(diǎn)擊“添加”按鈕,輸入名稱,在下一步窗口中選擇“協(xié)商安全”項,在身份驗證方法窗口中提供了多種驗證方式,這里選擇“使用此字符串保護(hù)密鑰交換”項,輸入密碼。點(diǎn)擊“完成”按鈕,創(chuàng)建所需的IPSec規(guī)則。在該規(guī)則的右鍵菜單上點(diǎn)擊“分配”項激活該規(guī)則。在客戶端執(zhí)行同樣操作來創(chuàng)建和激活對應(yīng)的IPSec策略,所不同的是在IP流量源窗口中選擇“我的IP地址”項,在IP流量目標(biāo)窗口中選擇“一個特定的IP地址或子網(wǎng)”項,輸入SQL Server服務(wù)器的IP地址。注意,雙方身份驗證方式必須一致,密碼必須相同。如圖2所示。
這樣,當(dāng)客戶端連接SQL Server服務(wù)器時,就處于加密狀態(tài),當(dāng)然,因為雙方存在協(xié)商的過程,所以連接登錄時有遲緩。不過,在實際使用時,因為IPSec策略需要在服務(wù)器和客戶端都需要配置策略參數(shù),操作起來較繁瑣,所以一般使用證書實現(xiàn)SSL加密連接的。當(dāng)然,這需要證書服務(wù)的支持。例如,SQL Server服務(wù)器位于域環(huán)境中,在DC上配置好Active Directory證書服務(wù),在SQL Server服務(wù)器上執(zhí)行“mmc”命令,點(diǎn)擊菜單“文件”、“添加/刪除管理單元”項,在列表中選擇“證書”項,點(diǎn)擊“添加”按鈕,選擇“計算機(jī)賬戶”項完成添加。
圖2 查看SQL Server連接端口
圖3 啟用SQL Server加密連接
在控制臺左側(cè)選擇“證書”、“個人”項,在其右鍵菜單上點(diǎn)擊“所有任務(wù)”、“申請新證書”項,在向?qū)Ы缑嬷羞x擇“Active Directory注冊策略”項,點(diǎn)擊“下一步”按鈕,選擇“計算機(jī)”項,點(diǎn)擊“注冊”完成證書申請。如果購買了第三方證書,只需點(diǎn)擊“所有任務(wù)”、“導(dǎo)入”項導(dǎo)入即可。之后運(yùn)行SQL Server配置管理器,在窗口左側(cè)選擇“SQL Server網(wǎng)絡(luò)配置”、“MSSQLSERVER的協(xié)議”項,在其右鍵菜單上點(diǎn)擊“屬性”項,在彈出窗口中的“標(biāo)志”面板中的“強(qiáng)制加密”欄中選擇“是”項,在“證書”面板中的選擇上述申請的證書,點(diǎn)擊確定。之后需要重啟SQL Server服務(wù)。當(dāng)客戶端進(jìn)行連接時,在登錄窗口中點(diǎn)擊“選項”按鈕,在“連接屬性”面板(如圖3)中選擇“加密連接”項。在“登錄”面板中的“服務(wù)器名稱”欄中必須輸入與證書綁定的域名,而非SQL Server的IP地址。這樣,在客戶端和服務(wù)器之間就可以加密傳輸數(shù)據(jù)了。