Security

針對 MIT Kerberos 5 對 Windows 7 進行身份驗證

  • October 12, 2016

我一直在絞盡腦汁試圖讓 Windows 7 針對 MIT Kerberos 5 Realm(在 Arch Linux 伺服器上執行)進行身份驗證。

我在伺服器(又名 dc1)上完成了以下操作:

  • 安裝並配置了 NTP 時間伺服器
  • 安裝和配置 DHCP 和 DNS(為域 tnet.loc 設置)
  • 從原始碼安裝 Kerberos
  • 設置數據庫
  • 配置keytab
  • 使用以下命令設置 ACL 文件:***@TNET.LOC ***
  • 為我的使用者和我的機器添加了一個策略:
addpol 使用者
addpol 管理員
addpol 主機
ank -策略使用者 tom@TNET.LOC
ank -policy 管理員 tom/admin@TNET.LOC
ank -policy hosts host/wdesk3.tnet.loc -pw MYPASSWORDHERE

然後我對 Windows 7 客戶端(又名 wdesk3)執行了以下操作:

  • 確保 ip 地址由我的 DHCP 伺服器提供並且 dc1.tnet.loc ping 正常
  • 將 Internet 時間伺服器設置為我的 linux 伺服器(又名 dc1.tnet.loc)
  • 使用 ksetup 配置領域:
ksetup / SetRealm TNET.LOC
ksetup /AddKdc dc1.tnet.loc
ksetip /SetComputerPassword MYPASSWORDHERE
ksetip /地圖使用者 * *
  • 經過一番Google搜尋後,我發現預設情況下 Windows 7 禁用了 DES 加密,我打開了策略以支持 Kerberos 上的 DES 加密
  • 然後我重新啟動了windows客戶端

但是,在做了所有這些之後,我仍然無法從我的 Windows 客戶端登錄。:(

查看伺服器上的日誌;請求看起來很好,一切正常,我認為問題是 Windows 客戶端無法辨識來自 KDC 的響應,並且出現一般登錄錯誤:“登錄失敗:使用者名或密碼無效”。

伺服器的日誌文件如下所示(我對此進行了跟踪,所以我知道 Windows 機器嘗試登錄時會發生這種情況):螢幕截圖:http ://dl.dropbox.com/u/577250/email/login_attempt .png

如果我在登錄視窗中提供了一個無效的領域,我會收到一條完全不同的錯誤消息,所以我不認為這是從客戶端到伺服器的連接問題?但是我在 Windows 機器上找不到任何錯誤日誌?(有人知道這些在哪裡嗎?)

如果我嘗試:runas /netonly /user:tom@TNET.LOC cmd.exe一切正常(雖然我沒有在伺服器日誌中看到任何內容,所以我想知道它是否沒有為此接觸伺服器??) ,但是如果我執行:runas /user:tom@TNET.LOC cmd.exe我會得到相同的身份驗證錯誤。

那裡有任何 Kerberos 大師可以給我一些關於下一步嘗試的想法嗎?請問漂亮嗎?

查看pGina。它沒有 Kerberos 外掛,因此您必須編寫一個。或者,您可以使用 OpenLDAP 作為代理並使用 pGina LDAP 外掛。

顯然,如果您有 Windows 客戶端,則絕對需要 AD,因為 Windows 客戶端需要對 AD 附加的標準 Kerberos 票證進行小擴展。

MIT Kerberos 伺服器目前無法自行驗證 Windows 客戶端。

(在 MIT Kerberos 新聞組上檢索到的資訊)

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