2011-07-08 29 views
1

我使用.NET提供加密/解密web.config中的连接字符串加密机制,但是我仍然能看到在IIS管理器5.1我的连接字符串(WIN-XP)连接字符串5.1

在IIS管理器中,当我进入我的网站的属性,在ASP.NET标签 - >按编辑配置按钮,可以清楚地显示我的连接字符串。我如何隐藏/加密这个连接字符串,以便它不能被任何用户/管理员查看。

这是要求,因此不存在找借口的人的选择,我认为这是不可能的,或者至少必须有一个变通。

+0

变通将存储在web.config中的连接字符串,并将其存储加密的,我猜。但我不确定我从来没有尝试过。 –

+0

感谢Davide,您的快速回应。但我已经使用** aspnet_regiis.exe -pe“connectionStrings”-app“/ DemoApplication”**命令加密了连接字符串,但我仍然能够在IIS管理器中查看它,正如我之前所述。 – Bravo

+0

抱歉帮不了忙,你怎么看它用不同的用户登录? –

回答

1

的净连接字符串加密机制的目的是防止谁取得您的配置文件的副本攻击者,但实际上不能够访问机器本身 - 之所以连接字符串中以纯文本显示这个管理控制台是因为如果他们有权访问这个控制台,那么他们已经完全有能力通过其他方式访问相同的信息。

因此,如果通过“加密”来表示“混淆”,那么确定您可以隐藏连接字符串,以便管理员不会立即看到它们 - 只需忽略.Net机制并自行加密/解密连接字符串即可。但这不会阻止任何适当的动机的管理员查看此连接字符串。

如果你真的想保护你的数据库连接(可能使用用户名/密码),那么你应该使用集成的SSPI安全。

+0

感谢Kragen,我正在进行的项目目前正处于维护阶段,我们已经在整个项目中使用Microsoft代码实践进行数据库连接,这需要从配置文件中获取连接字符串,所以我想我们没办法使用自定义的加密机制,我们的系统被安全性作为主要关注的客户使用,所以使用SSPI在这里也不是一个合适的解决方案。 – Bravo

+1

@Bravo SSPI通常被认为比SQL身份验证更安全,请参见[使用集成安全性(SSPI)更好地访问SQL Server的Web应用程序? (ServerFault)](http://serverfault.com/questions/13292/is-using-integrated-security-sspi-for-accessing-sql-server-better-for-web-appli) – Justin