簡體   English   中英

在web.config中包含db密碼的潛在安全風險是什么?

[英]What is the potential security risk of including the db password in the web.config

實體數據模型向導說:

該連接字符串似乎包含連接到數據庫所需的敏感數據(例如,密碼)。 在連接字符串中存儲敏感數據可能會帶來安全風險。 是否要在連接字符串中包含此敏感數據?

我在許多實時項目中都包含了db密碼,這有多危險?

這是關於最大程度地降低風險。 可以說,攻擊者找到了一種從服務器獲取代碼副本的方法,但沒有在服務器上執行代碼的方法:

  • 如果將用戶名和密碼存儲在代碼中,則攻擊者現在可以使用與代碼相同的特權直接訪問數據庫。
  • 如果您使用了集成身份驗證,則攻擊者仍然無法從數據庫中獲取數據,因為他無法模擬用戶執行集成身份驗證。
  • 如果使用正確的IIS加密,則必須能夠在服務器本身上執行代碼(加密密鑰與服務器綁定,而不是代碼),才能獲取用戶名和密碼。 因此,攻擊者仍然無法訪問數據庫。

您還應該使用aspnet_regiis對連接字符串進行加密 ,以了解一些有用的信息,也請查看此鏈接( How To Encrypt web.config )。

關於Web應用程序的其他方面,您需要確保設置盡可能少的特權 ,並確保研究所有Web應用程序漏洞以及如何防范這些漏洞。

歸結為您的域和IIS在Web服務器上的安全性如何? IIS和web.config是Web應用程序的根目錄。 如果您在域安全方面遇到問題,並且人們能夠訪問您的inetpub或wwwroot目錄及其子級,則您的網站始終處於危險之中。 如果您使用的是第三方提供商,例如go daddy或1和1,則它們是相對安全的。

如果您自己托管它,則希望限制訪問,尤其是目錄列表特權。 您想要盡可能減輕權限。 另外,通過SQL帳戶,您還可以將其用於Web應用程序,限制數據庫特權並盡可能減少訪問。 另外,請勿使用通用帳戶進行訪問,並且每個Web應用程序都有自己的帳戶。 在域中,您要確保在DMZ中采取必要的預防措施以幫助保護該Web服務器(如果它位於網絡邊緣)。

內部威脅比外部威脅更為普遍。 那些已經在您的域中具有較高特權的用戶可能已經訪問了Web應用程序的根目錄,而您甚至都不知道! 還要密切注意IIS用於Web應用程序和Web服務的代理帳戶。

風險是只有您可以評估的東西。 它是您卧室中未連接到互聯網的測試服務器嗎? 沒有太大的風險。 它是沒有任何真實敏感信息的小型公司的內部公司服務器嗎? 也許風險不大。

它連接到互聯網了嗎? 有風險。 如果您連接到互聯網,總是有風險的。 為什么? 因為互聯網不是一個安全的地方。 無論您多大或多小,您都是目標。 有自動漫游器在網上漫游,尋找易受攻擊的系統並自動將其接管。 然后,它們使用惡意軟件感染系統,並傳播到您的用戶。 或者他們將您的憑據出售給其他黑客,以便他們可以將您的服務器用作垃圾郵件網絡的命令和控制中心。 或任何其他情況。

如果您在互聯網上,則面臨風險。 期。 因此,請務必認真對待安全性。

用“連接”字符串中的“ 集成安全性”替換用戶名和密碼。 確保使用該連接的過程與已在SQL服務器上注冊的用戶(具有( 足夠 )特權)執行其任務一起執行。 這樣可以最大程度地降低系統受到威脅的風險。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM