Kerberos 驗證

Tenable Identity Exposure 會使用您提供的憑證,對已設定的網域控制器進行驗證。這些 DC 接受 NTLM 或 Kerberos 驗證。NTLM 是具有安全性問題記錄的舊版通訊協定,而且 Microsoft 和所有網路安全標準現在都不鼓勵使用。另一方面,Kerberos 是更健全的通訊協定,您應該予以考慮。Windows 一律會先嘗試 Kerberos,僅在 Kerberos 無法使用時才使用 NTLM。

Tenable Identity Exposure 與 NTLM 和 Kerberos 相容,但有少數例外狀況。Kerberos 符合所有必要條件時,Tenable Identity Exposure 會將其列為優先通訊協定。本節將介紹相關要求,並說明如何設定 Tenable Identity Exposure 以確保 Kerberos 能順利使用。

使用 NTLM 而非 Kerberos 也是 SYSVOL 強化干擾 Tenable Identity Exposure 的原因。如需詳細資訊,請參閱SYSVOL 強化干擾 Tenable Identity Exposure

Tenable Identity Exposure 部署模式的相容性

部署模式 Kerberos 支援
內部部署
SaaS-TLS (舊版)
採用 Tenable Identity Exposure 的安全轉送 的 SaaS
採用 VPN 的 SaaS 否 : 您必須將安裝切換至 Tenable Identity Exposure 的安全轉送 部署模式。

技術要求

  • Tenable Identity Exposure 中設定的 AD 服務帳戶必須具有 UserPrincipalName (UPN)。如需指示,請參閱服務帳戶和網域設定

  • DNS 設定和 DNS 伺服器必須允許解析所有必要的 DNS 項目:您必須將目錄接聽程式或轉送電腦設定為使用知道網域控制器的 DNS 伺服器。如果目錄接聽程式或轉送電腦已加入網域 (Tenable Identity Exposure 不建議這麼做),您應該已經符合此要求。最簡單的方法是使用網域控制器本身作為優先 DNS 伺服器,這是因為它通常也會執行 DNS。例如:

    注意:如果目錄接聽程式或轉送電腦已連線至數個網域,且可能在數個樹系中,則請確認設定的 DNS 伺服器可解析所有網域所需的所有 DNS 項目。否則,您需要設定數個目錄接聽程式或轉送電腦。
  • Kerberos「伺服器」(KDC) 的連線能力:這需要透過連接埠 TCP/88 從目錄接聽程式或轉送電腦連線至網域控制器。如果目錄接聽程式或轉送電腦已加入網域 (Tenable 不建議這麼做),您應該已經符合此要求。每個已設定的 Tenable Identity Exposure 樹系都要求 Kerberos 網路連線至其包含服務帳戶的個別網域中的至少一個網域控制器,以及每個連線網域中的至少一個網域控制器。

    如需有關要求的詳細資訊,請參閱 網路流量矩陣

    注意:目錄接聽程式或轉送電腦不需加入網域即可使用 Kerberos。

服務帳戶和網域設定

如要將 Tenable Identity Exposure 中的 AD 服務帳戶和 AD 網域設定為使用 Kerberos:

  1. 使用使用者主體名稱 (UPN) 格式登入。在此範例中,UPN 屬性為「[email protected]」。

    1. 在包含服務帳戶的樹系網域中找到 UPN 屬性,如下所示:

    注意:UPN 看起來像電子郵件地址,甚至經常 (但不總是) 與使用者的電子郵件地址相同。
    1. Tenable Identity Exposure 的樹系設定區段中,設定此 UPN 而非短「username」格式或 NetBIOS「domain\username」格式,如下所示:

  1. 使用完整網域名稱 (FQDN) 在 Tenable Identity Exposure 的網域設定中,設定主要網域控制器 (PDC) 的 FQDN,而非其 IP。

疑難排解

Kerberos 需要經過數個設定步驟才能正常運作。否則,Windows 會默默改回 NTLM 驗證,進而使 Tenable Identity Exposure 也是如此。

DNS

確保目錄接聽程式或轉送電腦上使用的 DNS 伺服器可解析提供的 PDC FQDN,例如:

Kerberos

如要驗證 Kerberos 可否與您在目錄接聽程式或轉送電腦上執行的命令搭配使用:

  1. 驗證 Tenable Identity Exposure 中設定的 AD 服務帳戶可以取得 TGT:

  1. 在命令列或 PowerShell 中,執行「runas /netonly /user:<UPN> cmd」,然後輸入密碼。輸入或貼上密碼時請格外小心,因為有「/netonly」標記,無法進行驗證。

  2. 在第二個命令提示下,執行「klist get krbtgt」以要求 TGT 工單。

    以下為成功結果範例:

    可能的錯誤代碼如下:

    • 0xc0000064:「使用者以拼字錯誤或錯誤的使用者帳戶登入」-> 檢查登入 (即UPN 中「@」之前的部分)。

    • 0xc000006a:「使用者以拼字錯誤或錯誤的密碼登入」-> 檢查密碼。

    • 0xc000005e:「目前沒有任何登入伺服器可用來處理登入要求。」-> 檢查 DNS 解析是否運作正常,以及伺服器是否可聯絡傳回的 KDC,等等。

    • 其他錯誤碼:請參閱與 4625 事件相關的 Microsoft 說明文件

  1. 驗證 Tenable Identity Exposure 中設定的網域控制器是否可取得服務工單。在相同的第二個命令提示中,執行「klist get host/<DC_FQDN>」(取代「<DC_FQDN>」)。

    以下為成功結果範例: