允許Web用戶訪問數(shù)據(jù)庫是一項很精細的工作,需要認真的考慮,不能馬虎從事。
TechRepublic會員E Spigle 最近在TechRepublic Technical 的Q&A forum上提出了下面這個問題:
我們正在進行一項工作,把一個很老的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)機應(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)你再對它進行深入考慮后,你就會發(fā)現(xiàn)它的復(fù)雜之處。任何時候,當(dāng)你想要使數(shù)據(jù)庫具有互聯(lián)網(wǎng)訪問能力時,都有很多問題需要考慮。我首先會考慮的問題就是“我們處理的是什么類型的數(shù)據(jù)?”和“信息的敏感程度如何?”
我會考慮這兩個問題的原因是我需要確定這些數(shù)據(jù)能夠承受多大的風(fēng)險。如果不能夠承擔(dān)任何風(fēng)險,我可能會投入很多的資源和精力來保證我的數(shù)據(jù)盡可能不受侵害。但是,如果可以承擔(dān)一定的風(fēng)險,我會謹(jǐn)慎從事,但不會采用極端手段。比如,如果數(shù)據(jù)是一個病人的醫(yī)療歷史信息,我就會不遺余力地保護數(shù)據(jù)安全,這就意味著不通過IIS連接,不使用SQL Server.
在我詳細說明以前,我要聲明,我對微軟并沒有偏見。我僅僅是要避免風(fēng)險。微軟的產(chǎn)品能夠被很好地保護,并且在上述的情況下工作良好。但是,由于它的流行性,微軟的產(chǎn)品更容易成為病毒,蠕蟲、黑客和諸如此類攻擊的靶子。在對于風(fēng)險承受能力比較低的環(huán)境里避免使用微軟的產(chǎn)品,這樣就能夠減少我的麻煩。
而且,根據(jù)數(shù)據(jù)所能夠承擔(dān)的風(fēng)險程度,我將決定是否需要在web服務(wù)器和數(shù)據(jù)庫之間進行加密,以及數(shù)據(jù)在數(shù)據(jù)庫里是否需要加密。如果我們希望能夠獲得最高的安全性,我就會選擇使用內(nèi)置的或者第三方的加密軟件。如果數(shù)據(jù)對于安全性要求不是那么高,我就會選擇根本不加密,或者選擇低級別一些的加密方法。
最后,我還需要決定使用什么樣的連接來訪問數(shù)據(jù)庫。如果加密是必須的,或者/而且訪問是通過客戶服務(wù)器軟件來進行(如同問題里描述的那樣),那么我就需要使用VPN和一個應(yīng)用層的代理。而且,我可能會考慮在我的Web服務(wù)器和數(shù)據(jù)庫之間,設(shè)置一個應(yīng)用服務(wù)器。
對于上面這些問題的答案幫助我設(shè)計數(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只被允許到達Web服務(wù)器。然后Web服務(wù)器通過1433端口,通過TCP協(xié)議同SQL服務(wù)器進行通信。另一種方法,是使用微軟的ISA服務(wù)器作為轉(zhuǎn)換代理,并允許它控制與SQL服務(wù)器的通信。
無論你選擇哪一種,都有一系列問題需要考慮,以確保你的SQL Server數(shù)據(jù)庫的安全。這些問題在網(wǎng)上可以查到,它們包括了比如保護你的Windows服務(wù)器,保護IIS,保護SQL Server,處理Web服務(wù)器同SQL server的通信問題,這包含了認證、協(xié)議等等方面的問題。幸運的是微軟在MBSA(Microsoft Baseline Security Analyzer)提供了一些幫助。
最后,你的開發(fā)人員和數(shù)據(jù)庫管理員還需要把一系列標(biāo)準(zhǔn)和程序融合到應(yīng)用代碼和數(shù)據(jù)庫中,以把安全風(fēng)險降到最低。
最佳方案和可接受的風(fēng)險
本篇文章講述了在一個看起來很簡單的問題背后的一些復(fù)雜之處,“怎樣才能最好地讓網(wǎng)絡(luò)應(yīng)用通過web服務(wù)器訪問數(shù)據(jù)庫?”也許還有資金的壓力,但最終,會歸結(jié)為在可承受的風(fēng)險程度和投入之間的平衡問題。這是每一個面對這個問題的人都需要考慮的。
企業(yè)網(wǎng)站建設(shè)解決方案 營銷型網(wǎng)站建設(shè)解決方案 行業(yè)門戶網(wǎng)站建設(shè)解決方案 外貿(mào)網(wǎng)站解建設(shè)決方案 品牌形象網(wǎng)站建設(shè)解決方案 購物商城網(wǎng)站建設(shè)解決方案 政府網(wǎng)站建設(shè)解決方案 手機網(wǎng)站建設(shè)解決方案 教育培訓(xùn)網(wǎng)站建設(shè)解決方案 珠寶高端奢飾品網(wǎng)站建設(shè)解決方案 房地產(chǎn)、地產(chǎn)項目網(wǎng)站建設(shè)解決方案 集團、上市企業(yè)網(wǎng)站建設(shè)解決方案 數(shù)碼、電子產(chǎn)品網(wǎng)站建設(shè)解決方案 美容、化妝品行業(yè)網(wǎng)站建設(shè)解決方案
10年專業(yè)互聯(lián)網(wǎng)服務(wù)經(jīng)驗 重慶最專業(yè)網(wǎng)站團隊 資深行業(yè)分析策劃 B2C營銷型網(wǎng)站建設(shè)領(lǐng)先者 最前沿視覺設(shè)計、研發(fā)能力 時刻最新技術(shù)領(lǐng)先研發(fā)能力 具有完備的項目管理 完善的售后服務(wù)體系 深厚的網(wǎng)絡(luò)運營經(jīng)驗
中技互聯(lián)一直秉承專業(yè)、誠信、服務(wù)、進取的價值觀,堅持優(yōu)秀的商業(yè)道德,以用戶最終價值為導(dǎo)向,向用戶提供優(yōu)質(zhì)產(chǎn)品和優(yōu)質(zhì)服務(wù),從而贏得了用戶的信賴。始終以不懈的努力、更高的目標(biāo)來要求自己。
主營業(yè)務(wù):網(wǎng)站建設(shè) | 重慶網(wǎng)站建設(shè) | 重慶網(wǎng)站設(shè)計 | 重慶網(wǎng)站制作 | 重慶網(wǎng)頁設(shè)計 | 重慶網(wǎng)站開發(fā)