第8章+++Linux網(wǎng)絡(luò)安全.ppt_第1頁
第8章+++Linux網(wǎng)絡(luò)安全.ppt_第2頁
第8章+++Linux網(wǎng)絡(luò)安全.ppt_第3頁
第8章+++Linux網(wǎng)絡(luò)安全.ppt_第4頁
第8章+++Linux網(wǎng)絡(luò)安全.ppt_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第8章 網(wǎng)絡(luò)安全,本章學(xué)習(xí)目標(biāo) 通過對本章的學(xué)習(xí),讀者應(yīng)該掌握以下主要內(nèi)容: 計算機網(wǎng)絡(luò)安全的基本概念及Linux系統(tǒng)安全 防火墻技術(shù)基本知識 用iptales實現(xiàn)包過濾型防火墻,8.1 計算機網(wǎng)絡(luò)安全基礎(chǔ)知識,8.1.1 網(wǎng)絡(luò)安全的含義,網(wǎng)絡(luò)安全從其本質(zhì)上來講就是網(wǎng)絡(luò)上的信息安全,其所涉及的領(lǐng)域相當(dāng)廣泛。這是因為在目前的公用通信網(wǎng)絡(luò)中存在著各種各樣的安全漏洞和威脅。從廣義來說,凡是涉及到網(wǎng)絡(luò)上信息的保密性、完整性、可用性、真實性和可控性的相關(guān)技術(shù)和理論,都是網(wǎng)絡(luò)安全所要研究的領(lǐng)域。下面給出網(wǎng)絡(luò)安全的一個通用定義: 網(wǎng)絡(luò)安全是指網(wǎng)絡(luò)系統(tǒng)的硬件、軟件及其系統(tǒng)中的數(shù)據(jù)受到保護,不受偶然的或者惡意的

2、原因而遭到破壞、更改、泄露,系統(tǒng)連續(xù)可靠正常地運行,網(wǎng)絡(luò)服務(wù)不中斷。 因此,網(wǎng)絡(luò)安全在不同的環(huán)境和應(yīng)用中會得到不同的解釋。 (1)運行系統(tǒng)安全,即保證信息處理和傳輸系統(tǒng)的安全。包括計算機系統(tǒng)機房環(huán)境的保護,法律、政策的保護,計算機結(jié)構(gòu)設(shè)計上的安全性考慮,硬件系統(tǒng)的可靠安全運行,計算機操作系統(tǒng)和應(yīng)用軟件的安全,數(shù)據(jù)庫系統(tǒng)的安全,電磁信息泄露的防護等。它側(cè)重于保證系統(tǒng)正常的運行,避免因為系統(tǒng)的崩潰和損壞而對系統(tǒng)存儲、處理和傳輸?shù)男畔⒃斐善茐暮蛽p失,避免由與電磁泄漏,產(chǎn)生信息泄露,干擾他人(或受他人干擾),本質(zhì)上是保護系統(tǒng)的合法操作和正常運行。,(2)網(wǎng)絡(luò)上系統(tǒng)信息的安全。包括用戶口令鑒別、用戶存取

3、權(quán)限控制、數(shù)據(jù)存取權(quán)限、方式控制、安全審計、安全問題跟蹤、計算機病毒防治、數(shù)據(jù)加密等。 (3)網(wǎng)絡(luò)上信息傳播的安全,即信息傳播后的安全。包括信息過濾等。它側(cè)重于防止和控制非法、有害的信息進行傳播后的后果。避免公用通信網(wǎng)絡(luò)上大量自由傳輸?shù)男畔⑹Э?。它本質(zhì)上是維護道德、法律或國家利益。 (4)網(wǎng)絡(luò)上信息內(nèi)容的安全,即討論的狹義的“信息安全”。它側(cè)重于保護信息的保密性、真實性和完整性。避免攻擊者利用系統(tǒng)的安全漏洞進行竊聽、冒充和詐騙等有損于合法用戶的行為。它本質(zhì)上是保護用戶的利益和隱私。 計算機網(wǎng)絡(luò)安全的含義是通過各種計算機、網(wǎng)絡(luò)、密碼技術(shù)和信息安全技術(shù),保護在公用通信網(wǎng)絡(luò)中傳輸、交換和存儲信息的機

4、密性、完整性和真實性,并對信息的傳播及內(nèi)容具有控制能力。網(wǎng)絡(luò)安全的結(jié)構(gòu)層次包括:物理安全、安全控制和安全服務(wù)。 可見,計算機網(wǎng)絡(luò)安全主要是從保護網(wǎng)絡(luò)用戶的角度來進行的,是針對攻擊和破譯等人為因素所造成的對網(wǎng)絡(luò)安全的威脅。而不涉及網(wǎng)絡(luò)可靠性、信息的可控性、可用性和互操作性等領(lǐng)域。,8.1.2 網(wǎng)絡(luò)安全的特征,網(wǎng)絡(luò)安全應(yīng)具有以下四個方面的特征: (1)保密性是指信息不泄露給非授權(quán)的用戶、實體或過程,或供其利用的特性。 (2)完整性是指數(shù)據(jù)未經(jīng)授權(quán)不能進行改變的特性,即信息在存儲或傳輸過程中保持不被修改、不被破壞和丟失的特性。 (3)可用性是指可被授權(quán)實體訪問并按需求使用的特性,即當(dāng)需要時應(yīng)能存取所

5、需的信息。網(wǎng)絡(luò)環(huán)境下拒絕服務(wù)、破壞網(wǎng)絡(luò)和有關(guān)系統(tǒng)的正常運行等都屬于對可用性的攻擊。 (4)可控性是指對信息的傳播及內(nèi)容具有控制能力。,8.1.3 對網(wǎng)絡(luò)安全的威脅,與網(wǎng)絡(luò)連通性相關(guān)的有三種不同類型的安全威脅: (1)非授權(quán)訪問(Unauthorized Access)指一個非授權(quán)用戶的入侵。 (2)信息泄露(Disclosure of Information)指造成將有價值的和高度機密的信息暴露給無權(quán)訪問該信息的人的所有問題。 (3)拒絕服務(wù)(Denial of Service)指使系統(tǒng)難以或不能繼續(xù)執(zhí)行任務(wù)的所有問題。,8.1.4 網(wǎng)絡(luò)安全的關(guān)鍵技術(shù),從廣義上講,計算機網(wǎng)絡(luò)安全技術(shù)主要有:

6、(1)主機安全技術(shù): (2)身份認(rèn)證技術(shù): (3)訪問控制技術(shù): (4)密碼技術(shù): (5)防火墻技術(shù): (6)安全審計技術(shù): (7)安全管理技術(shù):,8.1.5 Linux系統(tǒng)的網(wǎng)絡(luò)安全策略,1簡介,隨著InternetIntranet網(wǎng)絡(luò)的日益普及,采用Linux網(wǎng)絡(luò)操作系統(tǒng)作為服務(wù)器的用戶也越來越多,這一方面是因為Linux是開放源代碼的免費正版軟件,另一方面也是因為較之微軟的Windows NT網(wǎng)絡(luò)操作系統(tǒng)而言,Linux系統(tǒng)具有更好的穩(wěn)定性、效率性和安全性。在InternetIntranet的大量應(yīng)用中,網(wǎng)絡(luò)本身的安全面臨著重大的挑戰(zhàn),隨之而來的信息安全問題也日益突出。以美國為例,據(jù)美國

7、聯(lián)邦調(diào)查局(FBI)公布的統(tǒng)計數(shù)據(jù),美國每年因網(wǎng)絡(luò)安全問題所造成的經(jīng)濟損失高達75億美元,而全球平均每20秒鐘就發(fā)生一起Internet計算機黑客侵入事件。一般認(rèn)為,計算機網(wǎng)絡(luò)系統(tǒng)的安全威脅主要來自黑客攻擊和計算機病毒2個方面。那么黑客攻擊為什么能夠經(jīng)常得逞呢?主要原因是很多人,尤其是很多網(wǎng)絡(luò)管理員沒有起碼的網(wǎng)絡(luò)安全防范意識,沒有針對所用的網(wǎng)絡(luò)操作系統(tǒng),采取有效的安全策略和安全機制,給黑客以可乘之機。 由于網(wǎng)絡(luò)操作系統(tǒng)是用于管理計算機網(wǎng)絡(luò)中的各種軟硬件資源,實現(xiàn)資源共享,并為整個網(wǎng)絡(luò)中的用戶提供服務(wù),保證網(wǎng)絡(luò)系統(tǒng)正常運行的一種系統(tǒng)軟件。如何確保網(wǎng)絡(luò)操作系統(tǒng)的安全,是網(wǎng)絡(luò)安全的根本所在。只有網(wǎng)絡(luò)

8、操作系統(tǒng)安全可靠,才能保證整個網(wǎng)絡(luò)的安全。因此,詳細(xì)分析Linux系統(tǒng)的安全機制,找出可能存在的安全隱患,給出相應(yīng)的安全策略和保護措施是十分必要的。,2Linux網(wǎng)絡(luò)操作系統(tǒng)的基本安全機制,Linux網(wǎng)絡(luò)操作系統(tǒng)提供了用戶帳號、文件系統(tǒng)權(quán)限和系統(tǒng)日志文件等基本安全機制,如果這些安全機制配置不當(dāng),就會使系統(tǒng)存在一定的安全隱患。因此,網(wǎng)絡(luò)系統(tǒng)管理員必須小心地設(shè)置這些安全機制。 (1)Linux系統(tǒng)的用戶帳號 (2)Linux的文件系統(tǒng)權(quán)限 (3)合理利用Linux的日志文件,3Linux網(wǎng)絡(luò)系統(tǒng)可能受到的攻擊和安全防范策略,Linux操作系統(tǒng)是一種公開源碼的操作系統(tǒng),因此比較容易受到來自底層的攻擊

9、,系統(tǒng)管理員一定要有安全防范意識,對系統(tǒng)采取一定的安全措施,這樣才能提高Linux系統(tǒng)的安全性。對于系統(tǒng)管理員來講特別是要搞清楚對Linux網(wǎng)絡(luò)系統(tǒng)可能的攻擊方法,并采取必要的措施保護系統(tǒng)。 (1)Linux網(wǎng)絡(luò)系統(tǒng)可能受到的攻擊類型 “拒絕服務(wù)”攻擊 、“口令破解”攻擊 、“欺騙用戶”攻擊、 “掃描程序和網(wǎng)絡(luò)監(jiān)聽”攻擊 。,(2)Linux網(wǎng)絡(luò)安全防范策略 仔細(xì)設(shè)置每個內(nèi)部用戶的權(quán)限 、確保用戶口令文件/etc/shadow的安全 、加強對系統(tǒng)運行的監(jiān)控和記錄 、合理劃分子網(wǎng)和設(shè)置防火墻 、定期對Linux網(wǎng)絡(luò)進行安全檢查 、制定適當(dāng)?shù)臄?shù)據(jù)備份計劃確保系統(tǒng)萬無一失 。,4加強對Linux網(wǎng)絡(luò)

10、服務(wù)器的管理,合理使用各種工具,(1)利用記錄工具,記錄對Linux系統(tǒng)的訪問 (2)慎用Telnet服務(wù) (3)合理設(shè)置NFS服務(wù)和NIS服務(wù) (4)小心配置FTP服務(wù) (5)合理設(shè)置POP-3和Sendmail等電子郵件服務(wù) (6)加強對WWW服務(wù)器的管理,提供安全的WWW服務(wù) (7)最好禁止提供finger 服務(wù),8.1.6 Linux網(wǎng)絡(luò)安全工具,1sudo,sudo是系統(tǒng)管理員用來允許某些用戶以root身份運行部分/全部系統(tǒng)命令的程序。一個明顯的用途是增強了站點的安全性,如果用戶需要每天以root身份做一些日常工作,經(jīng)常執(zhí)行固定的幾個只有root身份才能執(zhí)行的命令,那么用sudo是非

11、常適合的。 下面以Redhat 9.0為例,介紹sudo的安裝及設(shè)置過程: 一般情況下,Redhat 9.0中都已經(jīng)缺省安裝了當(dāng)前較新的版本sudo-1.6.6-3。如果你的系統(tǒng)中沒有安裝,你能從下面的地址中下載for Redhat Linux的rpm package。 ftp:/ftp.rediris.es/sites/ 執(zhí)行#rpm -ivh sudo* 進行安裝,然后用/usr/sbin/visudo編輯/etc/sudoers文件。 sudoers這個文件是由一個選擇性的主機別名(hostalias)節(jié)區(qū),一個選擇性的指令別名(commandalias)節(jié)區(qū)以及使用者說明(usersp

12、ecification)節(jié)區(qū)所組成的。所有的指令別名或主機別名必須需以自己的關(guān)鍵字作為開始(Host_Alias/Cmnd_Alias)。,使用者說明節(jié)區(qū)格式: 使用者接取群組:接取群組. 接取群組:=主機象征=op指令象征,op指令象征. 主機象征:=一個小寫的主機名稱或主機別名。 指令象征:=一個指令或指令別名。 op:=邏輯的!否定運算元。 主機別名節(jié)區(qū)格式: Host_Alias主機別名=主機列表 Host_Alias:=這是一個關(guān)鍵字。 主機別名:=一個大寫的別名。 主機列表:=以逗號間隔的一些主機名稱。 指令別名節(jié)區(qū)格式: Cmnd_Alias指令別名=指令列表 Cmnd_Alia

13、s:=這是一個關(guān)鍵字。 指令別名:=一個大寫的別名。 指令列表:=以逗號間隔的一些指令。,所有在“#”符號后面的文字都會被當(dāng)作是注解。太長的行可以使用倒斜線“”字符來分成新的行。保留的別名“ALL”在“Host,Cmnd_Alias”里都可以使用。不要用“ALL”來定義一個別名,這個別名無效。注意到“ALL”暗示全部的主機和指令。 可以使用這個語法從整個范圍中減掉一些項目: userhost=ALL,!ALIAS1,!/etc/halt.,2Sniffit,sniffit 是一個有名的網(wǎng)絡(luò)端口探測器,可以配置它在后臺運行,以檢測哪些TCP/IP端口上用戶的輸入/輸出信息。最常用的功能是可以用它

14、來檢測系統(tǒng)的23(telnet)和110(pop3)端口上的數(shù)據(jù)傳送以輕松得到系統(tǒng)的登錄口令和mail帳號密碼,當(dāng)然,sniffit基本上是被破壞者所利用的工具。 sniffit 的主頁在 http:/reptile.rug.ac.be/coder/sniffit/sniffit.html 用戶能從那里下載最新的版本,用戶在根目錄運行: #tar xvfz sniff*,解開所有文件到對應(yīng)目錄后,先仔細(xì)閱讀其中的README.FIRST文件,可能有些版本需要預(yù)先進行編譯才能使用。用戶能運行sniffit -i以交互式圖形界面查看所有在指定網(wǎng)絡(luò)接口上的輸入/輸出信息。例如:為了得到所有用戶通過某

15、接口a.b.c.d接收郵件時所輸入的pop3帳號和密碼,用戶能運行: #sniffit -p 110 -t a.b.c.d & #sniffit -p 110 -s a.b.c.d & 記錄文件放在目錄/usr/doc/sniffit*下面:log file根據(jù)訪問者的IP地址,隨機用高端端口號和用來檢測的網(wǎng)絡(luò)接口IP地址和檢測端口來命名。它利用了TCP/IP協(xié)議天生的虛弱性,因為普通的telnet和pop3所傳的用戶名和密碼信息都是明文,不帶任何方式的加密。 因此對telnet/ftp,可以用ssh/scp來替代。sniffit檢測到的ssh/scp信息基本上是一堆亂碼,因此不需要擔(dān)心ssh

16、所傳送的用戶名和口令信息會被第三方所竊取。,3、nmap,nmap 是用來對一個比較大的網(wǎng)絡(luò)進行端口掃描的工具,它能檢測該服務(wù)器有哪些TCP/IP端口目前正處于打開狀態(tài)??梢赃\行它來確保已經(jīng)禁止掉不該打開的不安全的端口號。nmap的主頁在/nmap/index.html,8.2 防火墻技術(shù),8.2.1 什么是防火墻,防火墻是指設(shè)置在不同網(wǎng)絡(luò)(如可信任的企業(yè)內(nèi)部網(wǎng)和不可信的公共網(wǎng))或網(wǎng)絡(luò)安全域之間的一系列部件的組合,是不同網(wǎng)絡(luò)或網(wǎng)絡(luò)安全域之間信息的唯一出入口,能根據(jù)企業(yè)的安全政策控制(允許、拒絕、監(jiān)測)出入網(wǎng)絡(luò)的信息流,且本身具有較強的抗攻擊能力。防火

17、墻是提供信息安全服務(wù),實現(xiàn)網(wǎng)絡(luò)和信息安全的基礎(chǔ)設(shè)施。 在邏輯上,防火墻是一個分離器,一個限制器,也是一個分析器,有效地監(jiān)控了內(nèi)部網(wǎng)和Internet之間的任何活動,保證了內(nèi)部網(wǎng)絡(luò)的安全,如圖8-1。,圖8-1 防火墻邏輯位置示意圖,使用防火墻地作用如下: (1)防火墻是網(wǎng)絡(luò)安全的屏障 (2)防火墻可以強化網(wǎng)絡(luò)安全策略 (3)對網(wǎng)絡(luò)存取和訪問進行監(jiān)控審計 (4)防止內(nèi)部信息的外泄,8.2.2 防火墻的三種類型,1數(shù)據(jù)包過濾型防火墻,數(shù)據(jù)包過濾(Packet Filtering)技術(shù)是在網(wǎng)絡(luò)層對數(shù)據(jù)包進行選擇,選擇的依據(jù)是系統(tǒng)內(nèi)設(shè)置的過濾邏輯,被稱為訪問控制表(Access Control Tab

18、le)。通過檢查數(shù)據(jù)流中每個數(shù)據(jù)包的源地址、目的地址、所用的端口號、協(xié)議狀態(tài)等因素,或它們的組合來確定是否允許該數(shù)據(jù)包通過。數(shù)據(jù)包過濾防火墻邏輯簡單,價格便宜,易于安裝和使用,網(wǎng)絡(luò)性能和透明性好,通常安裝在路由器上。路由器是內(nèi)部網(wǎng)絡(luò)與Internet連接必不可少的設(shè)備,因此,在原有網(wǎng)絡(luò)上增加這樣的防火墻幾乎不需要任何額外的費用。,數(shù)據(jù)包過濾防火墻有兩個主要缺點:一是非法訪問一旦突破防火墻,即可對主機上的軟件和配置漏洞進行攻擊;二是數(shù)據(jù)包的源地址、目的地址以及IP的端口號都在數(shù)據(jù)包的頭部,很有可能被竊聽或假冒。,2應(yīng)用級網(wǎng)關(guān)型防火墻,應(yīng)用級網(wǎng)關(guān)(Application Level Gateway

19、s)是在網(wǎng)絡(luò)應(yīng)用層上建立協(xié)議過濾和轉(zhuǎn)發(fā)功能。 它針對特定的網(wǎng)絡(luò)應(yīng)用服務(wù)協(xié)議使用指定的數(shù)據(jù)過濾邏輯,并在過濾的同時,對數(shù)據(jù)包進行必要的分析、登記和統(tǒng)計,形成報告。應(yīng)用級網(wǎng)關(guān)型防火墻的工作流程示意圖請見圖8-2。,圖8-2 應(yīng)用級網(wǎng)關(guān)型防火墻的工作流程,數(shù)據(jù)包過濾和應(yīng)用網(wǎng)關(guān)防火墻有一個共同的特點,就是僅僅依靠特定的邏輯判定是否允許數(shù)據(jù)包通過。一旦滿足邏輯,則防火墻內(nèi)外的計算機系統(tǒng)建立直接聯(lián)系,防火墻外部的用戶便有可能直接了解防火墻內(nèi)部的網(wǎng)絡(luò)結(jié)構(gòu)和運行狀態(tài),這有利于實施非法訪問和攻擊。,3代理服務(wù)型防火墻,代理服務(wù)(Proxy Service)也稱鏈路級網(wǎng)關(guān)或TCP通道(Circuit Level

20、Gateways or TCP Tunnels), 也有人將它歸于應(yīng)用級網(wǎng)關(guān)一類。代理服務(wù)是針對數(shù)據(jù)包過濾和應(yīng)用網(wǎng)關(guān)技術(shù)存在的缺點而引入的防火墻技術(shù), 其特點是將所有跨越防火墻的網(wǎng)絡(luò)通信鏈路分為兩段。防火墻內(nèi)外計算機系統(tǒng)間應(yīng)用層的“鏈接”, 由兩個終止代理服務(wù)器上的“鏈接”來實現(xiàn),外部計算機的網(wǎng)絡(luò)鏈路只能到達代理服務(wù)器, 從而起到了隔離防火墻內(nèi)外計算機系統(tǒng)的作用。此外,代理服務(wù)也對過往的數(shù)據(jù)包進行分析、注冊登記, 形成報告,同時當(dāng)發(fā)現(xiàn)被攻擊跡象時會向網(wǎng)絡(luò)管理員發(fā)出警報,并保留攻擊痕跡。使用代理服務(wù)型防火墻的網(wǎng)絡(luò)結(jié)構(gòu)示意圖請見圖8-3。,圖8-3 代理服務(wù)型防火墻的網(wǎng)絡(luò)結(jié)構(gòu),8.2.3 防火墻體

21、系結(jié)構(gòu),1雙重宿主主機體系結(jié)構(gòu),雙重宿主主機體系結(jié)構(gòu)圍繞雙重宿主主機構(gòu)筑。雙重宿主主機至少有兩個網(wǎng)絡(luò)接口。這樣的主機可以充當(dāng)與這些接口相連的網(wǎng)絡(luò)之間的路由器;能夠從一個網(wǎng)絡(luò)到另外一個網(wǎng)絡(luò)發(fā)送IP數(shù)據(jù)包。然而雙重宿主主機的防火墻體系結(jié)構(gòu)禁止這種發(fā)送。因此IP數(shù)據(jù)包并不是從一個網(wǎng)絡(luò)(如外部網(wǎng)絡(luò))直接發(fā)送到另一個網(wǎng)絡(luò)(如內(nèi)部網(wǎng)絡(luò))。外部網(wǎng)絡(luò)能與雙重宿主主機通信,內(nèi)部網(wǎng)絡(luò)也能與雙重宿主主機通信。但是外部網(wǎng)絡(luò)與內(nèi)部網(wǎng)絡(luò)不能直接通信,它們之間的通信必須經(jīng)過雙重宿主主機的過濾和控制。如圖8-4。,圖8-4 雙重宿主主機體系結(jié)構(gòu),2被屏蔽主機體系結(jié)構(gòu),雙重宿主主機體系結(jié)構(gòu)防火墻沒有使用路由器。而被屏蔽主機體系

22、結(jié)構(gòu)防火墻則使用一個路由器把內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)隔離開,如圖8-5。在這種體系結(jié)構(gòu)中,主要的安全由數(shù)據(jù)包過濾提供(例如,數(shù)據(jù)包過濾用于防止人們繞過代理服務(wù)器直接相連)。,圖8-5 被屏蔽主機體系結(jié)構(gòu),這種體系結(jié)構(gòu)涉及到堡壘主機。堡壘主機是因特網(wǎng)上的主機能連接到的唯一內(nèi)部網(wǎng)絡(luò)上的主機。任何外部的系統(tǒng)要訪問內(nèi)部的系統(tǒng)或服務(wù)都必須先連接到這臺主機。因此堡壘主機要保持更高等級的主機安全。,3被屏蔽子網(wǎng)體系結(jié)構(gòu),被屏蔽子網(wǎng)體系結(jié)構(gòu)添加額外的安全層到被屏蔽主機體系結(jié)構(gòu),即通過添加周邊網(wǎng)絡(luò)更進一步的把內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)(通常是Internet)隔離開。 被屏蔽子網(wǎng)體系結(jié)構(gòu)的最簡單的形式為,兩個屏蔽路由器,每一

23、個都連接到周邊網(wǎng)。一個位于周邊網(wǎng)與內(nèi)部網(wǎng)絡(luò)之間,另一個位于周邊網(wǎng)與外部網(wǎng)絡(luò)(通常為Internet)之間。這樣就在內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)之間形成了一個“隔離帶”。為了侵入用這種體系結(jié)構(gòu)構(gòu)筑的內(nèi)部網(wǎng)絡(luò),侵襲者必須通過兩個路由器。即使侵襲者侵入堡壘主機,他將仍然必須通過內(nèi)部路由器。如圖8-6。,圖8-6 被屏蔽子網(wǎng)體系結(jié)構(gòu),8.2.4 包過濾技術(shù),包過濾(Packet Filter)技術(shù)是在網(wǎng)絡(luò)層中對數(shù)據(jù)包實施有選擇的通過。根據(jù)系統(tǒng)內(nèi)事先設(shè)定的過濾邏輯,檢查數(shù)據(jù)流中每個數(shù)據(jù)包后,根據(jù)數(shù)據(jù)包的源地址、目的地址、TCP/UDP源端口號、TCP/UDP目的端口號及數(shù)據(jù)包頭中的各種標(biāo)志位等因素來確定是否允許數(shù)

24、據(jù)包通過,其核心是安全策略即過濾算法的設(shè)計。 例如,用于特定的因特網(wǎng)服務(wù)的服務(wù)器駐留在特定的端口號的事實(如TCP端口23用于Telnet連接),使包過濾器可以通過簡單的規(guī)定適當(dāng)?shù)亩丝谔杹磉_到阻止或允許一定類型的連接的目的,并可進一步組成一套數(shù)據(jù)包過濾規(guī)則。 包過濾技術(shù)作為防火墻的應(yīng)用有三類:一是路由設(shè)備在完成路由選擇和數(shù)據(jù)轉(zhuǎn)發(fā)之外, 同時進行包過濾,這是目前較常用的方式;二是在工作站上使用軟件進行包過濾, 這種方式價格較貴;三是在一種稱為屏蔽路由器的路由設(shè)備上啟動包過濾功能。,8.3 使用Linux架構(gòu)包過濾防火墻,8.3.1 包過濾型防火墻的一般概念,1什么是包過濾,包過濾就是用一個軟件查

25、看所流經(jīng)的數(shù)據(jù)包的包頭(header),由此決定整個數(shù)據(jù)包是否允許通過。它可能會決定丟棄(DROP)這個包,可能會接受(ACCEPT)這個包(讓這個包通過),也可能執(zhí)行其他更復(fù)雜的動作。 在Linux系統(tǒng)下,包過濾功能是內(nèi)建于核心的(作為一個核心模塊,或者直接內(nèi)建),同時還有一些可以運用于數(shù)據(jù)包之上的技巧,不過最常用的依然是查看包頭以決定是否允許通過。,2包過濾防火墻的工作層次,包過濾防火墻示意圖如圖8-7所示。包過濾是一種內(nèi)置于Linux內(nèi)核路由功能之上的防火墻類型,其防火墻工作在網(wǎng)絡(luò)層。,圖8-7 包過濾防火墻示意圖,3包過濾防火墻的工作原理,(1)使用過濾器。數(shù)據(jù)包過濾用在內(nèi)部主機和外部

26、主機之間,過濾系統(tǒng)是一臺路由器或是一臺主機。過濾系統(tǒng)根據(jù)過濾規(guī)則來決定是否讓數(shù)據(jù)包通過。如圖8-8所示,用于過濾數(shù)據(jù)包的路由器被稱為過濾路由器。,圖8-8 用過濾路由器過濾數(shù)據(jù)包,數(shù)據(jù)包過濾是通過對數(shù)據(jù)包的IP頭和TCP或UDP頭的檢查來實現(xiàn)的,主要信息有: IP源地址 IP目的地址 協(xié)議(TCP包、UDP包和ICMP包) TCP或UDP包的源端口 TCP或UDP包的目的端口 ICMP消息類型,TCP包頭中的ACK位 數(shù)據(jù)包到達的端口 數(shù)據(jù)包送出的端口,(2)過濾器的實現(xiàn)。數(shù)據(jù)包過濾一般使用過濾路由器來實現(xiàn),這種路由器與普通的路由器有所不同。 普通的路由器只檢查數(shù)據(jù)包的目的地址,并選擇一個達到

27、目的地址的最佳路徑。它處理數(shù)據(jù)包是以目的地址為基礎(chǔ)的,存在著兩種可能性:若路由器可以找到一條路徑到達目的地址則發(fā)送出去;若路由器不知道如何發(fā)送數(shù)據(jù)包則發(fā)送一個“數(shù)據(jù)不可達”的數(shù)據(jù)包給發(fā)送者。 過濾路由器會進一步地檢查數(shù)據(jù)包,除了決定是否有到達目的地址的路徑外,還要決定是否應(yīng)該發(fā)送數(shù)據(jù)包,“應(yīng)該與否”是由路由器的過濾策略決定并強行執(zhí)行的。路由器的過濾策略主要有: 拒絕來自某主機或某網(wǎng)段的所有連接。 允許來自某主機或某網(wǎng)段的所有連接。 拒絕來自某主機或某網(wǎng)段的指定端口的連接。 允許來自某主機或某網(wǎng)段的指定端口的連接。,拒絕本地主機或本地網(wǎng)絡(luò)與其他主機或其他網(wǎng)絡(luò)的所有連接。 允許本地主機或本地網(wǎng)絡(luò)與

28、其他主機或其他網(wǎng)絡(luò)的所有連接。 拒絕本地主機或本地網(wǎng)絡(luò)與其他主機或其他網(wǎng)絡(luò)的指定端口的連接。 允許本地主機或本地網(wǎng)絡(luò)與其他主機或其他網(wǎng)絡(luò)的指定端口的連接。,4、包過濾器操作的基本過程,下面給出包過濾器的操作流程圖,如圖8-9所示。,圖8-9 包過濾操作流程圖,8.3.2 Netfilter/iptables簡介,1Linux下的包過濾防火墻管理工具,從11內(nèi)核開始,Linux就已經(jīng)具有包過濾功能了,隨著Linux內(nèi)核版本的不斷升級Linux下的包過濾系統(tǒng)經(jīng)歷了如下3個階段: 在2.0的內(nèi)核中,采用ipfwadm來操作內(nèi)核包過濾規(guī)則。 在2.2的內(nèi)核中,采用ipchains來控制內(nèi)核包過濾規(guī)則。

29、 在2.4的內(nèi)核中,采用一個全新的內(nèi)核包過濾管理工具iptables。,現(xiàn)在最新Linux內(nèi)核版本是2.4.1,在2.4內(nèi)核中不再使用ipchains,而是采用一個全新的內(nèi)核包過濾管理工具-iptables。這個全新的內(nèi)核包過濾工具將使用戶更易于理解其工作原理,更容易被使用,當(dāng)然也將具有更為強大的功能。 iptables作為一個管理內(nèi)核包過濾的工具,iptables 可以加入、插入或刪除核心包過濾表格(鏈)中的規(guī)則。實際上真正來執(zhí)行這些過濾規(guī)則的是Netfilter(Linux 核心中一個通用架構(gòu))及其相關(guān)模塊(如iptables模塊和nat模塊等)。,2Netfilter的工作原理,Netf

30、ilter是Linux 核心中的一個通用架構(gòu),它提供了一系列的“表”(tables),每個表由若干“鏈”(chains)組成,而每條鏈中可以有一條或數(shù)條規(guī)則(rule)組成。因此,可以理解netfilter是表的容器,表是鏈的容器,而鏈又是規(guī)則的容器,如圖8-10所示。,圖8-10 Netfilter總體結(jié)構(gòu),系統(tǒng)缺省的表為“filter”,該表中包含了INPUT、FORWARD和OUTPUT 3個鏈。每一條鏈中可以有一條或數(shù)條規(guī)則,每一條規(guī)則都是這樣定義的“如果數(shù)據(jù)包頭符合這樣的條件,就這樣處理這個數(shù)據(jù)包”。當(dāng)一個數(shù)據(jù)包到達一個鏈時,系統(tǒng)就會從第一條規(guī)則開始檢查,看是否符合該規(guī)則所定義的條件

31、:如果滿足,系統(tǒng)將根據(jù)該條規(guī)則所定義的方法處理該數(shù)據(jù)包;如果不滿足則繼續(xù)檢查下一條規(guī)則。最后,如果該數(shù)據(jù)包不符合該鏈中所有規(guī)則的話,系統(tǒng)就會根據(jù)該鏈預(yù)先定義的策略(policy)來處理該數(shù)據(jù)包。,數(shù)據(jù)包在filter表中的流程如圖8-11所示。有數(shù)據(jù)包進入系統(tǒng)時,系統(tǒng)首先根據(jù)路由表決定將數(shù)據(jù)包發(fā)給哪一條鏈,則可能有三種情況:,圖8-11 數(shù)據(jù)包在Filter表中的流程圖,(1)如果數(shù)據(jù)包的目的地址是本機,則系統(tǒng)將數(shù)據(jù)包送往INPUT鏈,如果通過規(guī)則檢查,則該包被發(fā)給相應(yīng)的本地進程處理;如果沒通過規(guī)則檢查,系統(tǒng)就會將這個包丟棄; (2)如果數(shù)據(jù)包的目的地址不是本機,也就是說,這個包將被轉(zhuǎn)發(fā),則系

32、統(tǒng)將數(shù)據(jù)包送往FORWARD鏈,如果通過規(guī)則檢查,則該包被發(fā)給相應(yīng)的本地進程處理;如果沒通過規(guī)則檢查,系統(tǒng)就會將這個包丟掉; (3)如果數(shù)據(jù)包是由本地系統(tǒng)進程產(chǎn)生的,則系統(tǒng)將其送往OUTPUT鏈,如果通過規(guī)則檢查,則該包被發(fā)給相應(yīng)的本地進程處理;如果沒通過規(guī)則檢查,系統(tǒng)就會將這個包丟掉。,Red Hat linux 9使用2.4版本地內(nèi)核,并且內(nèi)核的編譯選項中包含對Netfilter地支持,同時iptables軟件包是默認(rèn)安裝的,所以可以直接使用。 另外,為了完成轉(zhuǎn)發(fā)功能,必須打開系統(tǒng)內(nèi)核的IP轉(zhuǎn)發(fā)功能,使Linux變成路由器。 在Red Hat中有兩種方法: (1)修改內(nèi)核變量ip_forw

33、ard。 # echo “1”/proc/sys/net/ipv4/ip_forward (2)修改腳本/etc/sysconfig/network。 將FORWARD_IPV4=false 改為FORWARD_IPV4=true,3iptables語法,iptables的語法通??梢院喕癁橄旅娴男问剑?iptables -t table CMD chain rule-matcher -j target,iptables工具的調(diào)用語法如下: (1)對鏈的操作 (2)對規(guī)則的操作 (3)指定源地址和目的地址 (4)指定協(xié)議 (5)指定網(wǎng)絡(luò)接口 (6)指定IP碎片 (7)指定非 (8)TCP匹配擴

34、展 (9)mac匹配擴展 (10)limit匹配擴展 (11)LOG目標(biāo)擴展 (12)REJECT目標(biāo)擴展,4、iptables與ipchains的區(qū)別,iptables的缺省鏈的名稱從小寫換成大寫,并且意義不再相同:INPUT和OUTPUT分別放置對目的地址是本機以及本機發(fā)出的數(shù)據(jù)包的過濾規(guī)則。 -i選項現(xiàn)在只代表輸入網(wǎng)絡(luò)接口,輸入網(wǎng)絡(luò)接口則使用-o選項。 TCP和UDP端口現(xiàn)在需要用-source-port或-sport(或-destination-port/-dport)選項拼寫出來并且必須置于“-p tcp”或“-p udp”選項之后,因為分別是載入TCP和UDP擴展的。 以前TCP的

35、“-y”標(biāo)志現(xiàn)在改為“syn”,并且必須置于“-p tcp”之后。 原來的DENY目標(biāo)最后改為了DROP。 可以在列表顯示單個鏈的同時將其清空。 可以在清空內(nèi)建鏈的同時將策略計數(shù)器清零。 列表顯示鏈時可顯示計數(shù)器的當(dāng)前瞬時值。 REJECT和LOG現(xiàn)在變成了擴展目標(biāo),即意味著成為獨立的內(nèi)核模塊。 鏈名可以長達31個字符。 MASQ現(xiàn)在改為MASQUERADE,并且使用不同的語法。REDIRECT保留原名稱,但也改變了所使用的語法。,8.3.3 包過濾防火墻配置實例,1網(wǎng)絡(luò)結(jié)構(gòu),本節(jié)要為如圖8-12所示的網(wǎng)絡(luò)結(jié)構(gòu)建立一個包過濾防火墻。 這個網(wǎng)絡(luò)結(jié)構(gòu)假設(shè)內(nèi)部網(wǎng)有有效的Internet地址。為了將內(nèi)

36、部網(wǎng)段/24與Internet隔離,在內(nèi)部網(wǎng)絡(luò)和Internet之間使用了包過濾防火墻。防火墻的內(nèi)網(wǎng)接口是eth1(54),防火墻的Internet接口是eth0(54)。另外,內(nèi)網(wǎng)中有3臺服務(wù)器對外提供服務(wù)。,圖8-12 包過濾防火墻結(jié)構(gòu)圖,WWW服務(wù)器:IP地址為51 FTP服務(wù)器:IP地址為52 E_mail服務(wù)器:IP地址為53,2防火墻的建立過程,本例主要是對內(nèi)部的各種服務(wù)器提供保護。下面采用編輯并執(zhí)行可執(zhí)行腳本的方法建立此防火墻。具體過程如

37、下: (1)在/etc/rc.d/目錄下用touch命令建立空的腳本文件,執(zhí)行chmod命令添加可執(zhí)行權(quán)限。 # touch /etc/rc.d/filter-firewall # chmod u+x /etc/rc.d/filter-firewall (2)編輯/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/filter-firewall 以確保開機時能自動執(zhí)行該腳本。 # echo “/etc/rc.d/filter-firewall” /etc/rc.d/rc.local (3)使用文本編輯器編輯/etc/rc.d/filter-firewall文件,插入如下內(nèi)容

38、:,# !/bin/bash # 在屏幕上顯示信息 echo “Starting iptables rules” # 開啟內(nèi)核轉(zhuǎn)發(fā)功能 echo “1” /proc/sys/net/ipv4/ip_forward # # 定義變量 IPT=/sbin/iptables WWW-SERVER=51 FTP-SERVER=52 EMAIL-SERVER=53 IP_RANGE=“/24” # # 刷新所有的鏈的規(guī)則 $IPT F # # 首先禁止轉(zhuǎn)發(fā)任何包,然后再一步步設(shè)置允許通過的包 # 所以首先設(shè)置

39、防火墻FORWARD鏈的策略為DROP $IPT P FORWARD DROP # # 下面設(shè)置關(guān)于服務(wù)器的包過濾規(guī)則,# 由于服務(wù)器/客戶機交互是雙向的,所以不僅僅要設(shè)置數(shù)據(jù)包 # 出去的規(guī)則,還要設(shè)置數(shù)據(jù)包返回的規(guī)則 # # 1、下面建立針對來自Internet數(shù)據(jù)包的過濾規(guī)則 # # (1)WWW服務(wù) # 服務(wù)端口為80,采用tcp或utp協(xié)議 # 規(guī)則為:eth0=允許目的為內(nèi)部網(wǎng)WWW服務(wù)器的包 $IPT A FORWORD p tcp d $WWW-SERVER dport www i eth0 j ACCEPT # # (2)FTP服務(wù) # 服務(wù)端口為:命令端口21,數(shù)據(jù)端口20 # FTP服務(wù)采用tcp協(xié)議 # 規(guī)則為:eth0=允許目的為內(nèi)部網(wǎng)FTP服務(wù)器的包 $IPT A FORWORD p tcp d $FTP-SERVER dport ftp i eth0 j ACCEPT # # (3)EMAIL服務(wù) # 包含兩個協(xié)議,一個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論