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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

5、可被授權(quán)實(shí)體訪問并按需求使用的特性,即當(dāng)需要時(shí)應(yīng)能存取所需的信息。網(wǎng)絡(luò)環(huán)境下拒絕服務(wù)、破壞網(wǎng)絡(luò)和有關(guān)系統(tǒng)的正常運(yùn)行等都屬于對(duì)可用性的攻擊。 (4)可控性是指對(duì)信息的傳播及內(nèi)容具有控制能力。 8.1.3 對(duì)網(wǎng)絡(luò)安全的威脅對(duì)網(wǎng)絡(luò)安全的威脅 與網(wǎng)絡(luò)連通性相關(guān)的有三種不同類型的安全威脅:(1)非授權(quán)訪問(Unauthorized Access)指一個(gè)非授權(quán)用戶的入侵。(2)信息泄露(Disclosure of Information)指造成將有價(jià)值的和高度機(jī)密的信息暴露給無權(quán)訪問該信息的人的所有問題。 (3)拒絕服務(wù)(Denial of Service)指使系統(tǒng)難以或不能繼續(xù)執(zhí)行任務(wù)的所有問題。 8.

6、1.4 網(wǎng)絡(luò)安全的關(guān)鍵技術(shù)網(wǎng)絡(luò)安全的關(guān)鍵技術(shù) 從廣義上講,計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)主要有:(1)主機(jī)安全技術(shù):(2)身份認(rèn)證技術(shù):(3)訪問控制技術(shù):(4)密碼技術(shù):(5)防火墻技術(shù):(6)安全審計(jì)技術(shù): (7)安全管理技術(shù): 8.1.5 Linux系統(tǒng)的網(wǎng)絡(luò)安全策略系統(tǒng)的網(wǎng)絡(luò)安全策略 1簡(jiǎn)介簡(jiǎn)介 隨著InternetIntranet網(wǎng)絡(luò)的日益普及,采用Linux網(wǎng)絡(luò)操作系統(tǒng)作為服務(wù)器的用戶也越來越多,這一方面是因?yàn)長(zhǎng)inux是開放源代碼的免費(fèi)正版軟件,另一方面也是因?yàn)檩^之微軟的Windows NT網(wǎng)絡(luò)操作系統(tǒng)而言,Linux系統(tǒng)具有更好的穩(wěn)定性、效率性和安全性。在InternetIntranet的

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

8、,保證網(wǎng)絡(luò)系統(tǒng)正常運(yùn)行的一種系統(tǒng)軟件。如何確保網(wǎng)絡(luò)操作系統(tǒng)的安全,是網(wǎng)絡(luò)安全的根本所在。只有網(wǎng)絡(luò)操作系統(tǒng)安全可靠,才能保證整個(gè)網(wǎng)絡(luò)的安全。因此,詳細(xì)分析Linux系統(tǒng)的安全機(jī)制,找出可能存在的安全隱患,給出相應(yīng)的安全策略和保護(hù)措施是十分必要的。 2Linux網(wǎng)絡(luò)操作系統(tǒng)的基本安全機(jī)制網(wǎng)絡(luò)操作系統(tǒng)的基本安全機(jī)制 Linux網(wǎng)絡(luò)操作系統(tǒng)提供了用戶帳號(hào)、文件系統(tǒng)權(quán)限和系統(tǒng)日志文件等基本安全機(jī)制,如果這些安全機(jī)制配置不當(dāng),就會(huì)使系統(tǒng)存在一定的安全隱患。因此,網(wǎng)絡(luò)系統(tǒng)管理員必須小心地設(shè)置這些安全機(jī)制。(1)Linux系統(tǒng)的用戶帳號(hào) (2)Linux的文件系統(tǒng)權(quán)限 (3)合理利用Linux的日志文件 3L

9、inux網(wǎng)絡(luò)系統(tǒng)可能受到的攻擊和安全防范策略網(wǎng)絡(luò)系統(tǒng)可能受到的攻擊和安全防范策略 Linux操作系統(tǒng)是一種公開源碼的操作系統(tǒng),因此比較容易受到來自底層的攻擊,系統(tǒng)管理員一定要有安全防范意識(shí),對(duì)系統(tǒng)采取一定的安全措施,這樣才能提高Linux系統(tǒng)的安全性。對(duì)于系統(tǒng)管理員來講特別是要搞清楚對(duì)Linux網(wǎng)絡(luò)系統(tǒng)可能的攻擊方法,并采取必要的措施保護(hù)系統(tǒng)。(1)Linux網(wǎng)絡(luò)系統(tǒng)可能受到的攻擊類型“拒絕服務(wù)”攻擊 、“口令破解”攻擊 、“欺騙用戶”攻擊、“掃描程序和網(wǎng)絡(luò)監(jiān)聽”攻擊 。 (2)Linux網(wǎng)絡(luò)安全防范策略 仔細(xì)設(shè)置每個(gè)內(nèi)部用戶的權(quán)限 、確保用戶口令文件/etc/shadow的安全 、加強(qiáng)對(duì)系統(tǒng)

10、運(yùn)行的監(jiān)控和記錄 、合理劃分子網(wǎng)和設(shè)置防火墻 、定期對(duì)Linux網(wǎng)絡(luò)進(jìn)行安全檢查 、制定適當(dāng)?shù)臄?shù)據(jù)備份計(jì)劃確保系統(tǒng)萬無一失 。 4加強(qiáng)對(duì)加強(qiáng)對(duì)Linux網(wǎng)絡(luò)服務(wù)器的管理,合理使用各種工具網(wǎng)絡(luò)服務(wù)器的管理,合理使用各種工具 (1)利用記錄工具,記錄對(duì)Linux系統(tǒng)的訪問 (2)慎用Telnet服務(wù) (3)合理設(shè)置NFS服務(wù)和NIS服務(wù) (4)小心配置FTP服務(wù) (5)合理設(shè)置POP-3和Sendmail等電子郵件服務(wù) (6)加強(qiáng)對(duì)WWW服務(wù)器的管理,提供安全的WWW服務(wù) (7)最好禁止提供finger 服務(wù) 8.1.6 Linux網(wǎng)絡(luò)安全工具網(wǎng)絡(luò)安全工具 1sudo sudo是系統(tǒng)管理員用來允許

11、某些用戶以root身份運(yùn)行部分/全部系統(tǒng)命令的程序。一個(gè)明顯的用途是增強(qiáng)了站點(diǎn)的安全性,如果用戶需要每天以root身份做一些日常工作,經(jīng)常執(zhí)行固定的幾個(gè)只有root身份才能執(zhí)行的命令,那么用sudo是非常適合的。 下面以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/ -ivh sudo* 進(jìn)行安裝,然后用/usr/sbin/visudo編輯/

12、etc/sudoers文件。 sudoers這個(gè)文件是由一個(gè)選擇性的主機(jī)別名(host alias)節(jié)區(qū),一個(gè)選擇性的指令別名(command alias)節(jié)區(qū)以及使用者說明(user specification)節(jié)區(qū)所組成的。所有的指令別名或主機(jī)別名必須需以自己的關(guān)鍵字作為開始(Host_Alias/Cmnd_Alias)。 使用者說明節(jié)區(qū)格式:使用者 接取群組 : 接取群組 .接取群組 := 主機(jī)象征 = op指令象征 ,op指令象征.主機(jī)象征 := 一個(gè)小寫的主機(jī)名稱或主機(jī)別名。指令象征 := 一個(gè)指令或指令別名。op := 邏輯的 ! 否定運(yùn)算元。主機(jī)別名節(jié)區(qū)格式:Host_Alias

13、 主機(jī)別名 = 主機(jī)列表Host_Alias := 這是一個(gè)關(guān)鍵字。 主機(jī)別名 := 一個(gè)大寫的別名。 主機(jī)列表 := 以逗號(hào)間隔的一些主機(jī)名稱。指令別名節(jié)區(qū)格式:Cmnd_Alias 指令別名 = 指令列表Cmnd_Alias := 這是一個(gè)關(guān)鍵字。 指令別名 := 一個(gè)大寫的別名。 指令列表 := 以逗號(hào)間隔的一些指令。 所有在“#”符號(hào)后面的文字都會(huì)被當(dāng)作是注解。 太長(zhǎng)的行可以使用倒斜線“”字符來分成新的行。保留的別名“ALL”在“Host,Cmnd_Alias”里都可以使用。不要用“ALL”來定義一個(gè)別名,這個(gè)別名無效。注意到“ALL”暗示全部的主機(jī)和指令。可以使用這個(gè)語法從整個(gè)范圍中

14、減掉一些項(xiàng)目: user host=ALL,!ALIAS1,!/etc/halt. 2Sniffit sniffit 是一個(gè)有名的網(wǎng)絡(luò)端口探測(cè)器,可以配置它在后臺(tái)運(yùn)行,以檢測(cè)哪些TCP/IP端口上用戶的輸入/輸出信息。最常用的功能是可以用它來檢測(cè)系統(tǒng)的23(telnet)和110(pop3)端口上的數(shù)據(jù)傳送以輕松得到系統(tǒng)的登錄口令和mail帳號(hào)密碼,當(dāng)然,sniffit基本上是被破壞者所利用的工具。sniffit 的主頁在 http:/reptile.rug.ac.be/coder/sniffit/sniffit.html用戶能從那里下載最新的版本,用戶在根目錄運(yùn)行:#tar xvfz sni

15、ff*解開所有文件到對(duì)應(yīng)目錄后,先仔細(xì)閱讀其中的README.FIRST文件,可能有些版本需要預(yù)先進(jìn)行編譯才能使用。用戶能運(yùn)行sniffit -i以交互式圖形界面查看所有在指定網(wǎng)絡(luò)接口上的輸入/輸出信息。例如:為了得到所有用戶通過某接口a.b.c.d接收郵件時(shí)所輸入的pop3帳號(hào)和密碼,用戶能運(yùn)行:#sniffit -p 110 -t a.b.c.d &#sniffit -p 110 -s a.b.c.d & 記錄文件放在目錄/usr/doc/sniffit*下面:log file根據(jù)訪問者的IP地址,隨機(jī)用高端端口號(hào)和用來檢測(cè)的網(wǎng)絡(luò)接口IP地址和檢測(cè)端口來命名。它利用了TCP

16、/IP協(xié)議天生的虛弱性,因?yàn)槠胀ǖ膖elnet和pop3所傳的用戶名和密碼信息都是明文,不帶任何方式的加密。 因此對(duì)telnet/ftp,可以用ssh/scp來替代。sniffit檢測(cè)到的ssh/scp信息基本上是一堆亂碼,因此不需要擔(dān)心ssh所傳送的用戶名和口令信息會(huì)被第三方所竊取。 3、nmap nmap 是用來對(duì)一個(gè)比較大的網(wǎng)絡(luò)進(jìn)行端口掃描的工具,它能檢測(cè)該服務(wù)器有哪些TCP/IP端口目前正處于打開狀態(tài)。可以運(yùn)行它來確保已經(jīng)禁止掉不該打開的不安全的端口號(hào)。nmap的主頁在/nmap/index.html 8.2 防火墻技術(shù)防火墻技術(shù) 8.2.1

17、 什么是防火墻什么是防火墻 防火墻是指設(shè)置在不同網(wǎng)絡(luò)(如可信任的企業(yè)內(nèi)部網(wǎng)和不可信的公共網(wǎng))或網(wǎng)絡(luò)安全域之間的一系列部件的組合,是不同網(wǎng)絡(luò)或網(wǎng)絡(luò)安全域之間信息的唯一出入口,能根據(jù)企業(yè)的安全政策控制(允許、拒絕、監(jiān)測(cè))出入網(wǎng)絡(luò)的信息流,且本身具有較強(qiáng)的抗攻擊能力。防火墻是提供信息安全服務(wù),實(shí)現(xiàn)網(wǎng)絡(luò)和信息安全的基礎(chǔ)設(shè)施。 在邏輯上,防火墻是一個(gè)分離器,一個(gè)限制器,也是一個(gè)分析器,有效地監(jiān)控了內(nèi)部網(wǎng)和Internet之間的任何活動(dòng),保證了內(nèi)部網(wǎng)絡(luò)的安全,如圖8-1。 圖8-1 防火墻邏輯位置示意圖 使用防火墻地作用如下:(1)防火墻是網(wǎng)絡(luò)安全的屏障 (2)防火墻可以強(qiáng)化網(wǎng)絡(luò)安全策略 (3)對(duì)網(wǎng)絡(luò)存取

18、和訪問進(jìn)行監(jiān)控審計(jì) (4)防止內(nèi)部信息的外泄 8.2.2 防火墻的三種類型防火墻的三種類型 1數(shù)據(jù)包過濾型防火墻數(shù)據(jù)包過濾型防火墻 數(shù)據(jù)包過濾(Packet Filtering)技術(shù)是在網(wǎng)絡(luò)層對(duì)數(shù)據(jù)包進(jìn)行選擇,選擇的依據(jù)是系統(tǒng)內(nèi)設(shè)置的過濾邏輯,被稱為訪問控制表(Access Control Table)。通過檢查數(shù)據(jù)流中每個(gè)數(shù)據(jù)包的源地址、目的地址、所用的端口號(hào)、協(xié)議狀態(tài)等因素,或它們的組合來確定是否允許該數(shù)據(jù)包通過。數(shù)據(jù)包過濾防火墻邏輯簡(jiǎn)單,價(jià)格便宜,易于安裝和使用,網(wǎng)絡(luò)性能和透明性好,通常安裝在路由器上。路由器是內(nèi)部網(wǎng)絡(luò)與Internet連接必不可少的設(shè)備,因此,在原有網(wǎng)絡(luò)上增加這樣的防火

19、墻幾乎不需要任何額外的費(fèi)用。 數(shù)據(jù)包過濾防火墻有兩個(gè)主要缺點(diǎn):一是非法訪問一旦突破防火墻,即可對(duì)主機(jī)上的軟件和配置漏洞進(jìn)行攻擊;二是數(shù)據(jù)包的源地址、目的地址以及IP的端口號(hào)都在數(shù)據(jù)包的頭部,很有可能被竊聽或假冒。 2應(yīng)用級(jí)網(wǎng)關(guān)型防火墻應(yīng)用級(jí)網(wǎng)關(guān)型防火墻 應(yīng)用級(jí)網(wǎng)關(guān)(Application Level Gateways)是在網(wǎng)絡(luò)應(yīng)用層上建立協(xié)議過濾和轉(zhuǎn)發(fā)功能。 它針對(duì)特定的網(wǎng)絡(luò)應(yīng)用服務(wù)協(xié)議使用指定的數(shù)據(jù)過濾邏輯,并在過濾的同時(shí),對(duì)數(shù)據(jù)包進(jìn)行必要的分析、登記和統(tǒng)計(jì),形成報(bào)告。應(yīng)用級(jí)網(wǎng)關(guān)型防火墻的工作流程示意圖請(qǐng)見圖8-2。 圖8-2 應(yīng)用級(jí)網(wǎng)關(guān)型防火墻的工作流程 數(shù)據(jù)包過濾和應(yīng)用網(wǎng)關(guān)防火墻有一個(gè)共

20、同的特點(diǎn),就是僅僅依靠特定的邏輯判定是否允許數(shù)據(jù)包通過。一旦滿足邏輯,則防火墻內(nèi)外的計(jì)算機(jī)系統(tǒng)建立直接聯(lián)系,防火墻外部的用戶便有可能直接了解防火墻內(nèi)部的網(wǎng)絡(luò)結(jié)構(gòu)和運(yùn)行狀態(tài),這有利于實(shí)施非法訪問和攻擊。 3代理服務(wù)型防火墻代理服務(wù)型防火墻 代理服務(wù)(Proxy Service)也稱鏈路級(jí)網(wǎng)關(guān)或TCP通道(Circuit Level Gateways or TCP Tunnels), 也有人將它歸于應(yīng)用級(jí)網(wǎng)關(guān)一類。代理服務(wù)是針對(duì)數(shù)據(jù)包過濾和應(yīng)用網(wǎng)關(guān)技術(shù)存在的缺點(diǎn)而引入的防火墻技術(shù), 其特點(diǎn)是將所有跨越防火墻的網(wǎng)絡(luò)通信鏈路分為兩段。防火墻內(nèi)外計(jì)算機(jī)系統(tǒng)間應(yīng)用層的“鏈接”, 由兩個(gè)終止代理服務(wù)器上的“

21、鏈接”來實(shí)現(xiàn),外部計(jì)算機(jī)的網(wǎng)絡(luò)鏈路只能到達(dá)代理服務(wù)器, 從而起到了隔離防火墻內(nèi)外計(jì)算機(jī)系統(tǒng)的作用。此外,代理服務(wù)也對(duì)過往的數(shù)據(jù)包進(jìn)行分析、注冊(cè)登記, 形成報(bào)告,同時(shí)當(dāng)發(fā)現(xiàn)被攻擊跡象時(shí)會(huì)向網(wǎng)絡(luò)管理員發(fā)出警報(bào),并保留攻擊痕跡。使用代理服務(wù)型防火墻的網(wǎng)絡(luò)結(jié)構(gòu)示意圖請(qǐng)見圖8-3。 圖8-3 代理服務(wù)型防火墻的網(wǎng)絡(luò)結(jié)構(gòu) 8.2.3 防火墻體系結(jié)構(gòu)防火墻體系結(jié)構(gòu) 1雙重宿主主機(jī)體系結(jié)構(gòu)雙重宿主主機(jī)體系結(jié)構(gòu) 雙重宿主主機(jī)體系結(jié)構(gòu)圍繞雙重宿主主機(jī)構(gòu)筑。雙重宿主主機(jī)至少有兩個(gè)網(wǎng)絡(luò)接口。這樣的主機(jī)可以充當(dāng)與這些接口相連的網(wǎng)絡(luò)之間的路由器;能夠從一個(gè)網(wǎng)絡(luò)到另外一個(gè)網(wǎng)絡(luò)發(fā)送IP數(shù)據(jù)包。然而雙重宿主主機(jī)的防火墻體系結(jié)構(gòu)

22、禁止這種發(fā)送。因此IP數(shù)據(jù)包并不是從一個(gè)網(wǎng)絡(luò)(如外部網(wǎng)絡(luò))直接發(fā)送到另一個(gè)網(wǎng)絡(luò)(如內(nèi)部網(wǎng)絡(luò))。外部網(wǎng)絡(luò)能與雙重宿主主機(jī)通信,內(nèi)部網(wǎng)絡(luò)也能與雙重宿主主機(jī)通信。但是外部網(wǎng)絡(luò)與內(nèi)部網(wǎng)絡(luò)不能直接通信,它們之間的通信必須經(jīng)過雙重宿主主機(jī)的過濾和控制。如圖8-4。 圖8-4 雙重宿主主機(jī)體系結(jié)構(gòu) 2被屏蔽主機(jī)體系結(jié)構(gòu)被屏蔽主機(jī)體系結(jié)構(gòu) 雙重宿主主機(jī)體系結(jié)構(gòu)防火墻沒有使用路由器。而被屏蔽主機(jī)體系結(jié)構(gòu)防火墻則使用一個(gè)路由器把內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)隔離開,如圖8-5。在這種體系結(jié)構(gòu)中,主要的安全由數(shù)據(jù)包過濾提供(例如,數(shù)據(jù)包過濾用于防止人們繞過代理服務(wù)器直接相連)。 圖8-5 被屏蔽主機(jī)體系結(jié)構(gòu) 這種體系結(jié)構(gòu)涉及到

23、堡壘主機(jī)。堡壘主機(jī)是因特網(wǎng)上的主機(jī)能連接到的唯一內(nèi)部網(wǎng)絡(luò)上的主機(jī)。任何外部的系統(tǒng)要訪問內(nèi)部的系統(tǒng)或服務(wù)都必須先連接到這臺(tái)主機(jī)。因此堡壘主機(jī)要保持更高等級(jí)的主機(jī)安全。 3被屏蔽子網(wǎng)體系結(jié)構(gòu)被屏蔽子網(wǎng)體系結(jié)構(gòu) 被屏蔽子網(wǎng)體系結(jié)構(gòu)添加額外的安全層到被屏蔽主機(jī)體系結(jié)構(gòu),即通過添加周邊網(wǎng)絡(luò)更進(jìn)一步的把內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)(通常是Internet)隔離開。 被屏蔽子網(wǎng)體系結(jié)構(gòu)的最簡(jiǎn)單的形式為,兩個(gè)屏蔽路由器,每一個(gè)都連接到周邊網(wǎng)。一個(gè)位于周邊網(wǎng)與內(nèi)部網(wǎng)絡(luò)之間,另一個(gè)位于周邊網(wǎng)與外部網(wǎng)絡(luò)(通常為Internet)之間。這樣就在內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)之間形成了一個(gè)“隔離帶”。為了侵入用這種體系結(jié)構(gòu)構(gòu)筑的內(nèi)部網(wǎng)絡(luò),侵

24、襲者必須通過兩個(gè)路由器。即使侵襲者侵入堡壘主機(jī),他將仍然必須通過內(nèi)部路由器。如圖8-6。 圖8-6 被屏蔽子網(wǎng)體系結(jié)構(gòu) 8.2.4 包過濾技術(shù)包過濾技術(shù) 包過濾(Packet Filter)技術(shù)是在網(wǎng)絡(luò)層中對(duì)數(shù)據(jù)包實(shí)施有選擇的通過。根據(jù)系統(tǒng)內(nèi)事先設(shè)定的過濾邏輯,檢查數(shù)據(jù)流中每個(gè)數(shù)據(jù)包后,根據(jù)數(shù)據(jù)包的源地址、目的地址、TCP/UDP源端口號(hào)、TCP/UDP目的端口號(hào)及數(shù)據(jù)包頭中的各種標(biāo)志位等因素來確定是否允許數(shù)據(jù)包通過,其核心是安全策略即過濾算法的設(shè)計(jì)。例如,用于特定的因特網(wǎng)服務(wù)的服務(wù)器駐留在特定的端口號(hào)的事實(shí)(如TCP端口23用于Telnet連接),使包過濾器可以通過簡(jiǎn)單的規(guī)定適當(dāng)?shù)亩丝谔?hào)來達(dá)

25、到阻止或允許一定類型的連接的目的,并可進(jìn)一步組成一套數(shù)據(jù)包過濾規(guī)則。 包過濾技術(shù)作為防火墻的應(yīng)用有三類:一是路由設(shè)備在完成路由選擇和數(shù)據(jù)轉(zhuǎn)發(fā)之外, 同時(shí)進(jìn)行包過濾,這是目前較常用的方式;二是在工作站上使用軟件進(jìn)行包過濾, 這種方式價(jià)格較貴;三是在一種稱為屏蔽路由器的路由設(shè)備上啟動(dòng)包過濾功能。 8.3 使用使用Linux架構(gòu)包過濾防火墻架構(gòu)包過濾防火墻 8.3.1 包過濾型防火墻的一般概念包過濾型防火墻的一般概念 1什么是包過濾什么是包過濾 包過濾就是用一個(gè)軟件查看所流經(jīng)的數(shù)據(jù)包的包頭(header),由此決定整個(gè)數(shù)據(jù)包是否允許通過。它可能會(huì)決定丟棄(DROP)這個(gè)包,可能會(huì)接受(ACCEPT)

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

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

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

29、其他主機(jī)或其他網(wǎng)絡(luò)的所有連接。 拒絕本地主機(jī)或本地網(wǎng)絡(luò)與其他主機(jī)或其他網(wǎng)絡(luò)的指定端口的連接。 允許本地主機(jī)或本地網(wǎng)絡(luò)與其他主機(jī)或其他網(wǎng)絡(luò)的指定端口的連接。 4、包過濾器操作的基本過程、包過濾器操作的基本過程 下面給出包過濾器的操作流程圖,如圖8-9所示。 存儲(chǔ)包過濾規(guī)則分析包報(bào)頭字段IP、UDP、TCP應(yīng)用下一個(gè)包規(guī)則包規(guī)則是否允許傳輸包規(guī)則是否阻止傳輸是否是最后一個(gè)包規(guī)則否是否否允許包阻止包是是圖8-9 包過濾操作流程圖 8.3.2 Netfilter/iptables簡(jiǎn)介簡(jiǎn)介 1Linux下的包過濾防火墻管理工具下的包過濾防火墻管理工具 從11內(nèi)核開始,Linux就已經(jīng)具有包過濾功能了,隨

30、著Linux內(nèi)核版本的不斷升級(jí)Linux下的包過濾系統(tǒng)經(jīng)歷了如下3個(gè)階段:在2.0的內(nèi)核中,采用ipfwadm來操作內(nèi)核包過濾規(guī)則。 在2.2的內(nèi)核中,采用ipchains來控制內(nèi)核包過濾規(guī)則。 在2.4的內(nèi)核中,采用一個(gè)全新的內(nèi)核包過濾管理工具iptables?,F(xiàn)在最新Linux內(nèi)核版本是2.4.1,在2.4內(nèi)核中不再使用ipchains,而是采用一個(gè)全新的內(nèi)核包過濾管理工具-iptables。這個(gè)全新的內(nèi)核包過濾工具將使用戶更易于理解其工作原理,更容易被使用,當(dāng)然也將具有更為強(qiáng)大的功能。iptables作為一個(gè)管理內(nèi)核包過濾的工具,iptables 可以加入、插入或刪除核心包過濾表格(鏈)

31、中的規(guī)則。實(shí)際上真正來執(zhí)行這些過濾規(guī)則的是Netfilter(Linux 核心中一個(gè)通用架構(gòu))及其相關(guān)模塊(如iptables模塊和nat模塊等)。2Netfilter的工作原理的工作原理 Netfilter是Linux 核心中的一個(gè)通用架構(gòu),它提供了一系列的“表”(tables),每個(gè)表由若干“鏈”(chains)組成,而每條鏈中可以有一條或數(shù)條規(guī)則(rule)組成。因此,可以理解netfilter是表的容器,表是鏈的容器,而鏈又是規(guī)則的容器,如圖8-10所示。 圖8-10 Netfilter總體結(jié)構(gòu) 系統(tǒng)缺省的表為“filter”,該表中包含了INPUT、FORWARD和OUTPUT 3個(gè)

32、鏈。每一條鏈中可以有一條或數(shù)條規(guī)則,每一條規(guī)則都是這樣定義的“如果數(shù)據(jù)包頭符合這樣的條件,就這樣處理這個(gè)數(shù)據(jù)包”。當(dāng)一個(gè)數(shù)據(jù)包到達(dá)一個(gè)鏈時(shí),系統(tǒng)就會(huì)從第一條規(guī)則開始檢查,看是否符合該規(guī)則所定義的條件:如果滿足,系統(tǒng)將根據(jù)該條規(guī)則所定義的方法處理該數(shù)據(jù)包;如果不滿足則繼續(xù)檢查下一條規(guī)則。最后,如果該數(shù)據(jù)包不符合該鏈中所有規(guī)則的話,系統(tǒng)就會(huì)根據(jù)該鏈預(yù)先定義的策略(policy)來處理該數(shù)據(jù)包。 數(shù)據(jù)包在filter表中的流程如圖8-11所示。有數(shù)據(jù)包進(jìn)入系統(tǒng)時(shí),系統(tǒng)首先根據(jù)路由表決定將數(shù)據(jù)包發(fā)給哪一條鏈,則可能有三種情況: 路由選擇FORWARD鏈INPUT鏈OUTPUT鏈本地處理進(jìn)程入站包出站包

33、圖8-11 數(shù)據(jù)包在Filter表中的流程圖 (1)如果數(shù)據(jù)包的目的地址是本機(jī),則系統(tǒng)將數(shù)據(jù)包送往INPUT鏈,如果通過規(guī)則檢查,則該包被發(fā)給相應(yīng)的本地進(jìn)程處理;如果沒通過規(guī)則檢查,系統(tǒng)就會(huì)將這個(gè)包丟棄; (2)如果數(shù)據(jù)包的目的地址不是本機(jī),也就是說,這個(gè)包將被轉(zhuǎn)發(fā),則系統(tǒng)將數(shù)據(jù)包送往FORWARD鏈,如果通過規(guī)則檢查,則該包被發(fā)給相應(yīng)的本地進(jìn)程處理;如果沒通過規(guī)則檢查,系統(tǒng)就會(huì)將這個(gè)包丟掉; (3)如果數(shù)據(jù)包是由本地系統(tǒng)進(jìn)程產(chǎn)生的,則系統(tǒng)將其送往OUTPUT鏈,如果通過規(guī)則檢查,則該包被發(fā)給相應(yīng)的本地進(jìn)程處理;如果沒通過規(guī)則檢查,系統(tǒng)就會(huì)將這個(gè)包丟掉。 Red Hat linux 9使用2.

34、4版本地內(nèi)核,并且內(nèi)核的編譯選項(xiàng)中包含對(duì)Netfilter地支持,同時(shí)iptables軟件包是默認(rèn)安裝的,所以可以直接使用。另外,為了完成轉(zhuǎn)發(fā)功能,必須打開系統(tǒng)內(nèi)核的IP轉(zhuǎn)發(fā)功能,使Linux變成路由器。在Red Hat中有兩種方法:(1)修改內(nèi)核變量ip_forward。 # echo “1”/proc/sys/net/ipv4/ip_forward (2)修改腳本/etc/sysconfig/network。 將FORWARD_IPV4=false 改為FORWARD_IPV4=true 3iptables語法語法 iptables的語法通??梢院?jiǎn)化為下面的形式: iptables -t

35、table CMD chain rule-matcher -j target iptables工具的調(diào)用語法如下: (1)對(duì)鏈的操作 (2)對(duì)規(guī)則的操作 (3)指定源地址和目的地址 (4)指定協(xié)議 (5)指定網(wǎng)絡(luò)接口 (6)指定IP碎片 (7)指定非 (8)TCP匹配擴(kuò)展 (9)mac匹配擴(kuò)展 (10)limit匹配擴(kuò)展 (11)LOG目標(biāo)擴(kuò)展 (12)REJECT目標(biāo)擴(kuò)展 4、iptables與與ipchains的區(qū)別的區(qū)別 iptables的缺省鏈的名稱從小寫換成大寫,并且意義不再相同:INPUT和OUTPUT分別放置對(duì)目的地址是本機(jī)以及本機(jī)發(fā)出的數(shù)據(jù)包的過濾規(guī)則。 -i選項(xiàng)現(xiàn)在只代表輸入

36、網(wǎng)絡(luò)接口,輸入網(wǎng)絡(luò)接口則使用-o選項(xiàng)。 TCP和UDP端口現(xiàn)在需要用-source-port或-sport(或-destination-port/-dport)選項(xiàng)拼寫出來并且必須置于“-p tcp”或“-p udp”選項(xiàng)之后,因?yàn)榉謩e是載入TCP和UDP擴(kuò)展的。 以前TCP的“-y”標(biāo)志現(xiàn)在改為“syn”,并且必須置于“-p tcp”之后。 原來的DENY目標(biāo)最后改為了DROP。 可以在列表顯示單個(gè)鏈的同時(shí)將其清空。 可以在清空內(nèi)建鏈的同時(shí)將策略計(jì)數(shù)器清零。 列表顯示鏈時(shí)可顯示計(jì)數(shù)器的當(dāng)前瞬時(shí)值。 REJECT和LOG現(xiàn)在變成了擴(kuò)展目標(biāo),即意味著成為獨(dú)立的內(nèi)核模塊。 鏈名可以長(zhǎng)達(dá)31個(gè)字符。

37、 MASQ現(xiàn)在改為MASQUERADE,并且使用不同的語法。REDIRECT保留原名稱,但也改變了所使用的語法。 8.3.3 包過濾防火墻配置實(shí)例包過濾防火墻配置實(shí)例 1網(wǎng)絡(luò)結(jié)構(gòu)網(wǎng)絡(luò)結(jié)構(gòu) 本節(jié)要為如圖8-12所示的網(wǎng)絡(luò)結(jié)構(gòu)建立一個(gè)包過濾防火墻。 這個(gè)網(wǎng)絡(luò)結(jié)構(gòu)假設(shè)內(nèi)部網(wǎng)有有效的Internet地址。為了將內(nèi)部網(wǎng)段/24與Internet隔離,在內(nèi)部網(wǎng)絡(luò)和Internet之間使用了包過濾防火墻。防火墻的內(nèi)網(wǎng)接口是eth1(54),防火墻的Internet接口是eth0(54)。另外,內(nèi)網(wǎng)中有3臺(tái)服務(wù)器對(duì)外提供服務(wù)。 圖8-12

38、 包過濾防火墻結(jié)構(gòu)圖 WWW服務(wù)器:IP地址為51FTP服務(wù)器:IP地址為52 E_mail服務(wù)器:IP地址為53 2防火墻的建立過程防火墻的建立過程 本例主要是對(duì)內(nèi)部的各種服務(wù)器提供保護(hù)。下面采用編輯并執(zhí)行可執(zhí)行腳本的方法建立此防火墻。具體過程如下:(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

39、.local文件,在末尾加上/etc/rc.d/filter-firewall 以確保開機(jī)時(shí)能自動(dòng)執(zhí)行該腳本。# echo “/etc/rc.d/filter-firewall” /etc/rc.d/rc.local(3)使用文本編輯器編輯/etc/rc.d/filter-firewall文件,插入如下內(nèi)容:# !/bin/bash# 在屏幕上顯示信息echo “Starting iptables rules”# 開啟內(nèi)核轉(zhuǎn)發(fā)功能echo “1” /proc/sys/net/ipv4/ip_forward# 定義變量IPT=/sbin/iptablesWWW-SERVER=198.168.80

40、.251FTP-SERVER=52EMAIL-SERVER=53IP_RANGE=“/24”# 刷新所有的鏈的規(guī)則$IPT F# 首先禁止轉(zhuǎn)發(fā)任何包,然后再一步步設(shè)置允許通過的包# 所以首先設(shè)置防火墻FORWARD鏈的策略為DROP$IPT P FORWARD DROP# # 下面設(shè)置關(guān)于服務(wù)器的包過濾規(guī)則 # 由于服務(wù)器/客戶機(jī)交互是雙向的,所以不僅僅要設(shè)置數(shù)據(jù)包# 出去的規(guī)則,還要設(shè)置數(shù)據(jù)包返回的規(guī)則# # 1、下面建立針對(duì)來自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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論