如何授權web服務器提供安全數據庫訪問 |
發布時間: 2012/5/25 19:28:16 |
允許Web用戶訪問數據庫是一項很精細的工作,需要認真的考慮,不能馬虎從事。 TechRepublic會員E Spigle 最近在TechRepublic Technical 的Q&A forum上提出了下面這個問題: 我們正在進行一項工作,把一個很老的FoxPro系統轉換成我所工作的公司里的MS SQL / VB系統。我們已經在內部廣泛地使用了SQL數據庫。它目前位于我們局域網的防火墻之后,只能支持內部使用?墒俏覀兊囊徊糠洲D換程序帶來了一些Web聯機應用,F在我們就面臨一個兩難的局面,我們必須為了讓Web用戶和局域網的用戶能夠同時訪問同一個數據庫找到一個好的解決方法。目前我們的IIS 6.0 Web server在DMZ.如何能夠讓web服務器為網絡應用提供數據庫訪問呢? 問題分析 這是個很有意思的問題,第一眼看起來很簡單,但是當你再對它進行深入考慮后,你就會發現它的復雜之處。任何時候,當你想要使數據庫具有互聯網訪問能力時,都有很多問題需要考慮。我首先會考慮的問題就是“我們處理的是什么類型的數據?”和“信息的敏感程度如何?” 我會考慮這兩個問題的原因是我需要確定這些數據能夠承受多大的風險。如果不能夠承擔任何風險,我可能會投入很多的資源和精力來保證我的數據盡可能不受侵害。但是,如果可以承擔一定的風險,我會謹慎從事,但不會采用極端手段。比如,如果數據是一個病人的醫療歷史信息,我就會不遺余力地保護數據安全,這就意味著不通過IIS連接,不使用SQL Server. 在我詳細說明以前,我要聲明,我對微軟并沒有偏見。我僅僅是要避免風險。微軟的產品能夠被很好地保護,并且在上述的情況下工作良好。但是,由于它的流行性,微軟的產品更容易成為病毒,蠕蟲、黑客和諸如此類攻擊的靶子。在對于風險承受能力比較低的環境里避免使用微軟的產品,這樣就能夠減少我的麻煩。 而且,根據數據所能夠承擔的風險程度,我將決定是否需要在web服務器和數據庫之間進行加密,以及數據在數據庫里是否需要加密。如果我們希望能夠獲得最高的安全性,我就會選擇使用內置的或者第三方的加密軟件。如果數據對于安全性要求不是那么高,我就會選擇根本不加密,或者選擇低級別一些的加密方法。 最后,我還需要決定使用什么樣的連接來訪問數據庫。如果加密是必須的,或者/而且訪問是通過客戶服務器軟件來進行(如同問題里描述的那樣),那么我就需要使用VPN和一個應用層的代理。而且,我可能會考慮在我的Web服務器和數據庫之間,設置一個應用服務器。 本文出自:億恩科技【www.endtimedelusion.com】 |