亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

基于Linux系統(tǒng)的包過濾防火墻(1)

發(fā)布時(shí)間:  2012/9/14 18:47:01

第1 章、基于路由器的包過濾防火墻
1.1 包過濾防火墻的一般概念
1.1.1 什么是包過濾防火墻
包過濾防火墻是用一個(gè)軟件查看所流經(jīng)的數(shù)據(jù)包的包頭(header),由此決定整個(gè)包的命運(yùn)。它可能會(huì)決定丟棄(DROP)這個(gè)包,可能會(huì)接受(ACCEPT)這個(gè)包(讓這個(gè)包通過),也可能執(zhí)行其它更復(fù)雜的動(dòng)作。
在Linux系統(tǒng)下,包過濾功能是內(nèi)建于核心的(作為一個(gè)核心模塊,或者直接內(nèi)建),同時(shí)還有一些可以運(yùn)用于數(shù)據(jù)包之上的技巧,不過最常用的依然是查看包頭以決定包的命運(yùn)。
1.1.2 包過濾防火墻的工作層次
包過濾是一種內(nèi)置于Linux內(nèi)核路由功能之上的防火墻類型,其防火墻工作在網(wǎng)絡(luò)層。
1.1.3 包過濾防火墻的工作原理
(1)使用過濾器。數(shù)據(jù)包過濾用在內(nèi)部主機(jī)和外部主機(jī)之間,        過濾系統(tǒng)是一臺(tái)路由器或是一臺(tái)主機(jī)。過濾系統(tǒng)根據(jù)過濾規(guī)則來決定是否讓數(shù)據(jù)包通過。用于過濾數(shù)據(jù)包的路由器被稱為過濾路由器。
數(shù)據(jù)包過濾是通過對(duì)數(shù)據(jù)包的IP頭和TCP頭或UDP頭的檢查來實(shí)現(xiàn)的,主要信息有:
* IP源地址
* IP目標(biāo)地址
* 協(xié)議(TCP包、UDP包和ICMP包)
* TCP或UDP包的源端口
* TCP或UDP包的目標(biāo)端口
* ICMP消息類型
* TCP包頭中的ACK位
* 數(shù)據(jù)包到達(dá)的端口
* 數(shù)據(jù)包出去的端口
在TCP/IP中,存在著一些標(biāo)準(zhǔn)的服務(wù)端口號(hào),例如,HTTP的端口號(hào)為80。通過屏蔽特定的端口可以禁止特定的服務(wù)。包過濾系統(tǒng)可以阻塞內(nèi)部主機(jī)和外部主機(jī)或另外一個(gè)網(wǎng)絡(luò)之間的連接,例如,可以阻塞一些被視為是有敵意的或不可信的主機(jī)或網(wǎng)絡(luò)連接到內(nèi)部網(wǎng)絡(luò)中。
(2)過濾器的實(shí)現(xiàn)。數(shù)據(jù)包過濾一般使用過濾路由器來實(shí)現(xiàn),這種路由器與普通的路由器有所不同。
普通的路由器只檢查數(shù)據(jù)包的目標(biāo)地址,并選擇一個(gè)達(dá)到目的地址的最佳路徑。它處理數(shù)據(jù)包是以目標(biāo)地址為基礎(chǔ)的,存在著兩種可能性:若路由器可以找到一個(gè)路徑到達(dá)目標(biāo)地址則發(fā)送出去;若路由器不知道如何發(fā)送數(shù)據(jù)包則通知數(shù)據(jù)包的發(fā)送者“數(shù)據(jù)包不可達(dá)”。
過濾路由器會(huì)更加仔細(xì)地檢查數(shù)據(jù)包,除了決定是否有到達(dá)目標(biāo)地址的路徑外,還要決定是否應(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ò)與其它主機(jī)或其它網(wǎng)絡(luò)的所有連接。
* 拒絕本地主機(jī)或本地網(wǎng)絡(luò)與其它主機(jī)或其它網(wǎng)絡(luò)的指定端口的連接。
* 允許本地主機(jī)或本地網(wǎng)絡(luò)與其它主機(jī)或其它網(wǎng)絡(luò)的指定端口的連接。
1.1.4 包過濾器操作的基本過程
下面做個(gè)簡(jiǎn)單的敘述:
(1)包過濾規(guī)則必須被包過濾設(shè)備端口存儲(chǔ)起來。
(2)當(dāng)包到達(dá)端口時(shí),對(duì)包報(bào)頭進(jìn)行語(yǔ)法分析。大多數(shù)包過濾設(shè)備只檢查IP、TCP、或UDP報(bào)頭中的字段。
(3)包過濾規(guī)則以特殊的方式存儲(chǔ)。應(yīng)用于包的規(guī)則的順序與包過濾器規(guī)則存儲(chǔ)順序必須相同。
(4)若一條規(guī)則阻止包傳輸或接收,則此包便不被允許。
(5)若一條規(guī)則允許包傳輸或接收,則此包便可以被繼續(xù)處理。
(6)若包不滿足任何一條規(guī)則,則此包便被阻塞。
1.1.5 包過濾技術(shù)的優(yōu)缺點(diǎn)
(1)優(yōu)點(diǎn):
→對(duì)于一個(gè)小型的、不太復(fù)雜的站點(diǎn),包過濾比較容易實(shí)現(xiàn)。
→因?yàn)檫^濾路由器工作在IP層和TCP層,所以處理包的速度比代理服務(wù)器快。
→過濾路由器為用戶提供了一種透明的服務(wù),用戶不需要改變客戶端的任何應(yīng)用程序,也不需要用戶學(xué)習(xí)任何新的東西。因?yàn)檫^濾路由器工作在IP層和TCP層,而IP層和TCP層與應(yīng)用層的問題毫不相關(guān)。所以,過濾路由器有時(shí)也被稱為“包過濾網(wǎng)關(guān)”或“透明網(wǎng)關(guān)”,之所被稱為網(wǎng)關(guān),是因?yàn)榘^濾路由器和傳統(tǒng)路由器不同,它涉及到了傳輸層。
→過濾路由器在價(jià)格上一般比代理服務(wù)器便宜。
(2)缺點(diǎn):
→一些包過濾網(wǎng)關(guān)不支持有效的用戶認(rèn)證。
→規(guī)則表很快會(huì)變得很大而且復(fù)雜,規(guī)則很難測(cè)試。隨著表的增大和復(fù)雜性的增加,規(guī)則結(jié)構(gòu)出現(xiàn)漏洞的可能  性也會(huì)增加。
→這種防火墻最大的缺陷是它依賴一個(gè)單一的部件來保護(hù)系統(tǒng)。如果這個(gè)部件出現(xiàn)了問題,會(huì)使得網(wǎng)絡(luò)大門敞開,而用戶其至可能還不知道。
→在一般情況下,如果外部用戶被允許訪問內(nèi)部主機(jī),則它就可以訪問內(nèi)部網(wǎng)上的任何主機(jī)。
→包過濾防火墻只能阻止一種類型的IP欺騙,即外部主機(jī)偽裝內(nèi)部主機(jī)的IP,對(duì)于外部主機(jī)偽裝外部主機(jī)的IP欺騙卻不可能阻止,而且它不能防止DNS欺騙。
雖然,包過濾防火墻有如上所述的缺點(diǎn),但是在管理良好的小規(guī)模網(wǎng)絡(luò)上,它能夠正常的發(fā)揮其作用。一般情況下,人們不單獨(dú)使用包過濾網(wǎng)關(guān),而是將它和其他設(shè)備(如堡壘主機(jī)等)聯(lián)合使用。
1.2 Netfilter/iptables架構(gòu)
1.2.1 Linux下的包過濾防火墻管理工具
從1.1內(nèi)核開始,Linux系統(tǒng)就已經(jīng)具有包過濾功能了,隨著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.
Linux因其健壯性、可靠性、靈活性以及幾乎無限范圍的可定制性而在IT界變得非常受歡迎。Linux具有許多內(nèi)置的能力,使開發(fā)人員可以根據(jù)自己的需要定制其工具、行為和外觀,而無需昂貴的第三方工具。如果Linux系統(tǒng)連接到因特網(wǎng)或LAN、服務(wù)器或連接LAN和因特網(wǎng)的代理服務(wù)器,所要用到的一種內(nèi)置能力就是針對(duì)網(wǎng)絡(luò)上Linux系統(tǒng)的防火墻配置?梢栽贜etfilter/iptables IP信息包過濾系統(tǒng)(它集成在2.4.x版本的Linux內(nèi)核中)的幫助下運(yùn)用這種能力。Netfilter/iptables是與最新的2.4.x版本 Linux內(nèi)核集成的IP信息包過濾系統(tǒng)。
與ipfwadm和ipchains這樣的Linux信息包過濾方案相比,Netfilter/iptables信息包過濾系統(tǒng)是最新的解決方案,使用戶更易于理解其工作原理,也具有更為強(qiáng)大的功能。對(duì)于Linux系統(tǒng)管理員、網(wǎng)絡(luò)管理員以及家庭用戶(他們想要根據(jù)自己特定的需求來配置防火墻、在防火墻解決方案上節(jié)省費(fèi)用和對(duì)IP信息包過濾具有完全控制權(quán))來說,Netfilter/iptables系統(tǒng)十分理想,且更容易被使用。
1.2.2 新一代的Netfilter網(wǎng)絡(luò)底層架構(gòu)
Netfilter是一種內(nèi)核中用于擴(kuò)展各種網(wǎng)絡(luò)服務(wù)的結(jié)構(gòu)化底層構(gòu)架。Netfilter的設(shè)計(jì)思想是生成一個(gè)模塊結(jié)構(gòu)使之能夠比較容易的擴(kuò)展。新的特性加入到內(nèi)核中并不需要重新啟動(dòng)內(nèi)核。這樣,可以通過簡(jiǎn)單的構(gòu)造一個(gè)內(nèi)核模塊來實(shí)現(xiàn)網(wǎng)絡(luò)新特性的擴(kuò)展。為底層的網(wǎng)絡(luò)特性擴(kuò)展帶來了極大的便利,使更多從事網(wǎng)絡(luò)底層研發(fā)的人員能夠集中精力實(shí)現(xiàn)新的網(wǎng)絡(luò)特性。
事實(shí)上,我們可以將Netfilter視為網(wǎng)絡(luò)協(xié)議堆棧中可以讓其它模塊操作網(wǎng)絡(luò)數(shù)據(jù)包的一系列“鉤子”,在數(shù)據(jù)包通過協(xié)議堆棧的某些特定的點(diǎn)上, Netfilter框架允許一個(gè)模塊轉(zhuǎn)發(fā)或丟棄數(shù)據(jù)包、通過某種方式改變數(shù)據(jù)包、在用戶空間(非內(nèi)核模式)對(duì)包進(jìn)行排隊(duì),當(dāng)然也可以根本不去干涉它。
(1)Netfilter/iptables系統(tǒng)的含義。Linux 2.4內(nèi)核中Netfilter是新的用來實(shí)現(xiàn)防火墻的過濾器。 iptables是用來指定Netfilter規(guī)則的用戶工具。
Iptables只是一個(gè)管理內(nèi)核包過濾的工具,它為用戶配置防火墻規(guī)則提供了方便。
Iptables可以加入、插入或刪除核心包過濾表格(鏈)中的規(guī)則。實(shí)際上真正來執(zhí)行這些規(guī)則的netfilter及其相關(guān)模塊(如iptables模塊和nat模塊等)。
因此,要使用Netfilter/iptables系統(tǒng),必須首先有2.4版本內(nèi)核的相關(guān)支持,同時(shí)必須安裝iptables軟件包。在Red Hat 9.0發(fā)行版中,此系統(tǒng)是默認(rèn)的配置。
(2)使用Netfilter/iptables替代ipchains的原因:
→連接跟蹤
→自動(dòng)碎片重裝
→改良的匹配規(guī)則
→增強(qiáng)的日志功能
→允許撕裂包中的任何信息
→用戶隊(duì)列允許用戶空間對(duì)包進(jìn)行編程
→支持內(nèi)置包轉(zhuǎn)發(fā)而舍棄了IPMASQANDM
(3)Netfilter/iptables系統(tǒng)的主要功能
→狀態(tài)包過濾(連接跟蹤)
→各種網(wǎng)絡(luò)地址翻譯
→靈活、易擴(kuò)展的急智機(jī)制
→大量的增強(qiáng)型補(bǔ)丁包
(4)Netfilter/iptables的用途
→建立Internet防火墻和基于狀態(tài)的包過濾
→用NAT和偽裝(masquerading)共享上網(wǎng)
→用NAT實(shí)現(xiàn)透明代理
→用修改IP包頭的ToS字段來實(shí)現(xiàn)更復(fù)雜的功能
→和tc+iprouter2配合使用可以實(shí)現(xiàn)QoS路由
(5)Netfilter/iptables系統(tǒng)的優(yōu)點(diǎn)。Netfilter/iptables的最大優(yōu)點(diǎn)是它可以配置有狀態(tài)的防火墻,這是 ipfwadm和ipchains等以前的工具都無法提供的一種重要功能。有狀態(tài)的防火墻能夠指定并記住為發(fā)送或接收信息包所建立的連接的狀態(tài)。防火墻可以從信息包的連接跟蹤狀態(tài)獲得該信息。在決定新的信息包過濾時(shí),防火墻所使用的這些狀態(tài)信息可以增加其效率和速度。有4種有效狀態(tài),名稱分別為 ESTABLISHED、INVALID、NEW和RELATED。其中:
→狀態(tài)ESTABLISHED指出該信息包屬于已建立的連接,該連接一直用于發(fā)送和接收信息包并且完全有效。
→狀態(tài)INVALID指出該信息包與任何已知的流或連接都不相關(guān)聯(lián),它可能包含錯(cuò)誤的數(shù)據(jù)或頭。
→狀態(tài)NEW意味著該項(xiàng)信息包已經(jīng)或?qū)?dòng)新的連接,或者它與尚味用于發(fā)送和接收信息包的連接相關(guān)聯(lián)。
→狀態(tài)RELATED表示該信息包正在啟動(dòng)新連接,以及它與已建立的連接相關(guān)聯(lián)。
Netfilter/iptables的另一個(gè)重要優(yōu)點(diǎn)是,它使用戶可以完全控制防火墻配置和信息包過濾。您可以定制自己的規(guī)則來懣足您的特定需求,從而只允許您想要的網(wǎng)絡(luò)流量進(jìn)入系統(tǒng)。
此外,Netfilter/iptables是免費(fèi)的,這對(duì)于那些想要節(jié)省費(fèi)用的人來說十分理想,它可以代替昂貴的防火墻解決方案。
總之,最新的Linux內(nèi)核2.4.x具有Netfilter/iptables系統(tǒng)這種內(nèi)置的IP信息包過濾工具,它使配置防火墻和信息包過濾變得便宜且方便。Netfilter/iptables系統(tǒng)使其用戶可以完全控制防火墻配置和信息包過濾。它允許為防火墻建立可定制化的規(guī)則來控制信息包過濾。它還允許配置有狀態(tài)的防火墻。
1.2.3 Netfilter/iptables的內(nèi)核空間和用戶空間
雖然netfilter/iptables IP信息包過濾系統(tǒng)被稱為單個(gè)實(shí)體,但它實(shí)際上由兩個(gè)組件netfilter和iptables組成。
(1)內(nèi)核空間。Netfilter組件也稱為內(nèi)核空間(KernelSpace),是內(nèi)核的一部分,由一些“表”(table)組成,每個(gè)表由若干“鏈”組成,而每條鏈中可以有一條或數(shù)條規(guī)則(rule)。
(2)用戶空間。Iptables組件是一種工具,也稱為用戶空間(userspace),它使插入、修改和除去信息包過濾表中的規(guī)則變得容易。
1.2.4 Netfilter/iptables過濾系統(tǒng)是如何工作的
Netfilter/iptables IP信息包過濾系統(tǒng)是一種功能強(qiáng)大的工具,可用于添加、編輯和除去規(guī)則,這些規(guī)則是在做包過濾決定時(shí)所遵循的依據(jù)。這些規(guī)則存儲(chǔ)在專用的信息包過濾表中,而這些表集成在Linux內(nèi)核中。在信息包過濾表中,規(guī)則被分組在鏈(chain)中。
(1)用戶使用iptables命令在用戶空間設(shè)置過濾規(guī)則。通過使用用戶空間可以構(gòu)建用戶自己的定制過濾規(guī)則,這些規(guī)則存儲(chǔ)在內(nèi)核空間的信息包過濾表中。這些規(guī)則具有目標(biāo),它們告訴內(nèi)核對(duì)來自某些源、前往某些目的地或具有某些協(xié)議類型的信息包做些什么。如果某個(gè)信息包與規(guī)則匹配,那么使用目標(biāo) ACCEPT允許該信息包通過。還可以使用目標(biāo)DROP或REJECT來阻塞并殺死信息包。對(duì)于可對(duì)信息包執(zhí)行的其它操作,還有許多其它目標(biāo)。
根據(jù)規(guī)則所處理的信息包的類型,可以將規(guī)則分組在鏈中。
→處理入站信息包的規(guī)則被添加到INPUT鏈中。
→處理出站信息包的規(guī)則被添加到OUTPUT鏈中。
→處理正在轉(zhuǎn)發(fā)的信息包的規(guī)則被添加到FORWARD鏈中。
這3個(gè)鏈?zhǔn)窍到y(tǒng)默認(rèn)的表(filter)中內(nèi)置的3個(gè)默認(rèn)主鏈。每個(gè)鏈都有一個(gè)策略,它定義默認(rèn)目標(biāo),也就是要執(zhí)行的默認(rèn)操作,當(dāng)信息包與鏈中的任何規(guī)則都不匹配時(shí),執(zhí)行此操作。
(2)內(nèi)核空間接管過濾工作。當(dāng)規(guī)則建立并將鏈放在filter表之后,        就可以開始進(jìn)行真正的信息包過濾工作了。這時(shí)內(nèi)核空間從用戶空間接管工作。
包過濾工作要經(jīng)過如下的步驟:
1)路由。當(dāng)信息包到達(dá)防火墻時(shí),內(nèi)核先檢查信息包的頭信息,尤其是信息包的目的地。我們將這個(gè)過程稱為路由。
2)根據(jù)情況將數(shù)據(jù)包送往包過濾表(filter)的不同的鏈。
→如果信息包源自外界并且數(shù)據(jù)包的目的地址是本機(jī),而且防火墻是打開的,那么內(nèi)核將它傳遞到內(nèi)核空間信息包過濾表的INPUT鏈。
→如果信息包源自系統(tǒng)本機(jī),并且此信息包要前往另一個(gè)系統(tǒng),那么信息包被傳遞到OUTPUT鏈。
→信息包源自廣域網(wǎng)前往局域網(wǎng)或相反方向的信息包被傳遞到FORWARD鏈。
3)規(guī)則檢查。將信息包的頭信息與它所傳遞到的鏈中的每條規(guī)則進(jìn)行比較,看它是否與某條規(guī)則完全匹配。
→如果信息包與某條規(guī)則匹配,那么內(nèi)核就對(duì)該信息包執(zhí)行由該項(xiàng)規(guī)則的目標(biāo)指定的操作。
&如果目標(biāo)為ACCEPT,則允許該信息包通過,并將該包發(fā)給相應(yīng)的本地進(jìn)程處理。
&如果目標(biāo)為DROP或REJECT,則不允許該信息包通過,并將該包阻塞并殺死。
→如果信息包與這條規(guī)則不匹配,那么它將與鏈中的下一條規(guī)則進(jìn)行比較。
→最后,如果信息包與鏈中的任何規(guī)則都不匹配,那么內(nèi)核將參考該鏈的策略來決定如何處理該信息包。理想的策略應(yīng)該告訴內(nèi)核DROP該信息包。
1.2.5 Red Hat linux 9中的Netfilter/iptables
Red Hat linux 9使用2.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
如果有需要服務(wù)器的租用與托管的敬請(qǐng)聯(lián)系QQ:1501281758(億恩星辰)   聯(lián)系電話:0371—63322220


本文出自:億恩科技【1tcdy.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線