Skip to content

bug(freeipa-identity): 撤銷 SSH key 後,enrolled 主機的 SSSD 快取仍讓該 key 登入一段不定的時間 #114

Open

Description

@kjelly

問題與優先級

P2(權限撤銷的生效時間)。identity reconcile 只改 FreeIPA 上的資料;已 enroll 的主機經由 SSSD 快取讀取 SSH key、群組等身分資料,reconcile 不會讓這些快取失效。所以 roster 撤銷一把 key 之後,這把 key 在主機上還能登入,直到該主機的 SSSD 更新該使用者的快取為止。預設的 entry_cache_timeout 是 5400 秒,FreeIPA 安裝產生的 sssd.conf 沒有覆寫。新增 key 也有同樣的延遲。

AGENTS.md §5.9 第 5 點:要清快取才會正確的結果應該當成 bug 追蹤,不該只寫成 workaround。

實測證據

2026-10-15,拋棄式 vm-target(AlmaLinux 9.8、FreeIPA 4.13.4;FreeIPA server 本身也是 enrolled host,sshd 經 sss_ssh_authorizedkeys 取 key)。使用 #113 的修正(candidate cee80f3),使用者 pwk-a 已自行改過密碼,從控制端以該 key 執行 ssh pwk-a@<server> id -un:

步驟 FreeIPA sss_ssh_authorizedkeys pwk-a 用該 key 登入
roster 撤銷 key,apply 剛結束 0 把 1 行 成功
60 秒後 0 把 0 行 被拒
roster 加回 key,apply 剛結束 1 把 0 行 被拒
再一次加回 key,等了 980 秒 1 把 0 行 被拒
sss_cache -u pwk-a 之後 1 把 1 行 成功

觀察到的延遲從 1 分鐘內到超過 16 分鐘都有,不可預期;sss_cache -u <user> 會立即生效。

建議與驗收條件

  • 決定撤銷的時間保證:只承諾「FreeIPA 已撤銷」並寫明主機端延遲上限;或在撤銷類變更後對受影響的 enrolled hosts 做有界的快取失效(例如 sss_cache -u <user>),逐台記錄結果,失敗時回報 partial(計畫文件 Phase 3 已列出這個方向)。
  • 評估是否應由 freeipa-client 設定較短的 entry_cache_timeout,並說明對 KDC/LDAP 負載的影響。
  • 實測:撤銷後在約定時間內,從 enrolled client 用該 key 登入被拒(AGENTS.md §5.14 第 1 點)。

相關:#113(FreeIPA 端的撤銷)。

Activity

  1. added
    P2真實缺陷但有限縮條件或替代做法
    bugSomething isn't working
    security秘密外洩、權限、提權路徑、密碼處理
    on Oct 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2真實缺陷但有限縮條件或替代做法area:freeipa元件範圍:freeipabugSomething isn't workingsecurity秘密外洩、權限、提權路徑、密碼處理

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions