什麼是防火牆?

1.什麼是防火牆?

  防火牆是一個或一組系統,它在網路之間執行訪問控制策略。實防火牆的實際方式各不相同,但是在原則上,防火牆可以
被認為是這樣一對機制:一種機制是攔阻傳輸流通行,另一種機制是允許傳輸流通過。一些防火牆偏重攔阻傳輸流的通行,而
另一些防火牆則偏重允許傳輸流通過。瞭解有關防火牆的最重要的概念可能就是它實現了一種訪問控制策略。如果你不太清楚
你需要允許或否決那類訪問,你可以讓其他人或某些產品根據他(它)們認為應當做的事來配置防火牆,然後他(它)們會為
你的機構全面地制定訪問策略。

2.為何需要防火牆?

  同其它任何社會一樣,Internet也受到某些無聊之人的困擾,這些人喜愛在網上做這類的事,像在現實中向其他人的牆上噴染
塗鴉、將他人的郵箱推倒或者坐在大街上按汽車喇叭一樣。一些人試圖通過Internet完成一些真正的工作,而另一些人則擁有敏
感或專有數據需要保護。一般來說,防火牆的目是將那些無聊之人擋在你的網路之外,同時使你仍可以完成工作。

  許多傳統風格的企業和數據中心都制定了計算安全策略和必須遵守的慣例。在一家公司的安全策略規定數據必須被保護的
情況下,防火牆更顯得十分重要,因為它是這家企業安全策略的具體體現。如果你的公司是一家大企業,連接到Int-ernet上的
最難做的工作經常不是費用或所需做的工作,而是讓管理層信服上網是安全的。防火牆不僅提供了真正的安全性,而且還起到
了為管理層蓋上一條安全的毯子的重要作用。

  最後,防火牆可以發揮你的企業駐Internet「大使」的作用。許多企業利用其防火牆系統作為保存有關企業產品和服務的公
開信息、下載文件、錯誤修補以及其它一些文件的場所。這些系統當中的幾種系統已經成為Internet服務結構(如UUnet.uu.net、
whitehouse.gov、gatekeeper.dec.com)的重要組成部分,並且給這些機構的贊助者帶來了良好的影響。

3.防火牆可以防範什麼?
  
  一些防火牆只允許電子郵件通過,因而保護了網路免受除對電子郵件服務攻擊之外的任何攻擊。另一些防火牆提供不太嚴
格的保護措施,並且攔阻一些眾所周知存在問題的服務。

  一般來說,防火牆在配置上是防止來自「外部」世界未經授權的交互式登錄的。這大大有助於防止破壞者登錄到你網路中
的計算機上。一些設計更為精巧的防火牆可以防止來自外部的傳輸流進入內部,但又允許內部的用戶可以自由地與外部通信。
如果你切斷防火牆的話,它可以保護你免受網路上任何類型的攻擊。

  防火牆的另一個非常重要的特性是可以提供一個單獨的「攔阻點」,在「攔阻點」上設置安全和審計檢查。與計算機系統
正受到某些人利用調製解調器撥入攻擊的情況不同,防火牆可以發揮一種有效的「電話監聽」(Phone tap)和跟蹤工具的作
用。防火牆提供了一種重要的記錄和審計功能;它們經常可以向管理員提供一些情況概要,提供有關通過防火牆的傳流輸的類
型和數量以及有多少次試圖闖入防火牆的企圖等等信息。

4.防火牆不能防範什麼?

  防火牆不能防範不經過防火牆的攻擊。許多接入到Internet的企業對通過接入路線造成公司專用數據數據洩露非常擔心。不
幸得是,對於這些擔心來說,一盤磁帶可以被很有效地用來洩露數據。許多機構的管理層對Internet接入非常恐懼,它們對應當
如何保護通過調製解調器撥號訪問沒有連慣的政策。當你住在一所木屋中,卻安裝了一扇六英尺厚的鋼門,會被認為很愚蠢。
然而,有許多機構購買了價格昂貴的防火牆,但卻忽視了通往其網路中的其它幾扇後門。要使防火牆發揮作用,防火牆N必須
成為整個機構安全架構中不可分割的一部分。防火牆的策略必須現實,能夠反映出整個網路安全的水平。
例如,一個保存著超級機密或保密數據的站點根本不需要防火牆:首先,它根本不應當被接入到Internet上,或者保存著真正秘
密數據的系統應當與這家企業的其餘網路隔離開。

  防火牆不能真正保護你防止的另一種危險是你網路內部的叛變者或白癡。儘管一個工業間諜可以通過防火牆傳送信息,但
他更有可能利用電話、傳真機或軟盤來傳送信息。軟盤遠比防火牆更有可能成為洩露你機構秘密的媒介!防火牆同樣不能保護
你避免愚蠢行為的發生。通過電話洩露敏感信息的用戶是社會工程(social engineering)的好目標;如果攻擊者能找到內部的一
個「對他有幫助」的僱員,通過欺騙他進入調製解調器池,攻擊者可能會完全繞過防火牆打入你的網路。

5.防火牆能否防止病毒的攻擊?

  防火牆不能有效地防範像病毒這類東西的入侵。在網路上傳輸二進制文件的編碼方式太多了,並且有太多的不同的結構和
病毒,因此不可能查找所有的病毒。換句話說,防火牆不可能將安全意識(security-consciosness)交給用戶一方。
總之,防火牆不能防止數據驅動的攻擊:即通過將某種東西郵寄或拷貝到內部主機中,然後它再在內部主機中運行的攻擊。
過去曾發生過對不同版本的郵件寄送程序和幻像腳本(ghostscript)和免費Postscript閱讀器的這類攻擊。

  對病毒十分憂慮的機構應當在整個機構範圍內採取病毒控制措施。不要試圖將病毒擋在防火牆之外,而是保證每個脆弱的
桌面系統都安裝上病毒掃瞄軟體,只要一引導計算機就對病毒進行掃瞄。利用病毒掃瞄軟體防護你的網路將可以防止通過軟
盤、調製解調器和Internet傳播的病毒的攻擊。試圖御病毒於防火牆之外只能防止來自Internet的病毒,而絕大多數病毒是通過軟
盤傳染上的。

  儘管如此,還是有越來越多的防火牆廠商正提供「病毒探測」防火牆。這類防火牆只對那種交換Windows-on-Intel執行程序
和惡意宏應用文檔的毫無經驗的用戶有用。不要指望這種特性能夠對攻擊起到任何防範作用。

6.在防火牆設計中需要做哪些基本設計決策?

  在負責防火牆的設計、制定工程計劃以及實施或監督安裝的幸運兒面前,有許多基本設計問題等著他去解決。

  首先,最重要的問題是,它應體現你的公司或機構打算如何運行這個系統的策略:安裝後的防火牆是為了明確地拒絕除對
於連接到網路至關重的服務之外的所有服務,或者,安裝就緒的防火牆是為以非威脅方式對「魚貫而入」的訪問("queuing"
access)提供一種計量和審計的方法。在這些選擇中存在著某種程度的偏執狂;防火牆的最終功能可能將是行政上的結果,而
非工程上的決策。

  第二個問題是:你需要何種程度的監視、冗余度以及控制水平?通過解決第一個問題,確定了可接受的風險水平(例如你
的偏執到何種程度)後,你可以列出一個必須監測什麼傳輸、必須允許什麼傳輸流通行以及應當拒絕什麼傳輸的清單。
換句話說,你開始時先列出你的總體目標,然後把需求分析與風險評估結合在一起,挑出與風險始終對立的需求,加入到計劃
完成的工作的清單中。

  第三個問題是財務上的問題。在此,我們只能以模糊的表達方式論述這個問題,但是,試圖以購買或實施解決方案的費用
多少來量化提出的解決方案十分重要。例如,一個完整的防火牆的高端產品可能價值10萬美元,而低端產品可能是免費的。像
在Cisco或類似的路由器上做一些奇妙的配置這類免費選擇不會花你一分錢,只需要工作人員的時間和幾杯咖啡。
從頭建立一個高端防火牆可能需要幾個人工月,它可能等於價值3萬美元的工作人員工資和利潤。系統管理開銷也是需要考慮
的問題。建立自行開發的防火牆固然很好,但重要的是使建立的防火牆不需要費用高昂的不斷干預。換句話說,在評估防火牆
時,重要的是不僅要以防火牆目前的費用來評估它,而且要考慮到像支持服務這類後續費用。

  出於實用目的,我們目前談論的是網路服務提供商提供的路由器與你內部網路之間存在的靜態傳輸流路由服務,因此基於
為一事實,在技術上,還需要做出幾項決策。傳輸流路由服務可以通過諸如路由器中的過濾規則在IP層實現,或通過代理網關
和服務在應用層實現。

  需要做出的決定是,是否將暴露的簡易機放置在外部網路上為telnet、ftp、news等運行代理服務,或是否設置像過濾器這樣
的屏蔽路由器,允許與一台或多台內部計算機的通信。這兩種方式都存在著優缺點,代理機可以提供更高水平的審計和潛在的
安全性,但代價是配置費用的增加,以及可能提供的服務水平的降低(由於代理機需要針對每種需要的服務進行開發)。由來
以久的易使性與安全性之間的平衡問題再次死死地困擾著我們。

7.防火牆的基本類型是什麼?

在概念上,有兩種類型的防火牆:

1、網路級防火牆
2、應用級防火牆

  這兩種類型的差異並不像你想像得那樣大,最新的技術模糊了兩者之間的區別,使哪個「更好」或「更壞」不再那麼明
顯。同以往一樣,你需要謹慎選擇滿足你需要的防火牆類型。

  網路級防火牆一般根據源、目的地址做出決策,輸入單個的IP包。一台簡單的路由器是「傳統的」網路級防火牆,因為它
不能做出複雜的決策,不能判斷出一個包的實際含意或包的實際出處。現代網路級防火牆已變得越來越複雜,可以保持流經它
的接入狀態、一些數據流的內容等等有關信息。許多網路級防火牆之間的一個重要差別是防火牆可以使傳輸流直接通過,因此
要使用這樣的防火牆通常需要分配有效的IP地址塊。網路級防火牆一般速度都很快,對用戶很透明。

  網路級防火牆的例子:在這個例子中,給出了一種稱為「屏蔽主機防火牆」(screened host
firewall)的網路級防火牆。在屏蔽主機防火牆中,對單個主機的訪問或從單個主機進行訪問是通過運行在網路級上的路由器來
控制的。這台單個主機是一台橋頭堡主機(bastion host),是一個可以(希望如此)抵禦攻擊的高度設防和保險的要塞。

  網路級防火牆的例子:在這個例子中,給出了一種所謂「屏蔽子網防火牆」的網路級防火牆。在屏蔽子網防火牆中,對網
絡的訪問或從這個網路中進行訪問是通過運行在網路級上的路由器來控制的。除了它實際上是由屏蔽主機組成的網路外,它與
被屏蔽主機的作用相似。

  應用級防火牆一般是運行代理服務器的主機,它不允許傳輸流在網路之間直接傳輸,並對通過它的傳輸流進行記錄和審
計。由於代理應用程序是運行在防火牆上的軟體部件,因此它處於實施記錄和訪問控制的理想位置。應用級防火牆可以被用作
網路地址翻譯器,因為傳輸流通過有效地屏蔽掉起始接入原址的應用程序後,從一「面」進來,從另一面出去。在某些情況
下,設置了應用級防火牆後,可能會對性能造成影響,會使防火牆不太透明。早期的應用級防火牆,如那些利用TIS防火牆工
具包構造的防火牆,對於最終用戶不很透明,並需要對用戶進行培訓。應用級防火牆一般會提供更詳盡的審計報告,比網路級
防火牆實施更保守的安全模型。

  應用級防火牆舉例:這此例中,給出了一個所謂「雙向本地網關」(dual homed gateway)的應用級防火牆。雙向本地網關
是一種運行代理軟體的高度安全主機。它有兩個網路接口,每個網路上有一個接口,攔阻通過它的所有傳輸流。

  防火牆未來的位置應當處於網路級防火牆與應用級防火牆之間的某一位置。網路級防火牆可能對流經它們的信息越來越
「瞭解」(aware),而應用級防火牆可能將變得更加「低級」和透明。最終的結果將是能夠對通過的數據流記錄和審計的快速
包屏蔽系統。越來越多的防火牆(網路和應用層)中都包含了加密機制,使它們可以在Internet上保護流經它們之間的傳輸流。
具有端到端加密功能的防火牆可以被使用多點Internet接入的機構所用,這些機構可以將Internet作為「專用骨****網」,無需擔
心自己的數據或口令被偷看。

8.什麼是「單故障點」?應當如何避免出現這種故障?

  安全性取決於一種機制的結構具有單故障點。運行橋頭堡主機的軟體存在錯誤。應用程序存在錯誤。控制路由器的軟體存
在錯誤。使用所有這些組件建造設計安全的網路,並以冗余的方式使用它們才有意義。

  如果你的防火牆結構是屏蔽子網,那麼,你有兩台包過濾路由器和一台橋頭堡主機。(參見本節的問題2)Internet訪問路
由器不允許傳輸流從Internet進入你的專用網路。然而,如果你不在橋頭堡主機以及(或)阻塞(choke)路由器上與其它任何
機制一道執行這個規則(rule)的話,那麼只要這種結構中的一個組件出現故障或遭到破壞就會使攻擊者進入防火牆內部。另
一方面,如果你在橋頭堡主機上具有冗余規則,並在阻塞路由器上也有冗余規則,那麼攻擊者必須對付三種機制。

  此外,如果這台橋頭堡主機或阻塞路由器使用規則來攔阻外部訪問進入內部網路的話,你可能需要讓它觸發某種報警,因
為你知道有人進入了你的訪問路由器。

9.如何才能將所有的惡意的傳輸攔在外面?

  對於重點在於安全而非連接性的防火牆來說,你應當考慮缺省攔阻所有的傳輸,並且只特別地根據具體情況允許你所需要
的服務通過。

  如果你將除特定的服務集之外的所有東西都擋在外面,那麼你已經使你的任務變得很容易了。你無需再為周圍的每樣產品
和每件服務的各種安全問題擔心了,你只需關注特定產品和服務存在的各種安全問題。
 在啟動一項服務之前,你應當考慮下列問題:

*這個產品的協議是人們熟知的公開協議嗎?
*為這個協議提供服務的應用程序的應用情況是否可供公開檢查?
*這項服務和產品是否為人們熟知?
*使用這項服務會怎樣改變防火牆的結構?攻擊者會從不同的角度看待這些嗎?攻擊者能利用這點進入我的內部網路,或
者會改變我的DMZ中主機上的東西嗎?

  在考慮上述問題時,請記住下列忠告:

*「不為人所知的安全性根本不安全。許多未公開的協議都被那些壞傢伙研究並破解過。
*無論營銷人員說些什麼,不是所有的協議或服務在設計時考慮了安全性。事實上,真正在設計時考慮了安全性的協議或服務
數量很少。
*甚至在考慮過安全性的情況下,並不是所有的機構都擁有合格的負責安全的人員。在那些沒有稱職負責安全的人員的機構
中,不是所有的機構都願意請稱職的顧問參與工程項目。這樣做的結果是那些其它方面還稱職的、好心腸的開發者會設計出不
安全的系統。
*廠商越不願意告訴你他們系統的真正工作原理,它就越有可能可存安全性(或其它)問題。只有有什麼東西需要隱瞞的廠商
才有理由隱瞞他們的設計和實施情況。

10.有哪些常見的攻擊?應當如何保護系統不受它們的攻擊呢?

  每個站點與其它站點遭受攻擊的類型都略有不同。但仍有一些共同之處。

SMTP會話攻擊(SMTP Session Hijacking)

  在這種攻擊中,垃圾郵件製造者將一條消息複製成千上萬份,並按一個巨大的電子郵件地址清單發送這條消息。由於這些
地址清單常常很糟糕,並且為了加快垃圾製造者的****作速度,許多垃圾製造者採取了將他們所有的郵件都發送到一台SMTP
服務器上作法,由這台服務器負責實際發送這些郵件。

  當然,彈回(bounces)消息、對垃圾製造者的抱怨、咒罵的郵件和壞的PR都湧入了曾被用作中繼站的站點。這將著實要
讓這個站點破費一下了,其中大部分花費被用到支付以後清除這些信息的人員費用上。

  《防止郵件濫用系統傳輸安全性建議》(The Mail Abuse Prevention System Transport Security Initiative)中對這個問題作了詳
盡的敘述,以及如何對每個寄信人進行配置防止這種攻擊。

利用應用程序中的錯誤(bugs)
  
  不同版本的web服務器、郵件服務器和其它Internet服務軟體都存在各種錯誤,因此,遠程(Internet)用戶可以利用錯誤做
從造成對計算機的控制到引起應用程序癱瘓等各種後果。

  只運行必要的服務、用最新的補丁程序修補程序以及使用應用過一段時間的產品可以減少遭遇這種風險的可能。

利用****作系統中的錯誤

  這類攻擊一般也是由遠程用戶發起的。相對於IP網路較新的****作系統更易出現問題,而很成熟的****作系統有充分的時
間來發現和清除存在的錯誤。攻擊者經常可以使被攻擊的設備不斷重新引導、癱瘓、失去與網路通信的能力,或替換計算機上
的文件。

  因此,盡可能少地運行****作系統服務可以有助於防範對系統的攻擊。此外,在****作系統前端安裝一個包過濾器也可以
大大減少受這類攻擊的次數。

  當然,選擇一個穩定的****作系統也同樣會有幫助。在選擇****作系統時,不要輕信「好貨不便宜」這類說法。自由軟體
****作系統常常比商用****作系統更強健。

11.我必須滿足用戶要求的各種要求嗎?

  對這個問題的答案完全有可能是「不」。對於需要什麼,不需要什麼,每個站點都有自己的策略,但是,重要的是記住作
為一家機構的看門人的主要工作之一是教育。用戶需要流視訊、實時聊天,並要求能夠向請求在內部網路上的活數據庫進行交
互查詢的外部客戶提供服務。

  這意味著完成任何這類事情都會給機構造成風險,而造成的風險往往比想像中沿著這條路走下去的「價值」的回報更高。
多數用戶不願使自己的機構遭受風險。他們只看一看商標,閱讀一下廣告,他們也願意做上述那些事。重要的是瞭解用戶真正
想****些什麼,幫助他們懂得他們可以以更安全的方式實現他們的真正目的。

  你不會總受到歡迎,你可以甚至會發現自己收到了難以置信愚蠢的命令,讓你做一些諸如「打開所有的口子」這樣的事,
但不要為此擔心。在這種時刻,明智的做法是將你的交換數據全都保存起來,這樣當一個十二歲的小孩闖入網路時,你至少能
夠使你自己遠離混亂局面。

12.如何才能通過自己的防火牆運行Web/HTTP?

  有三種辦法做到這點:

1、如果你使用屏蔽路由器的話,允許「建立起的」連接經過路由器接入到防火牆外。

2、使用支持SOCKS的Web客戶機,並在你的橋頭堡主機上運行SOCKS。

3、運行橋頭堡主機上的某種具有代理功能的Web服務器。一些可供選擇的代理服務器包括Squid、Apache、Netscape Proxy和TIS
防火牆工具包中的http-gw。這些選件中的多數還可以代理其它協議(如gopher和ftp),並可緩存捕獲的對象。後者一般會提高
用戶的性能,使你能更有效地使用到Internet的連接。基本上所有的Web戶機(Mozilla、Inter-net Explorer、Lynx等等)都具有內
置的對代理服務器的支持。

13.在使用防火牆時,怎樣使用DNS呢?

  一些機構想隱藏DNS名,不讓外界知道。許多專家認為隱藏DNS名沒有什麼價值,但是,如果站點或企業的政策強制要求
隱藏域名,它也不失為一種已知可行的辦法。你可能必須隱藏域名的另一條理由是你的內部網路上是否有非標準的尋址方案。
不要自欺欺人的認為,如果隱藏了你的DNS名,在攻擊者打入你的防火牆時,會給攻擊者增加困難。有關你的網路的
信息可以很容易地從網路層獲得。假如你有興趣證實這點的話,不妨在LAN上「ping」一下子網廣播地址,然後再執行「arp -
a」。還需要說明的是,隱藏DNS中的域名不能解決從郵件頭、新聞文章等中「洩露」主機名的問題。

  這種方法是許多方法中的一個,它對於希望向Internet隱瞞自己的主機名的機構很有用。這種辦法的成功取決於這樣一個事
實:即一台機器上的DNS客戶機不必與在同一台機器上的DNS服務器對話。換句話說,正是由於在一台機器上有一個DNS服務
器,因此,將這部機器的DNS客戶機活動重定向到另一台機器上的DNS服務器沒有任何不妥(並且經常有好處)。

  首先,你在可以與外部世界通信的橋頭堡主機上建立DNS服務器。你建立這台服務器使它宣佈對你的域名具有訪問的權
力。事實上,這台服務器所瞭解的就是你想讓外部世界所瞭解的:你網關的名稱和地址、你的通配符MX記錄等等。這台服務
器就是「公共」服務器。

  然後,在內部機器上建立一台DNS服務器。這台服務器也宣佈對你的域名具有權力;與公共服務器不同,這台服務器「講
的是真話」。它是你的「正常」的命名服務器,你可以在這台服務器中放入你所有的「正常」DNS名。你再設置這台服務器,
使它可以將它不能解決的查詢轉發到公共服務器(例如,使用Unix機上的/etc/named.boot中的「轉發器」行(forwarder
line))。

  最後,設置你所有的DNS客戶機(例如,Unix機上的/etc/resolv.conf文件)使用內部服務器,這些DNS客戶機包括公共服務
器所在機器上的DNS客戶機。這是關鍵。

  詢問有關一台內部主機信息的內部客戶機向內部服務器提出問題,並得到回答;詢問有關一部外部主機信息的內部客戶機
向內部服務器查詢,內部客戶機再向公共服務器進行查詢,公共服務器再向Internet查詢,然後將得到的答案再一步一步傳回
來。公共服務器上的客戶機也以相同的方式工作。但是,一台詢問關於一台內部主機信息的外部客戶機,只能從公共服務器上
得到「限制性」的答案。

  這種方式假定在這兩台服務器之間有一個包過濾防火牆,這個防火牆允許服務器相互傳遞DNS,但除此之外,限制其它主
機之間的DNS。

  這種方式中的另一項有用的技巧是利用你的IN-ADDR.AROA域名中通配符PTR記錄。這將引起對任何非公共主機的「地址
到名稱」(address-to-name)的查找返回像「unknown.YOUR.DOMAIN」這樣的信息,而非返回一個錯誤。這就滿足了像
ftp.uu.net匿名FTP站點的要求。這類站點要求得到與它們通信的計算機的名字。當與進行DNS交叉檢查的站點通信時,這種方法
就不靈了。在交叉檢查中,主機名要與它的地址匹配,地址也要與主機名匹配。

14.怎樣才能穿過防火牆使用FTP?

  一般來說,可以通過使用像防火牆工具包中的ftp-gw這類代理服務器,或在有限的端口範圍允許接入連接到網路上(利用
如「建立的」屏蔽規則這樣的規則來限制除上述端口外的接入),使FTP可以穿過防火牆工作。然後,修改FTP客戶機,使其將
數據端口連接在允許端口範圍內的一個端口上。這樣做需要能夠修改在內部主機上的FTP客戶機應用。
在某些情況下,如果FTP的下載是你所希望支持的,你不妨考慮宣佈FTP為「死協議」(dead protocol),並且讓戶通過Web下
載文件。如果你選擇FTP-via-Web方式,用戶將不能使用FTP向外傳輸文件,這可能會造成問題,不過這取決你試圖完成什麼。

  另一個不同的辦法是使用FTP "PASV"選項來指示遠程FTP服務器允許客戶機開始連接。PASV方式假設遠程系統上的FTP服
務器支持這種****作。(詳細說明請參看RFC1579)

  另一些站點偏愛建立根據SOCKS庫鏈接的FTP程序的客戶機版本。

15.怎樣才能穿過防火牆使用telnet?
  
  利用像防火牆工具包中的tn-gw這類應用代理,或簡單地配置一台路由器使它利用像「建立的」屏蔽規則等策略允許接出,
一般都可以支持使用telnet。應用代理可以以運行在橋頭堡主機上的獨立代理的形式,或以SOCKS服務器和修改的客戶機的形式
存在。

16.怎樣才能穿過防火牆使用RealAudio?

  RealNetworks中含有關於如何使穿過防火牆RealAudio的一些說明。在沒有清楚地瞭解做哪些改動,瞭解新的改動將帶來什
麼樣的風險的情況下,就改動你的防火牆,是很不明智的。

17.如何才能使web服務器作為專用網路上的一個數據庫的前端呢?

  實現這點的最佳途徑是通過特定的協議在web服務器與數據庫服務器之間允許很有限的連接。特定的協議只支持你將使用
的功能的級別。允許原始SQL或其它任何可為攻擊者利用來進行定制提取(extractions)的東西,一般來說不是一個好主意。

  假設攻擊者能夠進入你的web服務器,並以web服務器同樣的方式進行查詢。難道沒有一種機制能提取web服務器不需要的
像信用卡信息這樣的敏感信息嗎?攻擊者難道不能發出一次SQL選擇,然後提取你整個的專用數據庫嗎?

  同其它所有應用一樣,「電子商務」應用從一開始設計時就充分考慮到了安全問題,而不是以後再想起來「增加」安全
性。應當從一個攻擊者的角度,嚴格審查你的結構。假設攻擊者瞭解你的結構的每一個細節。現在,再問問自己,想要竊取你
的數據、進行非授權的改動或做其它任何你不想讓做的事的話,應當做些什麼。你可能會發現,不需要增加任何功
能,只需做出一些設計和實施上的決策就可大大地增加安全性。

沒有留言:

張貼留言

看倌覺得這篇文章如何?

看到這了,就聊兩句吧!