
這是我在論壇上的第一個問題,所以如果我錯過了有關我的問題的重要信息,請不要生氣。
我使用 Debian 8,並根據 SSSD 加入了 Active Directory 網域(Windows server 2012)本教程。
一切正常,我可以使用 AD 帳戶登入。此外,我建立了一個 Active Directory 群組來收集允許連接到該伺服器的使用者。
我允許該組使用以下命令:
realm permit -g [email protected]
到目前為止,一切正常,當我第一次使用 Active Directory 帳戶連接 Linux 伺服器時,/home/domain/user
就會建立該檔案。
但是,當我想要撤銷一個使用者連接到伺服器的權限時(因此我從群組中刪除該帳戶)。它的資料夾/home/domain/user
仍然保留在伺服器上,而且 root 帳戶(或具有 sudo 權限的帳戶)可以連接到不再具有權限的使用者(帶有警告訊息Access Denied (ignored)
)。
最後,唯一不允許的方法su <deleted user>
是刪除 AD 帳戶(但我不能每次撤銷權限時都刪除 AD 帳戶)。
在我看來,這是一個可怕的安全問題。當我撤銷AD帳號權限時,是否可以明確刪除Linux伺服器上的使用者(及其資料夾)?
您能分享一下有關 AD 和 SSSD 之間身份驗證的資訊嗎?
請參閱下面的設定檔:
內容/etc/nsswitch.conf
:
passwd: compat sss
group: compat sss
shadow: compat sss
gshadow: files
hosts: files dns
networks: files
protocols: db files
services: db files sss
ethers: db files
rpc: db files
netgroup: nis sss
sudoers: files sss
內容/etc/sssd/sssd.conf
:
[sssd]
domains = mydomain.com
config_file_version = 2
services = nss, pam
[domain/mydomain.com]
ad_domain = mydomain.com
krb5_realm = MYREALM.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%d/%u
access_provider = simple
simple_allow_groups = MyGroupAllowed
在使用 SSSD 之前,我嘗試使用 Winbind,但遇到了相同的問題。
感謝您的回答。
答案1
在我看來,這是一個可怕的安全問題。
sudo
那麼,您認為用戶可以連接到 Linux 伺服器上的帳戶這一事實是一個安全問題嗎?使用者使用該帳戶執行的所有操作sudo
都會相應記錄,包括最初執行的使用者sudo
。
您可以做的是讓守護程式輪詢 LDAP 並同步帳戶。它甚至不必安裝在每個 Linux 機器上,只要它可以連接到這些機器。
編輯:前進的另一種方法是確保刪除 Kerberos 快取;用於kdestroy
。/etc/bash.bash_logout
這樣,用戶可以做的唯一「傷害」是本地的,而且他無論如何都可以,因為 root 可以在本地做任何事情。
注意:這也與 Windows 非常相似,因為本機管理員可以輕鬆成為本機系統,且本機系統可以執行本機系統上的所有操作,包括模擬目前登入的使用者...並kdestroy
在登出時使用模擬Windows行為。
這就是為什麼你的問題讓我感到驚訝。實際上,更糟糕的是,除非您在 Windows 上設定特定的審核規則,否則您不會看到本機系統模擬用戶,也不會看到誰「目前控制此本機系統會話執行某些操作jdoe
」。