我們正在離開我們典型的本地應用程序開發,並正在開發一些新的基於Web的應用程序服務。我們使用.Net和WCF,並且很可能在IIS上託管。通過代理從Web服務保證數據庫訪問安全嗎?
我們的服務將需要使用數據庫來保存數據。在所有情況下,我們都打算讓數據庫服務器與我們的主機不同。我們發現的大部分資源似乎都表示將數據庫連接字符串存儲在web.config(或用於自託管的app.config文件)中。我們擔心的是,由於該服務面向網絡,它正在運行的盒子更容易被黑客入侵/被入侵。如果發生這種情況,攻擊者現在擁有數據庫連接字符串,並可以完全訪問所有數據。
最初的想法是讓WCF服務只是代理服務器應用程序,該服務器應用程序駐留在保存連接信息並執行所有處理邏輯的另一臺機器上。這樣,如果網絡主機受到威脅,他們將不得不弄清楚如何與我們的服務器應用程序通信,或者妥協這臺機器以獲得數據庫訪問權限。雖然我們確實擔心代理服務器的性能成本,並可能在服務器應用程序上有一個瓶頸。
對這種方法的關注是,我們沒有找到太多的WCF/IIS文獻來推薦這種方法,但我們可能只是不知道爲了找到這些信息而被稱爲什麼。問題是:這是一種很好的做法,爲什麼/(爲什麼不)(或者我可以在哪裏找到關於這個主題的更多信息),還是有更好的做法?
Thanks @Paddy,您確認了我的懷疑,我也意識到通過在我們的WCF主機和Internet之間放置代理服務器,我們可以獲得大部分相同的安全獲益。這和你的回覆足以說服我的團隊。 – vossad01 2012-07-22 23:00:59