2009-06-10 45 views
4

嗨,大家好, 我不知道這個問題是否被問及過。 但我想加密我的web.config中的connectionstrings。我的應用程序將被部署在web farm中。在web服務器場中加密web.config

我嘗試閱讀一些關於此的博客,但感到困惑。 有人可以告訴我一個他們真正嘗試併成功的鏈接。

回答

2

我們使用the RSA Protected Configuration provider。該頁面不是輕量閱讀,但它有你所需要的。

我推薦的命令,像這樣(例如從文章):

ASPNET_REGIIS.EXE -pef 「的ConnectionStrings」 C:\項目\ MachineRSA

+0

你在網上農場試過這個嗎 – alice7 2009-06-10 15:03:23

+0

是的,但我們不導入/導出密鑰。我們對每個實例執行加密。不過,從文章的總結:「您可以使用Aspnet_regiis.exe工具來加密Web.config和Machine.config文件中保存的敏感數據,例如連接字符串,您可以輕鬆地將RSA密鑰從服務器導出並導入到服務器。這使RSA加密對加密Web場中多個服務器上使用的配置文件特別有效。「 – lance 2009-06-10 15:34:34

1

之前加密連接字符串,想想你是什麼試圖通過加密來防止它們。您的應用程序需要按順序訪問明文連接字符串,因此需要訪問密鑰。因此,攻擊者侵入你的ASP.Net應用程序可能會竊取密鑰和受保護的連接字符串。所以加密並沒有帶來太多好處。

不是加密,而是專注於操作人員如何處理該文件以及生產中應用的文件權限。只允許讀取訪問您的應用程序運行的ASP.Net員工池帳戶。

2

您可能已經考慮過這種情況,但如果不這樣做:RSAProtectedConfigurationProvider可以使用機器級密鑰或用戶級​​密鑰進行加密。默認是機器級別的。這意味着你不能加密你的web.config一次並將其部署到你的Web場中的每臺機器上。您必須在每臺計算機上對其進行加密,因爲加密和解密的密鑰只存在於該計算機上。

您可以通過使用用戶級密鑰或共享在所有網絡的農業機械的關鍵解決這個問題: