为了支持我们的 Server 2003 开发服务器上的某些构建过程,我们需要一个具有管理权限的通用用户帐户。
不幸的是,这也意味着任何知道密码的人也可以在服务器上获得管理员权限。假设尝试对密码保密是一项失败的练习。需要管理员权限的开发人员已经拥有管理员权限,因此应该能够以自己的身份登录。
所以问题很简单:有什么我可以配置来防止人们(ab)使用该帐户在他们不应该拥有管理员的服务器上获得管理员?我知道开发人员可以禁用任何已经到位的东西,但这取决于处理和审计来跟踪和管理。
我不介意在哪里或如何:它可以通过本地安全策略、组策略、在用户配置文件中执行的批处理文件或其他方式。
找到了“正确”的方法——通过组策略,我已将用户添加到设置中:Windows Settings\Security Settings\User Rights Assignment\Deny login through Terminal Services
这似乎可行,因此拒绝列表优先于允许列表,这就是我想要的。我确定我已经浏览过这个列表几次,但之前没有发现这个设置......
此链接详细说明了如何通过远程编辑注册表来允许远程服务器上的 RDP 会话。我假设您可以应用相同的原则来禁止 RDP 连接。
您可以将远程桌面权限分别分配给管理权限,并且管理员默认不会获得该权限,因此基本方法应该可以工作。您必须确保相关管理员帐户和组不是相关系统上远程桌面管理员组的成员。
但是,任何对系统具有完全管理权限的人都可以根据需要更改这些设置。您可以通过 GPO 强制执行设置以启用(和限制)此功能,但完全防止具有管理员权限的人绕过此类策略是不可能的,您只是让 GPO 变得更难。
我不认为这是你的问题。您应该能够创建此帐户,使其成为所需服务器上的本地管理员,但不是域范围的管理员,只需创建一个普通域帐户并将其直接添加到绝对需要的服务器即可。这将在 Windows 2003 上运行良好,但对 Windows 2008 上的安全模型(由于 UAC)的更改使其不那么简单。
如果该帐户像您描述的那样容易被滥用,那么拒绝它在其他任何地方登录的权利也可能是一个好主意。如果您将希望此帐户在其中工作的服务器放在 Active Directory 中的一个 OU 中,然后更改 GPU 为您的域的所有其他计算机 OU 分配的用户权限,以拒绝该帐户在本地和远程登录的权限。
您有一个需要管理员权限的流程这一事实是根本问题 - 您应该专注于尝试消除该要求,尽管我理解在某些情况下这是不可能的,它应该始终是您首先查看的.
我会创建一个名为禁止的通用组(或任何您选择的!)并将特定用户添加到该组。然后在有问题的 RDP 服务器上,明确拒绝该组中的用户,拒绝在允许之前处理,因此即使是管理员也不会阻止被拒绝服务。