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