綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|論壇轉(zhuǎn)帖|廠商大全

綠色資源網(wǎng)

技術(shù)教程
您的位置:首頁服務(wù)器類Web服務(wù)器 → 如何授權(quán)web服務(wù)器提供安全數(shù)據(jù)庫訪問

如何授權(quán)web服務(wù)器提供安全數(shù)據(jù)庫訪問

我要評論 2009/05/24 00:47:19 來源:綠色資源網(wǎng) 編輯:佚名 [ ] 評論:0 點(diǎn)擊:267次

允許Web用戶訪問數(shù)據(jù)庫是一項(xiàng)很精細(xì)的工作,需要認(rèn)真的考慮,不能馬虎從事。

TechRepublic會員E Spigle 最近在TechRepublic Technical 的Q&A forum上提出了下面這個問題:

我們正在進(jìn)行一項(xiàng)工作,把一個很老的FoxPro系統(tǒng)轉(zhuǎn)換成我所工作的公司里的MS SQL / VB系統(tǒng)。我們已經(jīng)在內(nèi)部廣泛地使用了SQL數(shù)據(jù)庫。它目前位于我們局域網(wǎng)的防火墻之后,只能支持內(nèi)部使用??墒俏覀兊囊徊糠洲D(zhuǎn)換程序帶來了一些Web聯(lián)機(jī)應(yīng)用?,F(xiàn)在我們就面臨一個兩難的局面,我們必須為了讓W(xué)eb用戶和局域網(wǎng)的用戶能夠同時訪問同一個數(shù)據(jù)庫找到一個好的解決方法。目前我們的IIS 6.0 Web server在DMZ.如何能夠讓web服務(wù)器為網(wǎng)絡(luò)應(yīng)用提供數(shù)據(jù)庫訪問呢?

問題分析

這是個很有意思的問題,第一眼看起來很簡單,但是當(dāng)你再對它進(jìn)行深入考慮后,你就會發(fā)現(xiàn)它的復(fù)雜之處。任何時候,當(dāng)你想要使數(shù)據(jù)庫具有互聯(lián)網(wǎng)訪問能力時,都有很多問題需要考慮。我首先會考慮的問題就是“我們處理的是什么類型的數(shù)據(jù)?”和“信息的敏感程度如何?”

我會考慮這兩個問題的原因是我需要確定這些數(shù)據(jù)能夠承受多大的風(fēng)險(xiǎn)。如果不能夠承擔(dān)任何風(fēng)險(xiǎn),我可能會投入很多的資源和精力來保證我的數(shù)據(jù)盡可能不受侵害。但是,如果可以承擔(dān)一定的風(fēng)險(xiǎn),我會謹(jǐn)慎從事,但不會采用極端手段。比如,如果數(shù)據(jù)是一個病人的醫(yī)療歷史信息,我就會不遺余力地保護(hù)數(shù)據(jù)安全,這就意味著不通過IIS連接,不使用SQL Server.

在我詳細(xì)說明以前,我要聲明,我對微軟并沒有偏見。我僅僅是要避免風(fēng)險(xiǎn)。微軟的產(chǎn)品能夠被很好地保護(hù),并且在上述的情況下工作良好。但是,由于它的流行性,微軟的產(chǎn)品更容易成為病毒,蠕蟲、黑客和諸如此類攻擊的靶子。在對于風(fēng)險(xiǎn)承受能力比較低的環(huán)境里避免使用微軟的產(chǎn)品,這樣就能夠減少我的麻煩。

而且,根據(jù)數(shù)據(jù)所能夠承擔(dān)的風(fēng)險(xiǎn)程度,我將決定是否需要在web服務(wù)器和數(shù)據(jù)庫之間進(jìn)行加密,以及數(shù)據(jù)在數(shù)據(jù)庫里是否需要加密。如果我們希望能夠獲得最高的安全性,我就會選擇使用內(nèi)置的或者第三方的加密軟件。如果數(shù)據(jù)對于安全性要求不是那么高,我就會選擇根本不加密,或者選擇低級別一些的加密方法。

最后,我還需要決定使用什么樣的連接來訪問數(shù)據(jù)庫。如果加密是必須的,或者/而且訪問是通過客戶服務(wù)器軟件來進(jìn)行(如同問題里描述的那樣),那么我就需要使用VPN和一個應(yīng)用層的代理。而且,我可能會考慮在我的Web服務(wù)器和數(shù)據(jù)庫之間,設(shè)置一個應(yīng)用服務(wù)器。

對于上面這些問題的答案幫助我設(shè)計(jì)數(shù)據(jù)庫訪問的環(huán)境。

搭建系統(tǒng)

我假設(shè)在E Spigle問題中所描述的數(shù)據(jù)的敏感程度不是非常高,所以使用IIS和SQL Server是可以被接受的。具體如圖A所示:

如何授權(quán)web服務(wù)器提供安全數(shù)據(jù)庫訪問

圖A:網(wǎng)絡(luò)規(guī)劃

如圖A所示的網(wǎng)絡(luò)通信中,80端口的HTTP或者1443只被允許到達(dá)Web服務(wù)器。然后Web服務(wù)器通過1433端口,通過TCP協(xié)議同SQL服務(wù)器進(jìn)行通信。另一種方法,是使用微軟的ISA服務(wù)器作為轉(zhuǎn)換代理,并允許它控制與SQL服務(wù)器的通信。

無論你選擇哪一種,都有一系列問題需要考慮,以確保你的SQL Server數(shù)據(jù)庫的安全。這些問題在網(wǎng)上可以查到,它們包括了比如保護(hù)你的Windows服務(wù)器,保護(hù)IIS,保護(hù)SQL Server,處理Web服務(wù)器同SQL server的通信問題,這包含了認(rèn)證、協(xié)議等等方面的問題。幸運(yùn)的是微軟在MBSA(Microsoft Baseline Security Analyzer)提供了一些幫助。

最后,你的開發(fā)人員和數(shù)據(jù)庫管理員還需要把一系列標(biāo)準(zhǔn)和程序融合到應(yīng)用代碼和數(shù)據(jù)庫中,以把安全風(fēng)險(xiǎn)降到最低。

最佳方案和可接受的風(fēng)險(xiǎn)

本篇文章講述了在一個看起來很簡單的問題背后的一些復(fù)雜之處,“怎樣才能最好地讓網(wǎng)絡(luò)應(yīng)用通過web服務(wù)器訪問數(shù)據(jù)庫?”也許還有資金的壓力,但最終,會歸結(jié)為在可承受的風(fēng)險(xiǎn)程度和投入之間的平衡問題。這是每一個面對這個問題的人都需要考慮的。

關(guān)鍵詞:web服務(wù)器,數(shù)據(jù)庫

閱讀本文后您有什么感想? 已有 人給出評價(jià)!

  • 0 歡迎喜歡
  • 0 白癡
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙視