2011-07-08 26 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