1.什麼是 防火牆?
防火牆是一個或一組系統,它在網絡之間執行通路控制政策。實防火牆的實際方式各不相同,但是在原則上,防火牆可以被認為是這樣一對機制:一種機制是攔阻傳輸流通行,另一種機制是允許傳輸流通過。一些防火牆偏重攔阻傳輸流的通行,而另一些防火牆則偏重允許傳輸流通過。了解有關防火牆的最重要的概念可能就是它實作了一種通路控制政策。如果你不太清楚你需要允許或否決那類通路,你可以讓其他人或某些産品根據他(它)們認為應當做的事來配置防火牆,然後他(它)們會為你的機構全面地制定通路政策。
2.為何需要防火牆?
同其它任何社會一樣,Internet也受到某些無聊之人的困擾,這些人喜愛在網上做這類的事,像在現實中向其他人的牆上噴染塗鴉、将他人的郵箱推倒或者坐在大街上按汽車喇叭一樣。一些人試圖通過Internet完成一些真正的工作,而另一些人則擁有敏感或專有資料需要保護。一般來說,防火牆的目是将那些無聊之人擋在你的網絡之外,同時使你仍可以完成工作。
許多傳統風格的企業和資料中心都制定了計算安全政策和必須遵守的慣例。在一家公司的安全政策規定資料必須被保護的情況下,防火牆更顯得十分重要,因為它是這家企業安全政策的具體展現。如果你的公司是一家大企業,連接配接到Int-ernet上的最難做的工作經常不是費用或所需做的工作,而是讓管理層信服上網是安全的。防火牆不僅提供了真正的安全性,而且還起到了為管理層蓋上一條安全的毯子的重要作用。
最後,防火牆可以發揮你的企業駐Internet“大使”的作用。許多企業利用其防火牆系統作為儲存有關企業産品和服務的公開資訊、下載下傳檔案、錯誤修補以及其它一些檔案的場所。這些系統當中的幾種系統已經成為Internet服務結構(如UUnet.uu.net、 whitehouse.gov、gatekeeper.dec.com)的重要組成部分,并且給這些機構的贊助者帶來了良好的影響。
3.防火牆可以防範什麼?
一些防火牆隻允許電子郵件通過,因而保護了網絡免受除對電子郵件服務攻擊之外的任何攻擊。另一些防火牆提供不太嚴格的保護措施,并且攔阻一些衆所周知存在問題的服務。
一般來說,防火牆在配置上是防止來自“外部”世界未經授權的互動式登入的。這大大有助于防止破壞者登入到你網絡中的計算機上。一些設計更為精巧的防火牆可以防止來自外部的傳輸流進入内部,但又允許内部的使用者可以自由地與外部通信。如果你切斷防火牆的話,它可以保護你免受網絡上任何類型的攻擊。
防火牆的另一個非常重要的特性是可以提供一個單獨的“攔阻點”,在“攔阻點”上設定安全和審計檢查。與計算機系統正受到某些人利用數據機撥入攻擊的情況不同,防火牆可以發揮一種有效的“電話監聽”(Phone tap)和跟蹤工具的作用。防火牆提供了一種重要的記錄和審計功能;它們經常可以向管理者提供一些情況概要,提供有關通過防火牆的傳流輸的類型和數量以及有多少次試圖闖入防火牆的企圖等等資訊。
4.防火牆不能防範什麼?
防火牆不能防範不經過防火牆的攻擊。許多接入到Internet的企業對通過接入路線造成公司專用資料資料洩露非常擔心。不幸得是,對于這些擔心來說,一盤錄音帶可以被很有效地用來洩露資料。許多機構的管理層對Internet接入非常恐懼,它們對應當如何保護通過數據機撥号通路沒有連慣的政策。當你住在一所木屋中,卻安裝了一扇六英尺厚的鋼門,會被認為很愚蠢。然而,有許多機構購買了價格昂貴的防火牆,但卻忽視了通往其網絡中的其它幾扇後門。要使防火牆發揮作用,防火牆就必須成為整個機構安全架構中不可分割的一部分。防火牆的政策必須現實,能夠反映出整個網絡安全的水準。例如,一個儲存着超級機密或保密資料的站點根本不需要防火牆:首先,它根本不應當被接入到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 hostfirewall)的網絡級防火牆。在屏蔽主機防火牆中,對單個主機的通路或從單個主機進行通路是通過運作在網絡級上的路由器來控制的。這台單個主機是一台橋頭堡主機(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選擇,然後提取你整個的專用資料庫嗎?
同其它所有應用一樣,“電子商務”應用從一開始設計時就充分考慮到了安全問題,而不是以後再想起來“增加”安全性。應當從一個攻擊者的角度,嚴格審查你的結構。假設攻擊者了解你的結構的每一個細節。現在,再問問自己,想要竊取你的資料、進行非授權的改動或做其它任何你不想讓做的事的話,應當做些什麼。你可能會發現,不需要增加任何功能,隻需做出一些設計和實施上的決策就可大大地增加安全性。
轉載于:https://www.cnblogs.com/visily/archive/2013/03/04/2943417.html