Active-Directory

使用 SSH 跳轉主機算作登錄嗎?

  • October 5, 2021

我已經向 AD 人員請求了一個服務帳戶,它可以讓我使用特定的伺服器作為 SSH 跳轉主機(使用 ProxyJump),當然我已經為此設置了一個 SSH 私鑰。jumphost 本身正在執行 SSSD 以針對 AD 對使用者進行身份驗證。

但是,我被警告過,如果服務帳戶上的 AD LastLoginTimeStamp 屬性太舊,該帳戶將被清除。所以問題是,無論 SSSD 代表 SSHD 為僅隧道登錄(無使用者命令)啟動的 pam 模組所做的任何事情都會實際更新該時間戳嗎?使用 LDAP 查找使用者的組可能是不夠的,但什麼是?我可以在 Linux 端進行研究以查看 SSSD 的作用,但我無法輕鬆訪問 AD 端以檢查時間戳是否更新。

理論上,AD 屬性lastLogonTimestamp在以下情況之一之後更新:

  • 互動式或網路 NTLM 登錄
  • LDAP 簡單綁定

所以這將取決於服務使用的機制(對不起,我沒有使用 JumpHost 或 SSSD 的經驗)。

以我個人的經驗,一些通過 LDAP 與 AD 集成的服務成功地使用了他們的服務帳戶,但屬性值沒有更新。我沒有機會弄清楚為什麼會發生這種情況,但由於每項服務都是不同的故事,我認為唯一安全的選擇是親自嘗試看看。該屬性應在首次登錄時立即更新。之後,該值最多可以延遲 14 天。

請查看屬性技術規格以獲取更多資訊。

在故障排除時要確保的幾件事:

  • 當屬性lastLogonTimestamp在應該更新的時候沒有更新時,AD 有錯誤的歷史。我記得的最後一個是 3 年前修補的 ( KB4457127 )
  • AD 屬性**msDS-LogonTimeSyncInterval必須非零。否則不會更新lastLogonTimestamp**

希望這可以幫助

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