SSSD ユーザーの削除

SSSD ユーザーの削除

これはフォーラムでの私の最初の質問ですので、私の問題に関する重要な情報を見逃していたとしても怒らないでください。

私はDebian 8を使用しており、SSSDを使用してActive Directoryドメイン(Windows Server 2012)に参加しました。このチュートリアル

すべて正常に動作し、AD アカウントでログインできます。さらに、このサーバーに接続できるユーザーを集めるために Active Directory グループを作成しました。

次のコマンドでこのグループを許可します:

realm permit -g [email protected]

これまでのところ、すべて正常であり、Active Directory アカウントを使用して Linux サーバーに初めて接続すると、 が/home/domain/user作成されます。

ただし、1 人のユーザーのサーバーへの接続権限を取り消したい場合 (そのため、グループからアカウントを削除します)、そのフォルダーは/home/domain/userサーバー上に残り、さらに、ルート アカウント (または 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 ボックスに存在する必要はありません。

編集: 前進するためのもう 1 つの方法は、Kerberos キャッシュが削除されていることを確認することです。kdestroyin を使用します/etc/bash.bash_logout。この方法では、ユーザーが実行できる唯一の「害」はローカルであり、root はローカルで何でも実行できるため、いずれにしてもその害は発生します。

注: これは Windows と非常によく似ており、ローカル管理者は簡単にローカル システムになることができ、ローカル システムは現在ログインしているユーザーになりすますことを含め、ボックス上ですべてを実行できます。また、kdestroyログアウト時に使用すると、Windows の動作がエミュレートされます。

これが、あなたの質問が私にとって驚きだった理由です。さらに悪いことに、実際には、Windows で特定の監査ルールを設定しない限り、ローカル システムがユーザーを偽装したり、「現在このローカル システム セッションを制御して、次のように操作しているjdoe」ユーザーを確認したりすることはできません。

関連情報