Openldap

如果在 Linux 系統和 LDAP 伺服器之間發生使用者衝突,會發生什麼?

  • July 2, 2019

我有一個(開放)LDAP 伺服器在我的區域網路內的 Debian 系統上執行,多個系統執行 Linux Mint,配置為 LDAP 客戶端。

這是我的內容/etc/nsswitch.conf

passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap
gshadow:        files

hosts:          files mdns4_minimal [NOTFOUND=return] dns myhostname
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       ldap

我的問題是:如果 LDAP 伺服器引入使用者衝突(uid/使用者名)會發生什麼?可以利用它來獲得客戶端的 root 訪問權限嗎?LDAP 伺服器是這方面的單點故障嗎?這可以防止嗎?

我知道我問了 4 個問題,但它們都在同一個主題上:“使用者衝突”。

謝謝!

  • 與 uid 衝突:如果來自 LDAP 的使用者 A 和來自 LDAP 的使用者 B/etc/passwd具有相同的 UID,則兩者都可以訪問對方的文件 - 實際上他們是同一個使用者。
  • 與使用者名衝突:登錄時會查詢第一個數據庫。在您的範例中,LDAP 使用者無法登錄
  • Root 漏洞利用:如果您有 UID 衝突並且其中一個使用者擁有sudo權限或類似的東西,那麼另一個使用者也將擁有(正如我所說,他們實際上是同一個使用者)。
  • LDAP 不是這方面的失敗點——您甚至可以在 just.xml 中擁有多個具有相同 uid 的使用者名/etc/passwd。防止這種情況意味著在連接到 LDAP 之前確保沒有衝突,之後只將使用者添加到 LDAP,而不是本地文件(服務帳戶除外)。這是您的責任,在這種情況下,系統不會保護您。

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