如何禁止使用 LDAP root 帳戶

如何禁止使用 LDAP root 帳戶

我負責我大學的幾台伺服器。所有這些機器都配置為與我部門的 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.此外,我發現可以在任何伺服器上使用 LDAP 憑證以 rootroot身份進行驗證,即,如果針對本機的驗證root失敗,則會嘗試 LDAP root,並且如果密碼正確,則使用者將以超級使用者身分登入。

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

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

答案1

方法有很多,以下是一些簡單的方法:

  • 改為/etc/ssh/sshd_configno 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(例如排序和必要/必需/充足)。

相關內容