Sql-Server
使用集成安全性 (SSPI) 訪問 SQL Server 是否更適合 Web 應用程序?
將 Web 應用程序 (.net) 部署到生產環境時,使用集成安全性更好還是更重要?
在我看來,如果黑客破壞了 Web 伺服器,這並不重要,因為他們可以輕鬆地冒充機器。
想法?
我想說使用 SQL 身份驗證只有兩個正當理由:
- 您是從域外連接的,因此集成了身份驗證。
- 您正在執行 TPC-C 基準測試並且每個週期都很重要。SQL auth 稍微快一點。
對於您提出的方案(Web 伺服器主機完全受損),沒有什麼可以保護您。黑客至少可以在 DB 伺服器上做 Web 伺服器可以做的所有事情。而且我想說,縱深防禦可以教你在這種情況下最大限度地減少損失:將你的網路伺服器使用的帳戶的數據庫權限減少到絕對最低要求,僅此而已。其次,確保如果 Web 伺服器主機被入侵,它不能用於提升比 Web 伺服器帳戶更高的權限(即,在 WWW 主機上沒有其他服務使用比 WWW 帳戶在 DB 上具有更高權限的憑據)。這些是基本的安全原則,與使用的身份驗證方案無關。
雖然 sql auth 與 windows auth 在您的方案中都沒有明顯的優勢,但還有其他問題需要考慮:
- 集中策略執行:您可以在一個地方設置密碼策略,包括密碼有效期和到期、帳戶終止等。
- 控制模擬和信任委託。一旦在信任委託鏈中使用 sql auth,所有的賭注都將被取消,因為這不是真正的“委託”,因此不再受您的政策施加的限制
- 審計:你的 LSA 甚至看不到 sql auth,所以你的整個審計基礎設施都被繞過了。您需要明確添加 SQL 生成的關於 sql auth 事件的記錄,但由於這些事件在事件日誌中具有不同的源、提供程序和模式,因此混合了蘋果和橙子
最後一點:TDS 協議在流量上以明文形式公開 sql auth 密碼,但這通常通過請求對流量進行 SSL 加密來緩解。
那麼,為什麼您仍然看到在 web.config 中以明文形式儲存密碼的 sql auth WWW 主機?那些是糟糕的開發人員/管理員,不要成為其中之一。
msdn.microsoft.com/en-us/library/aa378326(VS.85).aspx
technet.microsoft.com/en-us/library/ms189067.aspx