SQL Server 2008與Kerberos身份驗證

iSQlServer發表於2008-11-25

Kerberos 是一種網路身份驗證協議,它提供了一種用於對網路上的客戶端和伺服器實體(安全主體)進行身份驗證的極為安全的方法。這些安全主體使用基於主金鑰和加密票證的身份驗證。

在 Kerberos 協議模式中,每個客戶端/伺服器連線開始時都會進行身份驗證。客戶端和伺服器輪流依次執行一系列操作,這些操作用於向連線每一端的一方確認另一端的一方是真實的。如果身份驗證成功,則會話設定完成,從而建立了一個安全的客戶端/伺服器會話。

下面列出了 Kerberos 身份驗證的其中一些主要優點:

相互驗證身份。客戶端可以驗證伺服器主體的身份,伺服器也可以驗證客戶端。儘管可以在兩個伺服器之間建立安全的網路連線,但本文件自始至終都將這兩個實體稱為“客戶端”和“伺服器”。

安全的身份驗證票證。僅使用加密票證,且密碼絕不會包含在票證中。

整合的身份驗證。使用者登入後,只要客戶端票證未過期,該使用者就無需再次登入便可訪問支援 Kerberos 身份驗證的任何服務。每個票證都具有一個生存期,此生存期由生成此票證的 Kerberos 領域的策略決定。

Kerberos 提供了一種先在實體之間相互驗證身份再建立安全網路連線的機制。Kerberos 利用金鑰發行中心 (KDC) 這個可信的第三方來幫助生成和安全分發身份驗證票證和對稱會話金鑰。KDC 以服務的形式執行在安全的伺服器上,併為其領域中所有的安全主體維護一個資料庫。對 Kerberos 而言,領域相當於一個 Windows 域。

注意:
主金鑰的安全由客戶端和伺服器負責,KDC 僅提供票證授予服務。
 


在 Windows 環境中,對 KDC 的操作由域控制器進行,並且操作時通常會用到 Active Directory。所有 Windows 域使用者實際上都是 Kerberos 主體,因而都可以使用 Kerberos 身份驗證。

 Kerberos 與 SQL Server
當 SQL Server 使用的是 Windows 身份驗證時,SQL Server 可通過 Windows 安全支援提供程式介面 (SSPI) 間接地支援 Kerberos。SSPI 允許應用程式使用計算機或網路中可用的各種安全模式,而無需更改與安全系統的介面。

SQL Server 允許 SSPI 協商要使用的身份驗證協議;如果無法使用 Kerberos,Windows 將回退到 Windows NT 質詢/響應 (NTLM) 身份驗證。

SQL Server 2008 支援通過以下協議進行 Kerberos 身份驗證:

TCP/IP

Named pipes

Shared memory

有關上述協議的詳細資訊,請參閱網路協議和 TDS 端點。

建議您在建立與 SQL Server 例項的連線時儘可能使用 Kerberos 身份驗證,這是最佳的做法。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-503155/,如需轉載,請註明出處,否則將追究法律責任。

相關文章