Linux

帶有 kerberos 和 Active Directory 錯誤的 Apache SSO

  • August 25, 2016

我有這種情況:一個 Windows 2008 R2 域和一個帶有 Apache 的 linux 伺服器 (CentOs)。

我需要使用 kerberos 配置 SSO,以允許我們的內部客戶端使用 IE 或 Chrome 在網站上進行身份驗證而無需輸入密碼。

為了做到這一點,我遵循本教程https://wiki.gentoo.org/wiki/Kerberos_Windows_Interoperability

我的站點的 Apache conf 文件是:

AuthType Kerberos
AuthName "Kerberos Login"
KrbAuthRealms <MYREALM>
KrbServiceName HTTP/OTRS5@<MYREALM>
Krb5Keytab /etc/krb5.keytab
KrbMethodNegotiate On
KrbMethodK5Passwd Off
KrbSaveCredentials Off
KrbVerifyKDC Off
Require valid-user

現在,當我嘗試連接到該站點時,我收到了 401 程式碼。

在error.log上我發現:

kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
Acquiring creds for HTTP/OTRS5@<MYREALM>
Verifying client data using KRB5 GSS-API  
Client didn't delegate us their credential

在 journalctl 上:

GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (Server not found in Kerberos database)

我對此一無所知。

你能幫助我嗎?問候弗朗切斯科

我發現了這個問題。1) 我在 DC https://support.microsoft.com/en-us/kb/262177上啟用了 kerberos 登錄

2)再次檢查登錄後,我在安全日誌下發現此錯誤:KDC 在處理 Kerberos 身份驗證請求時遇到重複名稱。重複名稱是 HTTP/(DS_SERVICE_PRINCIPAL_NAME 類型)。這可能會導致身份驗證失敗或降級到 NTLM。為了防止這種情況發生,請刪除 Active Directory 中 HTTP/ 的重複條目。3)我使用此過程查找重複條目 https://support.microsoft.com/en-us/kb/321044

4)我使用 Active Directory 使用者和電腦刪除重複條目:a)打開 ADUAC b)查看->高級功能 c)打開具有重複條目的對象 d)打開屬性編輯器 e)選擇 servicePrincipalName 並刪除條目 f)再次禁用 kerberso 日誌記錄

再見弗朗切斯科

引用自:https://serverfault.com/questions/799095