2016-12-30 68 views
2

我目前使用ConfigurationManager中,以保護我的憑據C#的方式來保護

string _conStr = ConfigurationManager.ConnectionStrings["fluxConnection"].ConnectionString; 

如果有任何更好地保護我的服務器證書的方式過於它甚至不值得的時候,我在想,我的數據庫憑據試圖突破。我已經看到,有些人通過網站使用api來檢索證書或其他內容。但不完全確定這將如何工作。

+0

您是否監視誰可以訪問您的生產服務器?你是否希望加密內部人員的憑證? –

+0

@RossBush目前我正在使用本地服務器,但是我計劃在完成服務器時購買服務器,但是我可能會在購買服務器後不再購買服務器。 – Vince

+0

您可以在配置部分使用加密,但是,任何可以在代碼中設置斷點的人都可以看到憑據。你最好是擔任安全憑證的生產箱門衛。 https://msdn.microsoft.com/en-us/library/zhhddkxy.aspx –

回答

2

這一切都取決於你的關注程度。

級別0:不執行任何

大多數人添加憑據在Web /應用程序配置連接字符串和這是夠好。只有那些竊取憑證的人才能夠訪問服務器。

等級1:加密

爲了防止那些誰對你的工作憑證可以加密的連接字符串:See MSDN for Connection String Encryption

等級3:自定義

您可以創建一個Web API Restful Web Service讀取從另一個數據庫加密的數據庫憑據,並返回它,你在它的加密形式。然後,從代碼中調用Web服務,解密它爲您提供的憑據,從而構建連接字符串。

0

鑑於您的評論:

但我計劃購買一臺服務器,當我完成

除了加密連接字符串,實際的配置文件是不是你開始固定環境。基本上,應用程序確實需要連接。所以在某些時候,即使使用遠程API(您需要...連接設置..),該字符串也必須在某處可用。

我的建議:

在部署期間更改配置設置。這樣生產信息就不會在開發環境中出現。

我希望您的生產環境在最終到達配置文件旁邊有大量其他安全措施。

要實現這個目標的基本系統的一個很好的例子是Octopus Deploy