2014-01-15 48 views
1

我通常在.properties文件或.xml文件中保存數據庫連接信息,包括用戶名/密碼。是否有辦法讓這個更安全?我的意思是在目錄級別上,有人可以輕鬆地編輯文件並連接到數據庫。如何保護數據庫連接字符串

感謝

我使用Spring框架春季安全和JSF 2 tools.I我實際上是尋找比處理文件級authorization.Users其他的解決方案,可以授予Linux訪問和windows.Adding一些paranioa我甚至會喜歡將其從授權用戶隱藏。 我不希望授權用戶以純文本形式查看用戶名/密碼信息。

感謝您的回覆

回答

1

您可以加密這些文件,然後使用它們。儘管它會增加加密/解密的開銷。

1

對於未經授權的用戶,您可以使連接字符串不可訪問。這是一個簡單的權限問題,只需撤消配置文件中的所有不必要的權限就足夠了。但是,您無法保護授權用戶的連接字符串,並且始終包含本地管理員組的所有成員和運行該應用程序的用戶。

也有辦法加密連接字符串,因爲配置確實支持加密,請參見Encrypting and Decrypting Configuration Sections。但這是一種防止意外媒體丟失的手段(您的HDD在跳蚤市場中出現)。由於應用程序本身需要解密配置,所以加密不會增加任何實質性的保護,更多的文件級授權。我強調這一點,因爲像你這樣的常常問題實際上意味着DRM執行問題,如何確保用戶使用應用程序不會看到或修改應用程序的某些部分。

有人可以很容易地編輯文件並連接到數據庫

我希望你的意思是「有人很容易導致應用程序連接到不同的數據庫」,這應該很容易爲授權用戶。如果你想隱藏你連接到的數據庫,你真的在​​咆哮錯誤的樹,因爲這是可以用其他方式看到的。

0

看一看here從我在這裏給出的鏈接看起來就像那樣。

<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider"> 
    <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" 
     xmlns="http://www.w3.org/2001/04/xmlenc#"> 
     <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" /> 
     <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> 
     <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#"> 
      <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" /> 
      <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> 
      <KeyName>Rsa Key</KeyName> 
      </KeyInfo> 
      <CipherData> 
      <CipherValue>R7cyuRk+SXJoimz7wlOpJr/YLeADGnwJVcmElHbrG/B5dDTE4C9rzSmmTsbJ9Xcl2oDQt1qYma9L7pzQsQQYqLrkajqJ4i6ZQH1cmiot8ja7Vh+yItes7TRU1AoXN9T0mbX5H1Axm0O3X/285/MdXXTUlPkDMAZXmzNVeEJHSCE=</CipherValue> 
      </CipherData> 
     </EncryptedKey> 
     </KeyInfo> 
     <CipherData> 
     <CipherValue>d2++QtjcVwIkJLsye+dNJbCveORxeWiVSJIbcQQqAFofhay1wMci8FFlbQWttiRYFcvxrmVfNSxoZV8GjfPtppiodhOzQZ+0/QIFiU9Cifqh/T/7JyFkFSn13bTKjbYmHObKAzZ+Eg6gCXBxsVErzH9GRphlsz5ru1BytFYxo/lUGRvZfpLHLYWRuFyLXnxNoAGfL1mpQM7M46x5YWRMsNsNEKTo/PU9/Jvnh/lT+GlcgCs2JRpyzSfKE7zSJH+TpIRtd86PwQ5HG3Pd2frYdYw0rmlmlI9D</CipherValue> 
     </CipherData> 
    </EncryptedData> 
    </connectionStrings>