Sql-Server-2008-R2

SPN 說明

  • January 24, 2020

我們收到以下消息:

“SQL Server 無法使用 Kerberos 進行身份驗證,因為服務主體名稱 (SPN) 失去、放錯位置或重複。”

我找到了一篇關於如何修復它的文章。但我仍然有以下問題:

  1. 目前我們的身份驗證方案是 NTLM。NTLM 與 Kerberos 有何不同?
  2. 這個 SPN 到底是什麼?我很擔心我的 PRODUCTION 伺服器。
  3. 哪個更安全並被 Microsoft 推薦:“NTLM”或“Kerberos”?
  4. 在什麼情況下使用?
  5. 如果我不修復此錯誤,我將面臨哪些問題?

NTLM是一個挑戰/響應類型的系統,雖然它具有合理的安全級別,但它可能容易受到攻擊和憑據盜竊。事實上,NTLM V1 是一種已知的攻擊媒介,被認為是不安全的,應該在您的系統上禁用。NTLM V2 更安全,是目前標準。

Kerberos處理各方之間的相互身份驗證,確保令牌被加密和安全。我建議閱讀Kerberos 基本身份驗證概念以掌握它。讀起來有些枯燥,但會讓你有更深的理解。

在這兩者中,Kerberos 更安全,並且是 Windows 與 SQL Server 連接的推薦協議。

要解決您的 SPN 問題,請在伺服器和服務帳戶上使用 SETSPN-L 查找重複的票證,並查找重複的票證。刪除這些,然後調整 SQL Server 服務帳戶以允許它自行註冊其服務主體名稱。這將允許它自己處理事情,這使生活變得更加輕鬆。

您不會遇到任何使用 SQL 的實際問題(除了您可能使用連結伺服器的時候,或者票證無法傳遞到第二台機器的其他雙跳類型場景),因此它可能不是關鍵修復給你。只有您的安全團隊才能真正定義這一點。

引用自:https://dba.stackexchange.com/questions/150490