2011-11-14 39 views
2

我在工作站上安裝了幾個應用程序(網站,Windows服務),並在其配置文件中存儲了簡單密碼(數據庫密碼,外部服務e.t.c密碼)。.Net如何在多個配置中保護密碼

我想使配置文件中的密碼不可讀,同時保持其他配置標籤可讀。

我正在使用參數存儲在Machine.config中的一些加密算法(MD5,Rijndael)。這是最佳做法嗎?

如果罪犯獲得工作站管理權限,我應該如何保護我的密碼?

回答

2

這樣的回答:

protect (encrypt) password in the web.config file (asp.net)

引用在這裏加密的配置文件的密碼技術:

http://www.pvle.be/2009/03/encrypt-appconfig-section-using-powershell-as-a-post-build-event/

一個可行的治療(它使用PowerShell的爲生成後步驟)。


但是,如果一個妖孽得到工作站管理員權限,那麼你應該假設沒有是您的PC上的安全。因此,如果這是一個真正的問題,您將需要考慮在可移動媒體或類似設備上使用密碼,以便在您不在電腦的情況下實際無法訪問。

我所引用的腳本可以修改爲在加密階段從該可移除媒體中提取密碼。

+0

+1的評論,一旦他們有工作站訪問你****編輯。我甚至不確定可移動媒體是否是一種選擇,因爲服務/網站需要能夠訪問它們(至少在啓動時),我可以想象你不希望有人出現在每一次都會將媒體粘貼到其中需要啓動... – Chris

0

我認爲您需要創建一個類來加密密碼,然後將此密碼保存在配置文件中,然後創建一個util類,其中包含加密硬編碼類中的密碼的密鑰並使用它來減少密碼。