咨詢電(diàn)話(huà):023-88959644    24小(xiǎo)時(shí)服務熱線:400-023-8809
NEWS CENTER ·
新聞動态
關注中技(jì)互聯 關注前沿

授權web服務器(qì)提供安全數(shù)據庫訪問

發表日期:2014-11-10    文章編輯:    浏覽次數(shù):35    标簽:

允許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)都需要考慮的。

如沒特殊注明(míng),文章均為(wèi)中技(jì)互聯原創,轉載請(qǐng)注明(míng)來(lái)自www.zjcoo.com
相關新聞

CopyrightZJCOO technology Co., LTD. All Rights Reserved.    

渝ICP 備11003429号

  • qq客服
  • 公衆号
  • 手機版
  • 新浪微博