LAMP 伺服器 kerberos 配置,用於針對 dmz 中的唯讀 Windows KDC 進行身份驗證

LAMP 伺服器 kerberos 配置,用於針對 dmz 中的唯讀 Windows KDC 進行身份驗證

背景:

我們有多個AD網路(網域),透過VPN連接,並建立了AD信任關係。我們有一個外部託管的 Web 伺服器並已配置無縫認證對於受信任網路內的任何使用者。這可行,但網路團隊認為,不由我們 IT 部門管理的外部 Web 伺服器的 VPN 存在太大的安全風險。

我沒有內部網路的管理員存取權限,但對網路伺服器有完全的管理員存取權限。

想要:

透過使用 DMZ 中的唯讀 DC 來處理所有驗證請求,無需 VPN 即可建立相同的無縫驗證。

細節:

  1. 我們有多個相互信任的 AD 網域,並透過 VPN 隧道連接。
  2. 我們在連接到主 AD 網路的 DMZ 中有一個唯讀 DC
  3. 外部 LAMP Web 伺服器 - 我們使用單一實例來測試新配置

完成任務:

  1. 將DMZ DC加入hosts檔案中
  2. 更新了 krb5.conf 檔案並將單一領域和網域 (domain1) 與 DMZ DC 關聯
  3. 使用 kinit 在命令列上測試身份驗證(有效)
  4. 使用附加領域和域領域映射更新了 krb5.conf 文件,其中所有域都指向 DMZ DC
  5. 使用來自其他領域之一的使用者在命令列上測試身份驗證,但失敗。

目前配置範例

/etc/hosts/ :(出於保密原因,我已將實際 IP 替換為 x 和真實域名)

xxx.xxx.xxx.xxx  dc01.domain1.com, dc01.domain2.com, dc01.domain3.com, dc01.domain4.com

/etc/krb5.conf:

[libdefaults]
 default_realm = REALM1.COM
 dns_lookup_realm = true
 dns_lookup_kdc = true
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 clockskew = 12000
 kdc_timesync = 1

[realms]
 REALM1.COM = {
  kdc = dc01.domain1.com
  admin_server= dc01.domain1.com
 }
 REALM2.COM = {
  kdc = dc01.domain2.com
  admin_server= dc01.domain2.com
 }
 REALM3.COM = {
  kdc = dc01.domain3.com
  admin_server= dc01.domain3.com
 }
 REALM4.COM = {
  kdc = dc01.domain4.com
  admin_server= dc01.domain4.com
 }

問題:

DMZ 不處理受信任網域的驗證請求。我不知道這是否是 DC 配置或 kerberos 配置的結果,因此呼籲協助。

我花了幾個小時來解決有關伺服器故障的其他問題,谷歌搜尋和閱讀教程,但似乎沒有什麼符合我們的場景。

我們可以做我們正在嘗試的事情嗎?將 DMZ 設定為其他領域的 kdc 的代理是一個簡單的情況嗎?


為了回應 Nathan C,安全日誌顯示了對 kerberos 服務票證的請求,如下所示:

審核成功 14/05/2014 11:05 Microsoft-Windows-Security-Auditing 4769 Kerberos 服務票證操作 「請求了 Kerberos 服務票證。

帳戶資訊: 帳戶名稱: [電子郵件受保護] 帳號網域:DOMAIN1.COM 登入 GUID:{C93D9AAC-6968-6C00-83EF-2C2D54E2363B}

服務資訊: 服務名稱:RODC01$ 服務 ID:DOMAIN1\RODC01$

網路資訊: 用戶端位址:::1 用戶端連接埠:0

附加資訊:票證選項:0x40810000 票證加密類型:0x17 故障碼:0x0 傳輸的服務:-

每次要求存取電腦或 Windows 服務等資源時都會產生此事件。服務名稱指示請求存取的資源。

透過比較每個事件中的登入 GUID 字段,可以將此事件與 Windows 登入事件相關聯。登入事件發生在被存取的電腦上,該電腦通常與發出服務票證的網域控制站是不同的電腦。

RFC 4120 中定義了票證選項、加密類型和故障代碼。

不幸的是,發送給我的日誌摘錄與我嘗試身份驗證的時間不符,因此我不知道該日誌條目實際上與什麼相關。我已要求另一份摘錄。


帳戶資訊:

帳號名稱:jameel.rahmaa

提供的領域名稱:DOMAIN1.COM

使用者 ID:NULL SID

服務資訊:

服務名稱:krbtgt/DOMAIN1.COM

服務 ID:NULL SID

網路資訊:

客戶端位址:[WEB IP 隱藏]

客戶端連接埠:34567

附加資訊:

票證選項:0x40800000

結果代碼:0x6

票證加密類型:0xffffffff

預認證類型:-

證書資訊:

證書頒發者名稱:

證書序號:

證書指紋:

僅當證書用於預先身份驗證時才提供證書資訊。

RFC 4120 中定義了預先驗證類型、票據選項、加密類型和結果代碼。

不知道為什麼,但我名字的最後一個字符被剪掉了。

答案1

0x6. KDC_ERR_C_PRINCIPAL_UNKNOWN就在那裡……調查一下。聽起來您的 SPN 設定不正確,或者它正在嘗試使用甚至不存在的帳戶。 Wireshark 是另一個很好的工具,您可以在 Web 伺服器上執行以查看發出請求時從 DC 獲取的內容。

相關內容