Authentication

如何禁止使用 LDAP 根帳戶

  • October 15, 2014

我負責我大學的幾台伺服器。所有這些機器都配置為與我部門的 LDAP 伺服器通信,以允許集中使用者登錄。在此 LDAP 伺服器上,有一個使用者名為root

# getent passwd | grep root
root:x:0:0:root:/root:/bin/bash
root:x:0:0:Netbios Domain Administrator:/home/root:/bin/false

root最近,我在我負責的一台伺服器上遇到了帳戶問題:我的 SSH 連接嘗試已成功通過本地root使用者身份驗證,但主目錄是從 LDAP 中獲取的/home/root. 此外,我發現可以root在任何伺服器上使用 LDAP 憑據以 root 身份進行身份驗證,即,如果針對本地的身份驗證root失敗,root則嘗試使用 LDAP,並且在密碼正確的情況下,使用者以超級使用者身份登錄。

我認為這不是很安全,root應該消除兩個帳戶的歧義。但是,根據我們的 IT 部門的說法,LDAProot是必要的。

如何root從 LDAP 中過濾掉帳戶以禁止對其進行身份驗證?我正在使用pam_ldap.so和一些 ldap 指令/etc/nsswitch.conf

有很多方法,這裡有幾個簡單的:

  • /etc/ssh/sshd_config改為no(這通常是PermitRootLogin個好主意,然後依靠su/sudo進行管理)。這當然只影響 SSH。
  • 在各種 PAM 配置文件中使用pam_listfile模組來明確允許或拒絕某些帳戶(需要為每個服務完成)
  • 在各種 PAM 配置文件中將pam_ldap模組配置pam_min_uid為 1(或更高),以便 root 無法登錄(每個服務都需要這樣做)
  • 修改 PAM LDAP 搜尋過濾器 ( pam_filter) 以排除使用者(例如pam_filter (uidNumber>=1),或者您可以修改基礎/範圍

最後兩個中的任何一個都可能最適合您。您可能還需要對本地 PAM 配置進行一些調整,以便本地 root 帳戶pam_unix 在失敗時可以成功pam_ldap(例如排序和必需/必要/足夠)。

引用自:https://unix.stackexchange.com/questions/162204