標籤:sql server 2012 database 安全 dba 擴充保護
原文出處:http://blog.csdn.net/dba_huangzj/article/details/38368737,專題目錄:http://blog.csdn.net/dba_huangzj/article/details/37906349
未經作者同意,任何人不得以“原創”形式發布,也不得已用於商業用途,本人不負責任何法律責任。
前一篇:http://blog.csdn.net/dba_huangzj/article/details/38332605
前言:
在用戶端和伺服器互訪過程中,授權是會一直保持,通過驗證,可以接受或拒絕串連。因為身分識別驗證中包含了地址、密碼等資訊,如果攻擊者攔截了這方面的資訊,就會出現授權中繼攻擊(authentication relay attack),有兩種方式可以實現這種攻擊,第一種稱為:引誘攻擊(luring attack),用戶端被引誘到攻擊者設定的伺服器中。第二種稱為:欺詐攻擊(spoofing attack),也叫中間人攻擊,攻擊者通過DNS重新導向、IP路由等技術攔截用戶端和SQL Server之間的資訊。
在2009年,微軟發布安全報告(Security Advisory 973811),提供了兩個機制:service binding(服務綁定) 和 channel binding(通道綁定)。Service-Binding 要求用戶端提供已簽字的SPN到授權資訊中。如果攻擊者嘗試使用從連結資訊中擷取的認證或者沒有提供已簽名的SPN,將不能串連到SQL Server,這個功能對效能影響很少。
Channel binding提供了更高的安全性,但是會有一定的效能影響。通過使用安全傳輸層協議(Transport Layer Security (TLS)),繼承自SSL,可以確保用戶端的授權,這種授權使用Channel Binding Token (CBT) ,並且加密。
實現:
1、開啟SQL Server組態管理員,在SQL Server網路設定節點,右鍵執行個體對應的協議,開啟【屬性】視窗並選中【進階】標籤:
2、如果用戶端支援【擴充保護】,選擇中的:【必須】,否則,選擇【允許】:
3、如果SQL Server服務屬於某些SPN,把這個名字添加到【接受的NTLM SPN】中,以分號分開:
4、如果想啟用Channel Binding Protection,並且強制所有串連加密,可以到【標誌】標籤中,把【強制加密】設為【是】,如果加密不需要強制,僅Service Binding會開啟。
原理:
當在SQL Server組態管理員中啟用【擴充保護】,可以選擇對支援這種功能的用戶端啟用,也可以強制所有串連使用,Win 7和Windows Server 2008 R2已經內建了【擴充保護】,要為其他用戶端啟用,需要安裝一個補丁:http://support.microsoft.com/kb/968389 。
更多:
更詳細的資訊可以訪問:http://msdn.microsoft.com/zh-cn/library/ff487261.aspx 和http://blogs.technet.com/b/srd/archive/2009/12/08/extended-protection-for-authentication.aspx