繁體小說 > 防火牆 > ◎第四章 防火牆

◎第四章 防火牆

⬅ 上一章 📋 目錄 ⚠ 報錯 下一章 ➡
⭐ 加入書籤
推薦閱讀: 花都風流第一兵王 代嫁寵妻是替身 天鋒戰神 穿越古代賺錢養娃 我覺醒了神龍血脈 我的老婆國色天香 隱婚嬌妻別想跑 遲遲也歡喜 全職獵人之佔蔔師

{

\"code\": 200,

\"title\": \"\",

\"content\": \"防火牆\\n\\n防火牆(英文:firewall)是一項協助確保資訊保安的設備,會依照特定的規則,允許或是限製傳輸的數據通過。防火牆可以是一台專屬的硬體也可以是架設在一般硬體上的一套軟件。也有以防火牆為名的電影。\\n\\n所謂防火牆指的是一個由軟件和硬體設備組合而成、在內部網和外部網之間、專用網與公共網之間的介麵上\\n\\n構造的保護屏障.是一種獲取安全性方法的形象說法,它是一種計算機硬體和軟件的結合,使Interne\\n\\nt與Intranet之\\n\\n間建立起一個安全網關(SecurityGateway),從而保護內部網免受非法用戶的侵入,防火牆主要由服務訪問規則、驗證工具、包過濾和應用網關4個部分組成,\\n\\n防火牆就是一個位於計算機和它所連接的網絡之間的軟件或硬體。該計算機流入流出的所有網絡通訊和數據包均要經過此防火牆。\\n\\n在網絡中,所謂“防火牆”,是指一種將內部網和公眾訪問網(如Internet)分開的方法,它實際上是一種隔離技術。防火牆是在兩個網絡通訊時執行的一種訪問控製尺度,它能允許你“同意”的人和數據進入你的網絡,同時將你“不同意”的人和數據拒之門外,最大限度地阻止網絡中的黑客來訪問你的網絡。換句話說,如果不通過防火牆,公司內部的人就無法訪問Internet,Internet上的人也無法和公司內部的人進行通訊。\\n\\n作用\\n\\n防火牆具有很好的保護作用。入侵者必須首先穿越防火牆的安全防線,才能接觸目標計算機。你可以將防火牆配置成許多不同保護級彆。高級彆的保護可能會禁止一些服務,如視頻流等,但至少這是你自己的保護選擇。\\n\\n類型\\n\\n網絡層防火牆\\n\\n網絡層防火牆可視為一種IP封包過濾器,運作在底層的TCP\\/IP協議堆棧上。我們可以以枚舉的方式,隻允許符合特定規則的封包通過,其餘的一概禁止穿越防火牆(病毒除外,防火牆不能防止病毒侵入)。這些規則通常可以經由管理員定義或修改,不過某些防火牆設備可能隻能套用內置的規則。\\n\\n我們也能以另一種較寬鬆的角度來製定防火牆規則,隻要封包不符合任何一項“否定規則”就予以放行。現在的操作係統及網絡設備大多已內置防火牆功能。\\n\\n較新的防火牆能利用封包的多樣屬性來進行過濾,例如:來源IP地址、來源號、目的IP地址或號、服務類型(如WWW或是FTP)。也能經由通訊協議、TTL值、來源的網域名稱或網段...等屬性來進行過濾。\\n\\n應用層防火牆\\n\\n應用層防火牆是在TCP\\/IP堆棧的“應用層”上運作,您使用瀏覽器時所產生的數據流或是使用FTP時的數據流都是屬於這一層。應用層防火牆可以攔截進出某應用程式的所有封包,並且封鎖其他的封包(通常是直接將封包丟棄)。理論上,這一類的防火牆可以完全阻絕外部的數據流進到受保護的機器裡。\\n\\n防火牆藉由監測所有的封包並找出不符規則的內容,可以防範電腦蠕蟲或是木馬程式的快速蔓延。不過就實現而言,這個方法既煩且雜(軟件有千千百百種啊),所以大部分的防火牆都不會考慮以這種方法設計。\\n\\nXML防火牆是一種新型態的應用層防火牆。\\n\\n基本特性\\n\\n(一)內部網絡和外部網絡之間的所有網絡數據流都必須經過防火牆\\n\\n這是防火牆所處網絡位置特性,同時也是一個前提。因為隻有當防火牆是內、外部網絡之間通訊的唯一通道,纔可以全麵、有效地保護企業網內部網絡不受侵害。\\n\\n根據美國國家安全域性製定的《資訊保障技術框架》,防火牆適用於用戶網絡係統的邊界,屬於用戶網絡邊界的安全保護設備。所謂網絡邊界即是采用不同安全策略的兩個網絡連接處,比如用戶網絡和互聯網之間連接、和其它業務往來單位的網絡連接、用戶內部網絡不同部門之間的連接等。防火牆的目的就是在網絡連接之間建立一個安全控製點,通過允許、拒絕或重新定向經過防火牆的數據流,實現對進、出內部網絡的服務和訪問的審計和控製。\\n\\n典型的防火牆體係網絡結構如下圖所示。從圖中可以看出,防火牆的一端連接企事業單位內部的局域網,而另一端則連接著互聯網。所有的內、外部網絡之間的通訊都要經過防火牆。\\n\\n(二)隻有符合安全策略的數據流才能通過防火牆\\n\\n防火牆最基本的功能是確保網絡流量的合法性,並在此前提下將網絡的流量快速的從一條鏈路轉發到另外的鏈路上去。從最早的防火牆模型開始談起,原始的防火牆是一台“雙穴主機”,即具備兩個網絡介麵,同時擁有兩個網絡層地址。防火牆將網絡上的流量通過相應的網絡介麵接收上來,按照OSI協議棧的七層結構順序上傳,在適當的協議層進行訪問規則和安全審查,然後將符合通過條件的報文從相應的網絡介麵送出,而對於那些不符合通過條件的報文則予以阻斷。因此,從這個角度上來說,防火牆是一個類似於橋接或路由器的、多的(網絡介麵>=2)轉發設備,它跨接於多個分離的物理網段之間,並在報文轉發過程之中完成對報文的審查工作。如下圖:\\n\\n(三)防火牆自身應具有非常強的抗攻擊免疫力\\n\\n這是防火牆之所以能擔當企業內部網絡安全防護重任的先決條件。防火牆處於網絡邊緣,它就像一個邊界衛士一樣,每時每刻都要麵對黑客的入侵,這樣就要求防火牆自身要具有非常強的抗擊入侵本領。它之所以具有這麼強的本領防火牆操作係統本身是關鍵,隻有自身具有完整信任關係的操作係統纔可以談論係統的安全性。其次就是防火牆自身具有非常低的服務功能,除了專門的防火牆嵌入係統外,再冇有其它應用程式在防火牆上運行。當然這些安全性也隻能說是相對的。\\n\\n目前國內的防火牆幾乎被國外的品牌占據了一半的市場,國外品牌的優勢主要是在技術和知名度上比國內產品高。而國內防火牆廠商對國內用戶瞭解更加透徹,價格上也更具有優勢。防火牆產品中,國外主流廠商為思科(Cisco)、CheckPoint、NetScreen等,國內主流廠商為東軟、天融信、山石網科、網禦神州、聯想、方正等,它們都提供不同級彆的防火牆產品。\\n\\n代理服務\\n\\n代理服務設備(可能是一台專屬的硬體,或隻是普通機器上的一套軟件)也能像應用程式一樣迴應輸入封包(例如連接要求),同時封鎖其他的封包,達到類似於防火牆的效果。\\n\\n代理使得由外在網絡竄改一個內部係統更加困難,並且一個內部係統誤用不一定會導致一個安全漏洞可開采從防火牆外麵(隻要應用代理剩下的原封和適當地被配置)。相反地,入侵者也許劫持一個公開可及的係統和使用它作為代理人為他們自己的目的;代理人然後偽裝作為那個係統對其它內部機器。當對內部地址空間的用途加強安全,破壞狂也許仍然使用方法譬如IP欺騙試圖通過小包對目標網絡。\\n\\n防火牆經常有網絡地址轉換(NAT)的功能,並且主機被保護在防火牆之後共同地使用所謂的“私人地址空間”,依照被定義在[RFC1918]。管理員經常設置了這樣情節在努力(無定論的有效率)假裝內部地址或網絡。\\n\\n防火牆的適當的配置要求技巧和智慧。它要求管理員對網絡協議和電腦安全有深入的瞭解。因小差錯可使防火牆不能作為安全工具。\\n\\n優點\\n\\n(1)防火牆能強化安全策略。\\n\\n(2)防火牆能有效地記錄Internet上的活動。\\n\\n(3)防火牆限製暴露用戶點。防火牆能夠用來隔開網絡中一個網段與另一個網段。這樣,能夠防止影響一個網段的問題通過整個網絡傳播。\\n\\n(4)防火牆是一個安全策略的檢查站。所有進出的資訊都必須通過防火牆,防火牆便成為安全問題的檢查點,使可疑的訪問被拒絕於門外。\\n\\n功能\\n\\n防火牆最基本的功能就是控製在計算機網絡中,不同信任程度區域間傳送的數據流。例如互聯網是不可信任的區域,而內部網絡是高度信任的區域。以避免安全策略中禁止的一些通訊,與建築中的防火牆功能相似。它有控製資訊基本的任務在不同信任的區域。典型信任的區域包括互聯網(一個冇有信任的區域)和一個內部網絡(一個高信任的區域)。最終目標是提供受控連通性在不同水平的信任區域通過安全政策的運行和連通性模型之間根據最少特權原則。\\n\\n例如:TCP\\/IPPort135~139是MicrosoftWindows的【網上鄰居】所使用的。如果計算機有使用【網上鄰居】的【共享檔案夾】,又冇使用任何防火牆相關的防護措施的話,就等於把自己的【共享檔案夾】公開到Internet,供不特定的任何人有機會瀏覽目錄內的檔案。且早期版本的Windows有【網上鄰居】係統溢位的無密碼保護的漏洞(這裡是指【共享檔案夾】有設密碼,但可經由此係統漏洞,達到無須密碼便能瀏覽檔案夾的需求)。\\n\\n防火牆對流經它的網絡通訊進行掃描,這樣能夠過濾掉一些攻擊,以免其在目標計算機上被執行。防火牆還可以關閉不使用的。而且它還能禁止特定的流出通訊,封鎖特洛伊木馬。最後,它可以禁止來自特殊站點的訪問,從而防止來自不明入侵者的所有通訊。\\n\\n網絡安全的屏障\\n\\n一個防火牆(作為阻塞點、控製點)能極大地提高一個內部網絡的安全性,並通過過濾不安全的服務而降低風險。由於隻有經過精心選擇的應用協議才能通過防火牆,所以網絡環境變得更安全。如防火牆可以禁止諸如眾所周知的不安全的NFS協議進出受保護網絡,這樣外部的攻擊者就不可能利用這些脆弱的協議來攻擊內部網絡。防火牆同時可以保護網絡免受基於路由的攻擊,如IP選項中的源路由攻擊和ICMP重定向中的重定向路徑。防火牆應該可以拒絕所有以上類型攻擊的報文並通知防火牆管理員。\\n\\n強化網絡安全策略\\n\\n通過以防火牆為中心的安全方案配置,能將所有安全軟件(如口令、加密、身份認證、審計等)配置在防火牆上。與將網絡安全問題分散到各個主機上相比,防火牆的集中安全管理更經濟。例如在網絡訪問時,一次一密口令係統和其它的身份認證係統完可以不必分散在各個主機上,而集中在防火牆一身上。\\n\\n對網絡存取和訪問進行監控審計\\n\\n如果所有的訪問都經過防火牆,那麼,防火牆就能記錄下這些訪問並作出日誌記錄,同時也能提供網絡使用情況的統計數據。當發生可疑動作時,防火牆能進行適當的報警,並提供網絡是否受到監測和攻擊的詳細資訊。另外,收集一個網絡的使用和誤用情況也是非常重要的。首先的理由是可以清楚防火牆是否能夠抵擋攻擊者的探測和攻擊,並且清楚防火牆的控製是否充足。而網絡使用統計對網絡需求分析和威脅分析等而言也是非常重要的。\\n\\n防止內部資訊的外泄\\n\\n通過利用防火牆對內部網絡的劃分,可實現內部網重點網段的隔離,從而限製了區域性重點或敏感網絡安全問題對全域性網絡造成的影響。再者,**是內部網絡非常關心的問題,一個內部網絡中不引人注意的細節可能包含了有關安全的線索而引起外部攻擊者的興趣,甚至因此而暴漏了內部網絡的某些安全漏洞。使用防火牆就可以隱蔽那些透漏內部細節如Finger,DNS等服務。Finger顯示了主機的所有用戶的註冊名、真名,最後登錄時間和使用shell類型等。但是Finger顯示的資訊非常容易被攻擊者所獲悉。攻擊者可以知道一個係統使用的頻繁程度,這個係統是否有用戶正在連線上網,這個係統是否在被攻擊時引起注意等等。防火牆可以同樣阻塞有關內部網絡中的DNS資訊,這樣一台主機的域名和IP地址就不會被外界所瞭解。\\n\\nVPN\\n\\n除了安全作用,防火牆還支援具有Internet服務特性的企業內部網絡技術體係VPN(虛擬專用網)。\\n\\n防火牆的英文名為“FireWall”,它是目前一種最重要的網絡防護設備。從專業角度講,防火牆是位於兩個(或多個)網絡間,實施網絡之間訪問控製的一組組件集合。\\n\\n防火牆在網絡中經常是以下圖所示的兩種圖標出現的。左邊那個圖標非常形象,真正像一堵牆一樣。而右邊那個圖標則是從防火牆的過濾機製來形象化的,在圖標中有一個二極管圖標。而二極管我們知道,它具有單嚮導電性,這樣也就形象地說明瞭防火牆具有單嚮導通性。這看起來與現在防火牆過濾機製有些矛盾,不過它卻完全體現了防火牆初期的設計思想,同時也在相當大程度上體現了當前防火牆的過濾機製。因為防火最初的設計思想是對內部網絡總是信任的,而對外部網絡卻總是不信任的,所以最初的防火牆是隻對外部進來的通訊進行過濾,而對內部網絡用戶發出的通訊不作限製。當然目前的防火牆在過濾機製上有所改變,不僅對外部網絡發出的通訊連接要進行過濾,對內部網絡用戶發出的部分連接請求和數據包同樣需要過濾,但防火牆仍隻對符合安全策略的通訊通過,也可以說具有“單嚮導通”性。\\n\\n防火牆的本義是指古代構築和使用木製結構房屋的時候,為防止火災的發生和蔓延,人們將堅固的石塊堆砌在房屋周圍作為屏障,這種防護構築物就被稱之為“防火牆”。其實與防火牆一起起作用的就是“門”。如果冇有門,各房間的人如何溝通呢,這些房間的人又如何進去呢?當火災發生時,這些人又如何逃離現場呢?這個門就相當於我們這裡所講的防火牆的“安全策略”,所以在此我們所說的防火牆實際並不是一堵實心牆,而是帶有一些小孔的牆。這些小孔就是用來留給那些允許進行的通訊,在這些小孔中安裝了過濾機製,也就是上麵所介紹的“單嚮導通性”。\\n\\n我們通常所說的網絡防火牆是借鑒了古代真正用於防火的防火牆的喻義,它指的是隔離在本地網絡與外界網絡之間的一道防禦係統。防火可以使企業內部局域網(LAN)網絡與Internet之間或者與其他外部網絡互相隔離、限製網絡互訪用來保護內部網絡。\\n\\n曆史架構\\n\\n防火牆的硬體體繫結構曾經曆過通用CPU架構、ASIC架構和網絡處理器架構,他們各自的特點分彆如下:\\n\\n通用CPU架構\\n\\n通用CPU架構最常見的是基於IntelX86架構的防火牆,在百兆防火牆中IntelX86架構的硬體以其高靈活性和擴展性一直受到防火牆廠商的青睞;由於采用了PCI總線介麵,IntelX86架構的硬體雖然理論上能達到2Gbps的吞吐量甚至更高,但是在實際應用中,尤其是在小包情況下,遠遠達不到標稱效能,通用CPU的處理能力也很有限。\\n\\n國內安全設備主要采用的就是基於X86的通用CPU架構。\\n\\nASIC架構\\n\\nASIC(ApplicationSpecificIntegratedCircuit,專用整合電路)技術是國外高階網絡設備幾年前廣泛采用的技術。由於采用了硬體轉發模式、多總線技術、數據層麵與控製層麵分離等技術,ASIC架構防火牆解決了帶寬容量和效能不足的問題,穩定性也得到了很好的保證。\\n\\nASIC技術的效能優勢主要體現在網絡層轉發上,而對於需要強大計算能力的應用層數據的處理則不占優勢,而且麵對頻繁變異的應用安全問題,其靈活性和擴展性也難以滿足要求。\\n\\n由於該技術有較高的技術和資金門檻,主要是國內外知名廠商在采用,國外主要代錶廠商是Netscreen,國內主要代錶廠商為天融信、網禦神州。\\n\\n網絡處理器架構\\n\\n由於網絡處理器所使用的微碼編寫有一定技術難度,難以實現產品的最優效能,因此網絡處理器架構的防火牆產品難以占有大量的市場份額。\\n\\n基於國產CPU的防火牆\\n\\n隨著國內通用處理器的發展,逐漸發展了基於中國芯的防火牆,主要架構為國產龍芯2F FPGA的協議處理器,主要應用政府、軍隊等對國家安全敏感的行業。代錶廠商有中科院計算所、博華科技等公司。\\n\\n三種配置\\n\\n防火牆配置有三種:Dual-homed方式、Screened-host方式和Screened-subnet方式。\\n\\nDual-homed方式最簡單。Dual-homedGateway放置在兩個網絡之間,這個Dual-omedGateway又稱為bastionhost。這種結構成本低,但是它有單點失敗的問題。這種結構冇有增加網絡安全的自我防衛能力,而它往往是受“黑客”攻擊的首選目標,它自己一旦被攻破,整個網絡也就暴露了。\\n\\nScreened-host方式中的Screeningrouter為保護Bastionhost的安全建立了一道屏障。它將所有進入的資訊先送往Bastionhost,並且隻接受來自Bastionhost的數據作為出去的數據。這種結構依賴Screeningrouter和Bastionhost,隻要有一個失敗,整個網絡就暴露了。\\n\\nScreened-subnet包含兩個Screeningrouter和兩個Bastionhost。在公共網絡和私有網絡之間構成了一個隔離網,稱之為”停火區”(DMZ,即DemilitarizedZone),Bastionhost放置在“停火區”內。這種結構安全性好,隻有當兩個安全單元被破壞後,網絡才被暴露,但是成本也很昂貴。\\n\\n發展史\\n\\n第一代防火牆\\n\\n第一代防火牆技術幾乎與路由器同時出現,采用了包過濾(Packetfilter)技術。下圖表示了防火牆技術的簡單發展曆史。\\n\\n第二、三代防火牆\\n\\n1989年,貝爾實驗室的DavePresotto和HowardTrickey推出了第二代防火牆,即電路層防火牆,同時提出了第三代防火牆——應用層防火牆(代理防火牆)的初步結構。\\n\\n第四代防火牆\\n\\n1992年,USC資訊科學院的BobBraden開發出了基於動態包過濾(Dynamicpacketfilter)技術的第四代防火牆,後來演變為目前所說的狀態監視(Statefulinspection)技術。1994年,以色列的CheckPoint公司開發出了第一個采用這種技術的商業化的產品。\\n\\n第五代防火牆\\n\\n1998年,NAI公司推出了一種自適應代理(Adaptiveproxy)技術,並在其產品GauntletFirewallforNT中得以實現,給代理類型的防火牆賦予了全新的意義,可以稱之為第五代防火牆。\\n\\n一體化安全網關UTM\\n\\nUTM統一威脅管理,在防火牆基礎上發展起來的,具備防火牆、IPS、防病毒、防垃圾郵件等綜合功能的設備。由於同時開啟多項功能會大大降低UTM的處理效能,因此主要用於對效能要求不高的中低端領域。在中低端領域,UTM已經出現了代替防火牆的趨勢,因為在不開啟附加功能的情況下,UTM本身就是一個防火牆,而附加功能又為用戶的應用提供了更多選擇。在高階應用領域,比如電信、金融等行業,仍然以專用的高效能防火牆、IPS為主流。\\n\\n工作原理\\n\\n防火牆就是一種過濾塞(目前你這麼理解不算錯),你可以讓你喜歡的東西通過這個塞子,彆的玩意都統統過濾掉。在網絡的世界裡,要由防火牆過濾的就是承載通訊數據的通訊包。\\n\\n天下的防火牆至少都會說兩個詞:Yes或者No。直接說就是接受或者拒絕。最簡單的防火牆是以太網橋。但幾乎冇有人會認為這種原始防火牆能管多大用。大多數防火牆采用的技術和標準可謂五花八門。這些防火牆的形式多種多樣:有的取代係統上已經裝備的TCP\\/IP協議棧;有的在已有的協議棧上建立自己的軟件模塊;有的乾脆\\n\\n就是獨立的\\n\\n一套操作係統。還有一些應用型的防火牆隻對特定類型的網絡連\\n\\n接提供保護(比如**TP或者HTTP協議等)。還有一些基於硬體的防火牆產品其實應該歸入安全路由器一類。以上的產品都可以叫做防火牆,因為他們的工作方式都是一樣的:分析出入防火牆的數據包,決定放行還是把他們扔到一邊。\\n\\n所有的防火牆都具有IP地址過濾功能。這項任務要檢查IP包頭,根據其IP源地址和目標地址作出放行\\/丟棄決定。看看下麵這張圖,兩個網段之間隔了一個防火牆,防火牆的一端有台UNIX計算機,另一邊的網段則擺了台PC客戶機。\\n\\n當PC客戶機向UNIX計算機發起telnet請求時,PC的telnet客戶程式就產生一個TCP包並\\n\\n把它傳給本地的協議\\n\\n棧準備發送。接下來,協議棧將這個TCP包“塞”到一個IP包裡,然後通過PC機的TCP\\/IP棧所定義的路徑將它發送給UNIX計算機。在這個例子裡,這個IP包必須經過橫在PC和UNIX計算機中的防火牆才能到達UNIX計算機。\\n\\n現在我們“命令”(用專業術語來說就是配製)防火牆把所有發給UNIX計算機的數據包都給拒了,完成這項工作以後,“心腸”比較好的防火牆還會通知客戶程式一聲呢!既然發向目標的IP數據冇法轉發,那麼隻有和UNIX計算機同在一個網段的用戶才能訪問UNIX計算機了。\\n\\n還有一種情況,你可以命令防火牆專給那台可憐的PC機找茬,彆人的數據包都讓過就它不行。這正是防火牆最基本的功能:根據IP地址做轉發判斷。但要上了大場麵這種小伎倆就玩不轉了,由於黑客們可以采用IP地址欺騙技術,偽裝成合法地址的計算機就\\n\\n可以穿越信任這個地址的防火牆了。不過根\\n\\n據地址的轉發決策機製還是最基\\n\\n本和必需的。另外要注意的一點是,不要用DNS主機名建立過濾表,對DNS的偽造比IP地址欺騙要容易多了。\\n\\n服務器TCP\\/UDP過濾\\n\\n僅僅依靠地址進行數據過濾在實際運用中是不可行的,還有個原因就是目標主機上往往運行著多種通訊服務,比方說,我們不想讓用戶采用telnet的方式連到係統,但這絕不等於我們非得同時禁止他們使用**TP\\/POP郵件服務器吧?所以說,在地址之外我們還要對服務器的TCP\\/UDP進行過濾。\\n\\n比如,默認的telnet服務連接號是23。假如我們不許PC客戶機建立對UNIX計算機(在這時我們當它是服務器)的telnet連接,那麼我們隻需命令防火牆檢查發送目標是UNIX服務器的數據包,把其中具有23目標號的包過濾就行了。這樣,我們把IP地址和目標服務器TCP\\/UDP結合起來不就可以作為過濾標準來實現相當可靠的防火牆了嗎?不,冇這麼簡單。\\n\\n客戶機也有TCP\\/UDP\\n\\nTCP\\/IP是一種端對端協議,每個網絡節點都具有唯一的地址。網絡節點的應用層也是這樣,處於應用層的每個應用程式和服務都具有自己的對應“地址”,也就是號。地址和都具備了才能建立客戶機和服務器的各種應用之間的有效通訊聯絡。比如,telnet服務器在23偵聽入站連接。同時telnet客戶機也有一個號,否\\n\\n則客戶機\\n\\n的IP棧怎麼知道某個數據包是屬於哪個應用程式的呢?\\n\\n由於曆史的原因,幾乎所有的TCP\\/IP客戶程式都使用大於1023的隨機分配號。隻有UNIX計算機上的root用戶纔可以訪問1024以下的,而這些還保留為服務器上的服務所用。所以,除非我們讓所有具有大於1023號的數據包進入網絡,否則各種網絡連接都冇法正常工作。\\n\\n這對防火牆而言可就麻煩了,如果阻塞入站的全部,那麼所有的客戶機都冇法使用網絡資源。因為服務器發出響應外部連接請求的入站(就是進入防火牆的意思)數據包都冇法經過防火牆的入站過濾。反過來,打開所有高於1023的就可行了嗎?也不儘然。由於很多服務使用的都大於1023,比如Xclient、基於RPC的NFS服務以及為數眾多的非UNIXIP產品等(NetWare\\/IP)就是這樣的。那麼讓達到1023標準的數據包都進入網絡的話網絡還能說是安全的嗎?連這些客戶程式都不敢說自己是足夠安全的。\\n\\n雙向過濾\\n\\nOK,咱們換個思路。我們給防火牆這樣下命令:已知服務的數據包可以進來,其他的全部擋在防火牆之外。比如,如果你知道用戶要訪問Web服務器,那就隻讓具有源號80的數據包進入網絡:\\n\\n不過新問題又出現了。首先,你怎麼知道你要訪問的服務器具有哪些正在運行的號呢?象HTTP這樣的服務器本來就是可以任意配置的,所采用的也可以隨意配置。如果你這樣設置防火牆,你就冇法訪問哪些冇采用標準號的的網絡站點了!反過來,你也冇法保證進入網絡的數據包中具有號80的就一定來自Web服務器。有些黑客就是利用這一點製作自己的入侵工具,並讓其運行在本機的80!\\n\\n檢查ACK位\\n\\n源地址我們不相信,源也信不得了,這個不得不與黑客共舞的瘋狂世界上還有什麼值得我\\n\\n們信任呢?還\\n\\n好,事情還冇到走投無路的地步。對策還是有的,不過這個辦法隻能用於TCP協議。\\n\\nTCP是一種可靠的通訊協議,“可靠”這個詞意味著協議具有包括糾錯機製在內的一些特殊性質。為了實現其可靠性,每個TCP連接都要先經過一個“握手”過程來交換連接參數。還有,每個發送出去的包在後續的其他包被髮送出去之前必須獲得一個確認響應。但並不是對每個TCP包都非要采用專門的ACK包來響應,實際上僅僅在TCP包頭上設置一個專門的位就可以完成這個功能了。所以,隻要產生了響應包就要設置ACK位。連接會話的第一個包不用於確認,所以它就冇有設置ACK位,後續會話交換的TCP包就要設置ACK位了。\\n\\n舉個例子,PC向遠端的Web服務器發起一個連接,它生成一個冇有設置ACK位的連接請求包。當服務器響應該請求時,服務器就發回一個設置了ACK位的數據包,同時在包裡標記從客戶機所收到的字節數。然後客戶機就用自己的響應包再響應該數據包,這個數據包也設置了ACK位並標記了從服務器收到的字節數。通過監視ACK位,我們就可以將進入網絡的數據限製在響應包的範圍之內。於是,遠程係統根本無法發起TCP連接但卻能響應收到的數據包了。\\n\\n這套機製還不能算是無懈可擊,簡單地舉個例子,假設我們有台內部Web服務器,那麼80就不得不被打開以便外部請求可以進入網絡。還有,對UDP包而言就冇法監視ACK位了,因為UDP包壓根就冇有ACK位。還有一些TCP應用程式,比如FTP,連接就必須由這些服務器程式自己發起。\\n\\nFTP帶來的困難\\n\\n一般的Internet服務對所有的通訊都隻使用一對號,FTP程式在連接期間則使用兩對號。第一對號用於FTP的“命令通道”提供登錄和執行命令的通訊鏈路,而另一對號則用於FTP的“數據通道”提供客戶機和服務器之間的檔案傳送。\\n\\n在通常的FTP會話過程中,客戶機首先向服務器的21(命令通道)發送一個TCP連接請求,然後執行LOGIN、DIR等各種命令。一旦用戶請求服務器發送數據,FTP服務器就用其20(數據通道)向客戶的數據發起連接。問題來了,如果服務器向客戶機發起傳送數據的連接,那麼它就會發送冇有設置ACK位的數據包,防火牆則按照剛纔的規則拒絕該數據包同時也就意味著數據傳送冇戲了。通常隻有高級的、也就是夠聰明的防火牆才能看出客戶機剛纔告訴服務器的,然後才許可對該的入站連接。\\n\\nUDP過濾\\n\\n好了,現在我們回過頭來看看怎麼解決UDP問題。剛纔說了,UDP包冇有ACK位所以不能進行ACK位過濾。UDP是發出去不管的“不可靠”通訊,這種類型的服務通常用於廣播、路由、多媒體等廣播形式的通訊任務。NFS、DNS、WINS、NetBIOS-over-TCP\\/IP和NetWare\\/IP都使用UDP。\\n\\n看來最簡單的可行辦法就是不允許建立入站UDP連接。防火牆設置為隻許轉發來自內部介麵的UDP包,來自外部介麵的UDP包則不轉發。現在的問題是,比方說,DNS名稱解析請求就使用UDP,如果你提供DNS服務,至少得允許一些內部請求穿越防火牆。還有IRC這樣的客戶程式也使用UDP,如果要讓你的用戶使用它,就同樣要讓他們的UDP包進入網絡。我們能做的就是對那些從本地到可信任站點之間的連接進行限製。但是,什麼叫可信任!如果黑客采取地址欺騙的方法不又回到老路上去了嗎?\\n\\n有些新型路由器可以通過“記憶”出站UDP包來解決這個問題:如果入站UDP包匹配最近出站UDP包的目標地址和號就讓它進來。如果在內存中找不到匹配的UDP包就隻好拒絕它了!但是,我們如何確信產生數據包的外部主機就是內部客戶機希望通訊的服務器呢?如果黑客詐稱DNS服務器的地址,那麼他在理論上當然可以從附著DNS的UDP發起攻擊。隻要你允許DNS查詢和反饋包進入網絡這個問題就必然存在。辦法是采用代理服務器。\\n\\n所謂代理服務器,顧名思義就是代表你的網絡和外界打交道的服務器。代理服務器不允許存在任何網絡內外的直接連接。它本身就提供公共和專用的DNS、郵件服務器等多種功能。代理服務器重寫數據包而不是簡單地將其轉發了事。給人的感覺就是網絡內部的主機都站在了網絡的邊緣,但實際上他們都躲在代理的後麵,露麵的不過是代理這個假麵具。\\n\\n注意事項\\n\\n1.防火牆實現了你的安全政策\\n\\n防火牆加強了一些安全策略。如果你冇有在放置防火牆之前製定安全策略的話,那麼現在就是製定的時候了。它可以不被寫成書麵形式,但是同樣可以作為安全策略。如果你還冇有明確關於安全策略應當做什麼的話,安裝防火牆就是你能做的最好的保護你的站點的事情,並且要隨時維護它也是很不容易的事情。要想有一個好的防火牆,你需要好的安全策略---寫成書麵的並且被大家所接受。\\n\\n2.一個防火牆在許多時候並不是一個單一的設備\\n\\n除非在特彆簡單的案例中,防火牆很少是單一的設備,而是一組設備。就算你購買的是一個商用的“all-in-one”防火牆應用程式,你同樣得配置其他機器(例如你的網絡服務器)來與之一同運行。這些其他的機器被認為是防火牆的一部分,這包含了對這些機器的配置和管理方式,他們所信任的是什麼,什麼又將他們作為可信的等等。你不能簡單的選擇一個叫做“防火牆”的設備卻期望其擔負所有安全責任。\\n\\n3.防火牆並不是現成的隨時獲得的產品\\n\\n選擇防火牆更像買房子而不是選擇去哪裡度假。防火牆和房子很相似,你必須每天和它待在一起,你使用它的期限也不止一兩個星期那麼多。都需要維護否則都會崩潰掉。建設防火牆需要仔細的選擇和配置一個解決方案來滿足你的需求,然後不斷的去維護它。需要做很多的決定,對一個站點是正確的解決方案往往對另外站點來說是錯誤的。\\n\\n4.防火牆並不會解決你所有的問題\\n\\n並不要指望防火牆靠自身就能夠給予你安全。防火牆保護你免受一類攻擊的威脅,人們嘗試從外部直接攻擊內部。但是卻不能防止從LAN內部的攻擊,它甚至不能保護你免受所有那些它能檢測到的攻擊。\\n\\n5.使用默認的策略\\n\\n正常情況下你的手段是拒絕除了你知道必要和安全的服務以外的任何服務。但是新的漏洞每天都出現,關閉不安全的服務意味著一場持續的戰爭。\\n\\n6.有條件的妥協,而不是輕易的\\n\\n人們都喜歡做不安全的事情。如果你允許所有的請求的話,你的網絡就會很不安全。如果你拒絕所有的請求的話,你的網絡同樣是不安全的,你不會知道不安全的東西隱藏在哪裡。那些不能和你一同工作的人將會對你不利。你需要找到滿足用戶需求的方式,雖然這些方式會帶來一定量的風險。\\n\\n7.使用分層手段\\n\\n並在一個地點以來單一的設備。使用多個安全層來避免某個失誤造成對你關心的問題的侵害。\\n\\n8.隻安裝你所需要的\\n\\n防火牆機器不能像普通計算機那樣安裝廠商提供的全部軟件分發。作為防火牆一部分的機器必須保持最小的安裝。即使你認為有些東西是安全的也不要在你不需要的時候安裝它。\\n\\n9.使用可以獲得的所有資源\\n\\n不要建立基於單一來源的資訊的防火牆,特彆是該資源不是來自廠商。有許多可以利用的資源:例如廠商資訊,我們所編寫的書,郵件組,和網站。\\n\\n10.隻相信你能確定的\\n\\n不要相信圖形介麵的手工和對話框或是廠商關於某些東西如何運行的聲明,檢測來確定應當拒絕的連接都拒絕了。檢測來確定應當允許的連接都允許了。\\n\\n11.不斷的重新評價決定\\n\\n你五年前買的房子今天可能已經不適合你了。同樣的,你一年以前所安裝的防火牆對於你現在的情況已經不是最好的解決方案了。對於防火牆你應當經常性的評估你的決定並確認你仍然有合理的解決方案。更改你的防火牆,就像搬新家一樣,需要明顯的努力和仔細的計劃。\\n\\n12.要對失敗有心理準備\\n\\n做好最壞的心理準備。防火牆不是萬能的,對一些新出現的病毒和木馬可能冇有反映,要時常的更新.機器可能會停止運行,動機良好的用戶可能會做錯事情,有惡意動機的用戶可能做壞的事情併成功的打敗你。但是一定要明白當這些事情發生的時候這並不是一個完全的災難。\\n\\n\"

}

第 1 頁
⬅ 上一章 📋 目錄 ⚠ 報錯 下一章 ➡
升級 VIP · 無廣告 + VIP 章節全解鎖
👑 VIP 特權 全站去廣告清爽閱讀 · VIP 章節無限暢讀,月卡僅 $5
報錯獎勵 發現文字亂碼、缺章、內容重複?點上方「章節報錯」回報,審核通過立獲 3天VIP
書單獎勵 前往 個人中心 投稿你的私藏書單,審核通過立獲 7天VIP
⭐ 立即升級 VIP · 月卡僅 $5
還沒有帳號? 免費註冊 | 登入後購買