web-dev-qa-db-ja.com

グループメンバーシップを列挙するためにWindows2000以前の互換性のあるアクセスが必要なのはなぜですか?

UNIXアドオンが作成する漏洩したパスワードハッシュを削除するなど、セキュリティをロックダウンしようとしています。 Windows2000以前の互換性のあるアクセスグループから認証済みユーザーを削除しました。ただし、これを行った後、一部のユーザーはRedmine、Subversion、VPNなどのWindows以外のさまざまなものにログインできませんでした。これらのサービスはldapbindユーザーアカウントで認証し、SSLLDAPを使用してADに対して認証し、グループメンバーシップを確認します。また、Kerberosを介して認証し、LDAPを使用してグループメンバーシップを確認するSSSDを実行しているLinuxマシンを使用します。

私が見つけた問題は、少数のユーザーのグループメンバーシップを列挙できないことです。それらは認証できますが、許可されません。たとえば、Linuxボックスにログオンして「iduser」を実行すると、これらのユーザーには何も見つかりません。ただし、「id user」は、ほとんどのユーザーの情報を返します。動作するユーザーアカウントと動作しないユーザーアカウントの違いは考えられません。何が起こっているのでしょうか?

2
Doug

ユーザーがUNIXパスワードハッシュを相互に読み取れないようにするために、Windows2000以前の互換性のあるアクセスから認証済みユーザーを削除しました。 Windows 2000より前の互換性のあるアクセスには、ほとんどのオブジェクトのほぼすべてのプロパティを読み取る権限があり、ほとんどの非管理者セキュリティプリンシパルがオブジェクトのプロパティを読み取る方法です。 memberOf属性を読み取ることにより、ユーザーのグループメンバーシップが決定され、unixUserPasswordと同様に、ほとんどのユーザーがそれを読み取る機能が削除されました。保護されたグループに属しているユーザーが壊れていないが、保護されているグループに属していないユーザーが壊れている理由は、奇妙なことに、AdminSDHolderが、保護されていないオブジェクトよりも保護されたオブジェクトのプロパティを読み取るためのより多くの許可権限を付与するためです。

そもそも機密データをADに保存することは一般的に良い考えではないため、問題を修正するための「正しい」答えはありません(これがまさにその理由です)。機密性ビットの設定を検討するかもしれません。私はそれを行ったことがありませんが、このKB記事で詳しく説明します: Windows Server 2003 Service Pack 1で属性を機密としてマークする方法

1
charleswj81