无码视频在线观看,99人妻,国产午夜视频,久久久久国产一级毛片高清版新婚

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

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

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

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


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

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

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

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