0

我正在编写一项服务,允许我公司域上的用户执行有限的活动目录操作。这些用户自己没有 AD 权限,但该站点作为共享用户进行身份验证,可以执行解锁帐户等操作(例如)。

我的代码中的密码目前是明文

有没有推荐的方法让我保护这个密码?显然,有人必须反编译网站二进制文件才能访问它,但我觉得这还不够保护。

对于背景,我使用 C# 中较新的 System.DirectoryServices.AccountManagement 方法来执行此操作,所以我有:

PrincipalContext pc = new PrincipalContext(ContextType.Domain, "MYDOMAIN", "theuser", "thepassword");

任何提示表示赞赏!否则我可能只是求助于混淆,加密它并使用几个类似獾的类来解密这些值

4

1 回答 1

3

我认为最好的方法是让应用程序池标识有足够的权限在 Active Directory 中完成必要的工作。这将允许 Web 应用程序在不需要硬编码的用户名和密码的情况下运行。您可能需要系统管理员的帮助才能进行此设置。

请记住,混淆只能如此有效。混淆代码在执行之前必须进行去混淆处理,以便处理器能够理解它。如果有人下定决心,这可以被打败。但如果发生这种情况,您可能会遇到更多的安全问题。

最后,您连接到活动目录的用户应该拥有尽可能少的访问权限,以减轻在发现用户名和密码时可能造成的任何损害。

于 2013-04-23T18:46:30.497 回答