實體數據模型嚮導說:什麼是包括數據庫密碼在web.config中的潛在安全風險
此連接字符串似乎包含敏感數據(例如密碼)時所需的 連接到數據庫。將敏感數據存儲在連接字符串中可能存在安全風險。您是否想要 將這些敏感數據包含在連接字符串中?
我在很多實時項目中都包含了db密碼,它有多危險?
實體數據模型嚮導說:什麼是包括數據庫密碼在web.config中的潛在安全風險
此連接字符串似乎包含敏感數據(例如密碼)時所需的 連接到數據庫。將敏感數據存儲在連接字符串中可能存在安全風險。您是否想要 將這些敏感數據包含在連接字符串中?
我在很多實時項目中都包含了db密碼,它有多危險?
這涉及到您的網絡服務器上的域和IIS的安全性如何? IIS和web.config位於Web應用程序的根目錄下。如果您在域安全方面存在問題,而且人們可以訪問您的inetpub或wwwroot目錄及其子目錄,則您的網站始終處於危險之中。如果您使用的是第三方提供商,如去爸爸或1和1,他們是相對安全的。
如果您自己託管它,您希望限制訪問權限,尤其是目錄列表權限。您想盡可能減輕權限。同樣,對於您的Web應用程序使用的SQL帳戶,還要儘可能限制數據庫特權並緩解訪問。也不要使用通用帳戶進行訪問,並讓每個網絡應用都擁有自己的帳戶。在一個域中,您需要確保在DMZ中採取必要的預防措施,以確保該服務器位於網絡邊緣。
內部威脅比外部威脅更普遍。那些已經在您的域上擁有較高權限的用戶可能已經有權訪問您的Web應用程序的根目錄,而您甚至不知道它!請留意IIS的代理帳戶,以便IIS用於Web應用程序和Web服務。
您應該使用加密連接字符串aspnet_regiis也請查看此鏈接(How To Encrypt web.config),獲取一些有用的信息。
至於Web應用程序的其他方面,你需要確保你正在設置最小權限可能,確保您研究的所有Web應用程序漏洞以及如何防止這些。
這是關於儘量減少風險。比方說,一個攻擊者發現從服務器獲取代碼的副本的一種方式,但不是在服務器上執行代碼的方式:
但是,您不希望將風險降至零,因爲這會花費更多的錢。有一個從不爲零的最佳點。 – usr
@usr - 唯一的零風險是拔下服務器,並將其融化。除此之外,總會有一些風險。將它連接到網絡,存在風險。所以你的評論很沒有意義。 –
@usr好點!做成本效益分析總是很重要的。引用[FightClub](http://en.wikiquote.org/wiki/Fight_Club_%28film%29)「* ...我們是否應該開始召回?將現場的車輛數量A乘以可能的失敗率B乘以平均庭外結算C.次數B乘以C等於X.如果X小於召回成本,我們不做一次。*「 –
風險是隻有你可以評估的東西。它是否是臥室裏沒有連接到互聯網的測試服務器?風險不大。它是沒有任何真實敏感信息的小公司的內部公司服務器嗎?也許風險不大。
它連接到互聯網嗎?這是危險的。如果你連接到互聯網,總是有風險的。爲什麼?因爲互聯網不是一個安全的地方。無論你是多麼大或小,都是你的目標。有自動機器人漫遊網絡尋找易受攻擊的系統,並自動將它們接管。然後,他們使用惡意軟件感染系統以傳播給用戶。或者他們將您的憑證出售給其他黑客,以便他們可以將您的服務器用於垃圾網絡的指揮和控制中心。或者其他任何情況。
如果您在互聯網上,您有風險。期。所以一定要認真對待安全。
用連接字符串中的集成安全替換用戶名和密碼。 確保使用連接的進程與已在SQL服務器上註冊的用戶(只需足夠)權限執行其任務。這應該使您的系統受到危害的風險降至最低。
這不是風險評估。 – usr
不僅如此,它確實不會使任何事情更安全。如果服務器可以解碼它,服務器上的攻擊者也可以解碼。 –
同意,但如果密碼是純文本的,那麼即使有權訪問服務器的用戶也能看到密碼 - 不需要成爲攻擊者。 – christiandev