亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Netfilter/iptables狀態(tài)防火墻探析

        2015-03-18 12:24:30
        網(wǎng)絡(luò)安全和信息化 2015年8期
        關(guān)鍵詞:內(nèi)核防火墻數(shù)據(jù)包

        Netfilter組件也稱為內(nèi)核空間,是集成在內(nèi)核中的一部分,是Linux 防火墻架構(gòu)的核心,是各種與防火墻相關(guān)模塊的實(shí)現(xiàn)基礎(chǔ)。它是Linux內(nèi)核的一個(gè)子系統(tǒng),自身實(shí)現(xiàn)的只是一個(gè)通用的框架,不依賴于具體的協(xié)議。它的作用是定義、保存相應(yīng)的規(guī)則,以實(shí)現(xiàn)防火墻功能。而iptables組件是一種工具,也稱為用戶空間,用以插入、修改、刪除信息的過(guò)濾規(guī)則及其他配置。管理員可以通過(guò)iptables來(lái)設(shè)置適合當(dāng)前應(yīng)用環(huán)境的規(guī)則,而這些規(guī)則會(huì)保存在內(nèi)核空間中。

        Netfilter通過(guò)提供一個(gè)鉤子(hook)函數(shù)通用接口來(lái)實(shí)現(xiàn)各個(gè)子模塊、各種協(xié)議對(duì)數(shù)據(jù)包的特殊處理。如果某個(gè)模塊需要對(duì)流經(jīng)網(wǎng)絡(luò)協(xié)議棧中的某些數(shù)據(jù)包進(jìn)行處理時(shí),它就需要向Netfilter系統(tǒng)注冊(cè)鉤子函數(shù),告訴Netfilter它所感興趣的數(shù)據(jù)包協(xié)議類型和處理的鉤子點(diǎn)。當(dāng)這些期待的數(shù)據(jù)包通過(guò)Netfilter框架中注冊(cè)過(guò)的鉤子點(diǎn)時(shí),相應(yīng)的鉤子函數(shù)就會(huì)被調(diào)用,在鉤子函數(shù)中就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)包處理過(guò)程:丟棄或者更改數(shù)據(jù)包內(nèi)容。

        狀態(tài)檢測(cè)機(jī)制工作原理

        一般來(lái)說(shuō),每個(gè)網(wǎng)絡(luò)連接包括以下信息:源地址、目的地址、源端口和目的端口,協(xié)議類型、連接狀態(tài)(TCP協(xié)議)和超時(shí)時(shí)間等。防火墻通常把這些信息稱作狀態(tài),能夠檢測(cè)每個(gè)連接狀態(tài)的防火墻稱作狀態(tài)包過(guò)濾防火墻。它主要完成兩部分的工作,除了能夠完成簡(jiǎn)單包過(guò)濾防火墻的工作外,它還在內(nèi)存中維護(hù)一個(gè)跟蹤連接狀態(tài)的表,從而比簡(jiǎn)單包過(guò)濾防火墻具有更大的安全性。這些狀態(tài)可以一起使用,以便匹配數(shù)據(jù)包。這可以使得防火墻非常強(qiáng)壯和有效。以前,經(jīng)常打開(kāi)1024以上的所有端口來(lái)放行應(yīng)答的數(shù)據(jù)。現(xiàn)在,有了狀態(tài)檢測(cè)機(jī)制,就不需再這樣了。因?yàn)榭梢灾婚_(kāi)放那些有應(yīng)答數(shù)據(jù)的端口,其他的都可以關(guān)閉,這樣就安全多了。

        狀態(tài)檢測(cè)技術(shù)是基于動(dòng)態(tài)包過(guò)濾技術(shù)之上發(fā)展而來(lái)的新技術(shù)。這種防火墻加入了一種被稱為狀態(tài)檢測(cè)的模塊,它會(huì)在不影響網(wǎng)絡(luò)正常工作的情況下,采用抽取相關(guān)數(shù)據(jù)的方法對(duì)網(wǎng)絡(luò)通信的各個(gè)層進(jìn)行監(jiān)測(cè),并根據(jù)各種過(guò)濾規(guī)則作出安全決策。狀態(tài)檢測(cè)技術(shù)保留了包過(guò)濾技術(shù)對(duì)數(shù)據(jù)包的頭部、協(xié)議、地址、端口等信息進(jìn)行分析的功能,并進(jìn)一步發(fā)展為會(huì)話過(guò)濾功能。在每個(gè)連接建立時(shí),防火墻會(huì)為這個(gè)連接構(gòu)造一個(gè)會(huì)話狀態(tài),里面包含了這個(gè)連接數(shù)據(jù)包的所有信息,以后這個(gè)連接都基于這個(gè)狀態(tài)信息進(jìn)行。這種檢測(cè)方法的優(yōu)點(diǎn)是能對(duì)每個(gè)數(shù)據(jù)包的內(nèi)容進(jìn)行監(jiān)控,一旦建立了一個(gè)會(huì)話狀態(tài),則此后的數(shù)據(jù)傳輸都要以這個(gè)會(huì)話狀態(tài)作為依據(jù)。而且,會(huì)話狀態(tài)的保留是有時(shí)間限制的,在限制的范圍內(nèi)如果沒(méi)有再進(jìn)行數(shù)據(jù)傳輸,這個(gè)會(huì)話狀態(tài)就會(huì)被丟棄。

        狀態(tài)檢測(cè)防火墻將屬于同一連接的所有數(shù)據(jù)包作為一個(gè)整體數(shù)據(jù)流來(lái)看待,建立連接狀態(tài)表。并將規(guī)則表與連接狀態(tài)表結(jié)合判斷,來(lái)對(duì)流經(jīng)防火墻的數(shù)據(jù)包進(jìn)行有效的過(guò)濾。狀態(tài)檢測(cè)技術(shù)可以對(duì)包的內(nèi)容進(jìn)行分析,從而擺脫了傳統(tǒng)防火墻僅局限于過(guò)濾包頭信息的弱點(diǎn),而且這種防火墻可以不必開(kāi)放過(guò)多的端口,從而進(jìn)一步杜絕了可能因開(kāi)放過(guò)多端口而帶來(lái)的安全隱患。

        狀態(tài)檢測(cè)機(jī)制不再把數(shù)據(jù)包之間看作是無(wú)關(guān)的,它不再對(duì)單個(gè)數(shù)據(jù)包進(jìn)行處理,而是以連接會(huì)話為單位進(jìn)行檢測(cè)。它在協(xié)議棧底層截去數(shù)據(jù)包,然后分析這些數(shù)據(jù)包。并且將當(dāng)前數(shù)據(jù)包及其狀態(tài)信息和其前一時(shí)刻的數(shù)據(jù)包及其狀態(tài)信息進(jìn)行比較,從而得到該數(shù)據(jù)包的控制信息,達(dá)到保護(hù)網(wǎng)絡(luò)安全的目的??傊?,它的思想就是將屬于同一連接的所有數(shù)據(jù)包作為一個(gè)整體的數(shù)據(jù)流來(lái)看待。狀態(tài)檢測(cè)機(jī)制不對(duì)數(shù)據(jù)包進(jìn)行過(guò)濾處理,它只是跟蹤并記錄數(shù)據(jù)包的走向,數(shù)據(jù)報(bào)過(guò)濾、網(wǎng)絡(luò)地址轉(zhuǎn)換就是建立在狀態(tài)檢測(cè)基礎(chǔ)上的。由于狀態(tài)檢測(cè)機(jī)制是在內(nèi)核模式下進(jìn)行的,所以速度很快。

        Netfilter/iptables防火墻系統(tǒng)使用連接跟蹤技術(shù)來(lái)實(shí)現(xiàn)狀態(tài)檢測(cè)功能。連接跟蹤作為一個(gè)獨(dú)立運(yùn)行的模塊,它是動(dòng)態(tài)包過(guò)濾、地址轉(zhuǎn)換的基礎(chǔ)。連接跟蹤機(jī)制依靠設(shè)置在Netfilter防火墻框架中的鉤子函數(shù),來(lái)檢查每一個(gè)有效的連接的狀態(tài),然后根據(jù)這些信息決定數(shù)據(jù)包是否可以通過(guò)防火墻。

        連接跟蹤機(jī)制的核心是在協(xié)議棧底層為數(shù)據(jù)包建立連接狀態(tài)信息,通過(guò)識(shí)別數(shù)據(jù)包的狀態(tài),避免了包過(guò)濾防火墻僅考查數(shù)據(jù)包的IP地址和端口等幾個(gè)參數(shù)而不關(guān)心數(shù)據(jù)包之間相互聯(lián)系的缺點(diǎn)。在防火墻的核心部分建立動(dòng)態(tài)的連接狀態(tài)表,并將進(jìn)出網(wǎng)絡(luò)的數(shù)據(jù)當(dāng)成一個(gè)個(gè)的會(huì)話,利用狀態(tài)表跟蹤每一個(gè)會(huì)話狀態(tài)。連接跟蹤機(jī)制對(duì)每一個(gè)包的檢查不僅根據(jù)規(guī)則表更考慮了數(shù)據(jù)包是否符合會(huì)話所處的狀態(tài),這種方式可以帶來(lái)更高的效率、更有力的訪問(wèn)控制和更強(qiáng)的安全能力。

        當(dāng)數(shù)據(jù)包到達(dá)時(shí),防火墻的連接跟蹤機(jī)制根據(jù)連接狀態(tài)表中的信息來(lái)決定包的狀態(tài)。如果該IP包是屬于一個(gè)已經(jīng)建立的連接那么就直接越過(guò)協(xié)議棧中的規(guī)則檢測(cè)部分,交給上層協(xié)議處理。如果該IP包不屬于一個(gè)已經(jīng)建立的連接,那么轉(zhuǎn)入正常的規(guī)則檢測(cè)部分,然后根據(jù)規(guī)則檢測(cè)的結(jié)果決定對(duì)IP包的操作。同時(shí),連接狀態(tài)表的使用大大降低了把數(shù)據(jù)包偽裝成一個(gè)正在使用的連接的一部分的可能。

        Netfilter/iptables防火墻的狀態(tài)檢測(cè)機(jī)制還能對(duì)應(yīng)用層的信息進(jìn)行檢查,即對(duì)特定類型的數(shù)據(jù)包中的數(shù)據(jù)進(jìn)行檢測(cè)。可以檢查ICMP報(bào)文所承載的數(shù)據(jù),可以檢查FTP、SMTP數(shù)據(jù)包中是否包含了不安全的命令,可以過(guò)濾HTTP協(xié)議的不安全的請(qǐng)求,甚至能實(shí)現(xiàn)簡(jiǎn)單的URL或關(guān)鍵字過(guò)濾。

        連接跟蹤的實(shí)現(xiàn)

        Netfilter的連接跟蹤模塊(nf_conntrack.ko)可以將進(jìn)入?yún)f(xié)議棧的報(bào)文建立連接,進(jìn)行連接跟蹤。因?yàn)槭褂脿顟B(tài)檢測(cè),所以如果沒(méi)有數(shù)據(jù)率限制時(shí),只需要檢測(cè)首包,也就是在連接跟蹤表中還未建立連接的報(bào)文。如果發(fā)現(xiàn)是狀態(tài)為已建立連接,不用匹配任何規(guī)則,直接放行。

        在每一條數(shù)據(jù)包檢查路徑上,連接跟蹤、包過(guò)濾和地址轉(zhuǎn)換都注冊(cè)了相應(yīng)的鉤子函數(shù),并創(chuàng)建與之相關(guān)的數(shù)據(jù)結(jié)構(gòu),完成其功能。以防火墻轉(zhuǎn)發(fā)數(shù)據(jù)包為例,鉤子執(zhí)行功能點(diǎn)檢查的順序如下:連接跟蹤、目的地址轉(zhuǎn)換、包過(guò)濾、源地址轉(zhuǎn)換、連接跟蹤。

        連接跟蹤在路徑上出現(xiàn)了兩次,所起作用是:在第一個(gè)點(diǎn)上創(chuàng)建連接跟蹤的結(jié)構(gòu),即連接跟蹤表(庫(kù)),這個(gè)結(jié)構(gòu)會(huì)在后面的目的地址轉(zhuǎn)換和包過(guò)濾中被使用;在第二個(gè)點(diǎn)上將連接跟蹤的結(jié)構(gòu)加載到系統(tǒng)的連接表中。

        連接跟蹤表實(shí)際是一個(gè)以哈希散列值排列的雙向鏈表數(shù)組,用來(lái)描述所有的連接狀態(tài),鏈表記錄元素即為連接記錄所包含的數(shù)據(jù)包五元組及其它必需的狀態(tài)信息等,用來(lái)唯一標(biāo)識(shí)一個(gè)連接。連接跟蹤表是一塊內(nèi)存空間,采用了高效的插入、修改、移動(dòng)、刪除等算法,故匹配速度比規(guī)則集更高效更快速。連接跟蹤表的容量不是無(wú)限大,默認(rèn)值隨著硬件配置,特別是內(nèi)存大小而改變。實(shí)際上,百萬(wàn)條記錄的連接跟蹤表也不會(huì)占用超過(guò)1GB的內(nèi)存。此外,默認(rèn)的防火墻最大連接跟蹤數(shù)目是有限制的,與Linux系統(tǒng)的體系結(jié)構(gòu)、內(nèi)存容量是有一定相關(guān)性的。當(dāng)然,如果認(rèn)為默認(rèn)的最大連接跟蹤數(shù)不足,是可以通過(guò)修改連接跟蹤模塊的參數(shù)值調(diào)整的。

        連接跟蹤的四種狀態(tài)

        無(wú)論是流入、轉(zhuǎn)發(fā),還是防火墻本地進(jìn)程產(chǎn)生的數(shù)據(jù)包,在到達(dá)網(wǎng)絡(luò)層之后,首先利用這個(gè)狀態(tài)檢測(cè)機(jī)制來(lái)查看連接跟蹤表是否具有該數(shù)據(jù)包的軌跡連接項(xiàng),如果沒(méi)有數(shù)據(jù)包的軌跡項(xiàng),就將為該數(shù)據(jù)包在連接跟蹤表中初始化一個(gè)軌跡項(xiàng),在此時(shí)將檢驗(yàn)該連接是否是某個(gè)期望的連接,如果是就將其狀態(tài)信息定義為相關(guān)連接,如果沒(méi)有相關(guān)性,就將其信息值定義為新建連接,數(shù)據(jù)包在連接跟蹤表中初始化對(duì)應(yīng)的軌跡項(xiàng)后繼續(xù)根據(jù)優(yōu)先級(jí)調(diào)用防火墻代碼處理;如果在連接跟蹤表中找到了對(duì)應(yīng)的軌跡項(xiàng),我們將把這個(gè)軌跡項(xiàng)定義為舊值,再根據(jù)這個(gè)舊值以及輸入的數(shù)據(jù)包的包類型,連接方向來(lái)確定一個(gè)新值,并用這個(gè)新值來(lái)更新連接跟蹤表。

        簡(jiǎn)單說(shuō)來(lái),Netfilter在協(xié)議棧底層截取數(shù)據(jù)包進(jìn)行分析,并且將當(dāng)前數(shù)據(jù)包及其狀態(tài)信息和其前一時(shí)刻數(shù)據(jù)包及狀態(tài)信息進(jìn)行比較,得到該數(shù)據(jù)包控制信息。Linux內(nèi)核的連接跟蹤模塊將數(shù)據(jù)包的連接分為四個(gè)狀態(tài):NEW、ESTABLISHED、RELATED和INVALID。通過(guò)對(duì)這四種狀態(tài)的匹配,實(shí)現(xiàn)狀態(tài)化防火墻的所有功能。需要指明的是,這四種狀態(tài)是與協(xié)議無(wú)關(guān)的,即對(duì)TCP、UDP、ICMP 三種協(xié)議均有效,切記不可與面向連接的TCP狀態(tài)轉(zhuǎn)化機(jī)制相混淆。對(duì)這四種狀態(tài)的描述如下:

        NEW,表示分組將要或已經(jīng)開(kāi)始建立一個(gè)新的連接,或者是這個(gè)數(shù)據(jù)包和一個(gè)還沒(méi)有在兩端都有數(shù)據(jù)發(fā)送的連接有關(guān),它即將通過(guò)防火墻的安全規(guī)則進(jìn)行匹配了。顯而易見(jiàn),此狀態(tài)的數(shù)據(jù)包必然與Netfilter規(guī)則集匹配,并經(jīng)此處理過(guò)程后建立連接跟蹤表。

        ESTABLISHED,意思是分組是完全有效的,而且屬于一個(gè)已建立的連接,這個(gè)連接的兩端都已經(jīng)有數(shù)據(jù)發(fā)送。此狀態(tài)表明狀態(tài)檢測(cè)機(jī)制已經(jīng)看到兩個(gè)方向上的數(shù)據(jù)傳輸并且將不斷匹配它。處于ESTABLISHED狀態(tài)的連接很容易理解,只要發(fā)送數(shù)據(jù)包并接到應(yīng)答,連接就處于ESTABLISHED狀態(tài)。應(yīng)答數(shù)據(jù)包到達(dá)或通過(guò)防火墻,此連接就從NEW狀態(tài)轉(zhuǎn)變到ESTABLISHED狀態(tài)了。即使該數(shù)據(jù)包是ICMP錯(cuò)誤和重定向數(shù)據(jù)包,只要該數(shù)據(jù)包是請(qǐng)求包的回應(yīng)包,該連接的狀態(tài)都將轉(zhuǎn)變?yōu)镋STABLISHED狀態(tài)。

        RELATED,說(shuō)明分組正在建立一個(gè)新的連接,這個(gè)連接是和一個(gè)已建立的連接相關(guān)的。也就是說(shuō),當(dāng)一個(gè)連接和某個(gè)已處于ESTABLISHED狀態(tài)的連接有關(guān)系時(shí),就被認(rèn)為是RELATED狀態(tài)。RELATED是個(gè)比較麻煩的狀態(tài),這說(shuō)明一個(gè)狀態(tài)要成為RELATED狀態(tài),則必須先有ESTABLISHED連接狀態(tài),這 個(gè)ESTABLISHED狀態(tài)再產(chǎn)生一個(gè)該連接以外的連接,這樣這個(gè)新的連接就處于RELATED狀態(tài),當(dāng)然前提是連接跟蹤模塊要能理解RELATED狀態(tài)。以FTP為例,每個(gè)FTP 由數(shù)據(jù)連接和控制連接組成,數(shù)據(jù)連接就是和控制連接有關(guān)聯(lián)的。如果沒(méi)有RELATED狀態(tài),數(shù)據(jù)連接是無(wú)法正確建立的。有了這個(gè)狀態(tài),ICMP特定類型的響應(yīng)、FTP傳輸?shù)炔拍艽┻^(guò)防火墻正常工作。一言以蔽之,這個(gè)RELATED狀態(tài)是某個(gè)處于ESTABLISHED狀態(tài)的數(shù)據(jù)包所期望的、也是被動(dòng)產(chǎn)生的,不屬于現(xiàn)在任何連接的新連接。

        INVALID,表示分組對(duì)應(yīng)的連接是未知的,說(shuō)明數(shù)據(jù)包不能被識(shí)別屬于哪個(gè)連接或沒(méi)有任何狀態(tài)。這就意味著這個(gè)包沒(méi)有己知的流或連接與之關(guān)聯(lián),也可能是它包含的數(shù)據(jù)或包頭有問(wèn)題。狀態(tài)為INVALID的包就是狀態(tài)不明的包,也就是不屬于前面3種狀態(tài)的包,這類包一般會(huì)被視為惡意包而被丟棄。有多種原因產(chǎn)生該情況的數(shù)據(jù)包,比如連接跟蹤表溢出,系統(tǒng)內(nèi)存耗盡,或ICMP報(bào)錯(cuò)消息對(duì)任何已知連接不作響應(yīng)。通常的選擇是丟棄此狀態(tài)下的所有包。要特別指出的是,對(duì)于很多掃描攻擊工具構(gòu)造的掃描或攻擊報(bào)文,Netfilter/iptables會(huì)將其標(biāo)記為INVALID狀態(tài),如需要記錄或追蹤惡意數(shù)據(jù)包的來(lái)源,深入研究如何處理INVALID狀態(tài)的數(shù)據(jù)包就十分關(guān)鍵。

        TCP、UDP及ICMP狀態(tài)跟蹤分析

        對(duì)于TCP 協(xié)議來(lái)說(shuō)該連接的第一個(gè)數(shù)據(jù)包是SYN數(shù)據(jù)包。對(duì)于Ping 操作的ICMP 數(shù)據(jù)包的第一個(gè)包是回聲請(qǐng)求包。但對(duì)UDP 協(xié)議或其它數(shù)據(jù)包來(lái)說(shuō),當(dāng)它們不是SYN數(shù)據(jù)包時(shí),連接跟蹤機(jī)制也把它的第一個(gè)數(shù)據(jù)包當(dāng)成NEW 狀態(tài)的數(shù)據(jù)包。

        NEW,表示這個(gè)分組需要發(fā)起一個(gè)連接,或者說(shuō),分組對(duì)應(yīng)的連接在兩個(gè)方向上都沒(méi)有進(jìn)行過(guò)分組傳輸。NEW說(shuō)明這個(gè)包是我們看到的第一個(gè)包。意思就是,這是連線跟蹤模塊看到的某個(gè)連接第一個(gè)包,它即將被匹配了。比如,我們看到一個(gè)SYN包,是我們所留意的連接的第一個(gè)包,就要匹配它。第一個(gè)包也可能不是SYN包,但它仍會(huì)被認(rèn)為是NEW狀態(tài)。比如一個(gè)特意發(fā)出的探測(cè)包,可能只有RST位,但仍然是NEW。某些精心構(gòu)造的網(wǎng)絡(luò)掃描或攻擊報(bào)文,與此類似。

        當(dāng)下層網(wǎng)絡(luò)接收到初始化連接同步(SYN)包,將被Netfilter規(guī)則庫(kù)檢查。該數(shù)據(jù)包在規(guī)則鏈中依次進(jìn)行比較。如果該數(shù)據(jù)包應(yīng)該被丟棄,發(fā)送一個(gè)復(fù)位(RST)包到遠(yuǎn)程主機(jī),否則連接接收。這次連接的信息將被保存在連接跟蹤信息表中,并表明該數(shù)據(jù)包所應(yīng)有的狀態(tài)。這個(gè)連接跟蹤信息表位于內(nèi)核模式下,其后的網(wǎng)絡(luò)包就將與此連接跟蹤信息表中內(nèi)容進(jìn)行比較,根據(jù)信息表中信息來(lái)決定該數(shù)據(jù)包的操作。因?yàn)閿?shù)據(jù)包首先是與連接跟蹤信息表進(jìn)行比較,只有SYN包才與規(guī)則庫(kù)進(jìn)行比較,數(shù)據(jù)包與連接跟蹤信息表的比較都是在內(nèi)核模式下進(jìn)行的,所以速度很快。

        Netfilter/iptables的連接狀態(tài)跟蹤的全功能實(shí)現(xiàn),對(duì)基于TCP協(xié)議的應(yīng)用而言相對(duì)容易;對(duì)基于TCP與UDP組合協(xié)議的應(yīng)用(如SIP),特別是在NAT環(huán)境下,需借助應(yīng)用級(jí)網(wǎng)關(guān)技術(shù);對(duì)基于TCP(UDP)與ICMP組合協(xié)議的應(yīng)用,如路由探測(cè)工具,則是充分利用了ICMP協(xié)議某些類型數(shù)據(jù)包的“雙IP包頭”特性。所謂雙IP包頭是指網(wǎng)絡(luò)設(shè)備生成特定類型的ICMP響應(yīng)報(bào)文時(shí),會(huì)將引發(fā)此響應(yīng)的原數(shù)據(jù)包(不管是TCP、UDP還是ICMP包)原封不動(dòng)地封裝在ICMP響應(yīng)應(yīng)答數(shù)據(jù)包中,最為ICMP報(bào)文的承載數(shù)據(jù)。在此以路由探測(cè)工具所產(chǎn)生的數(shù)據(jù)包為例,進(jìn)行拓展分析,加深對(duì)NEW、ESTABLISHED、RELATED這三種狀態(tài)的理解。

        Windows主 機(jī) 到Netfilter/iptables防火墻自身IP地址的路由探測(cè)包,從INPUT鏈流入的ICMP回聲請(qǐng)求數(shù)據(jù)包狀態(tài)為NEW,從OUTPUT鏈流出的ICMP 回聲應(yīng)答數(shù)據(jù)包的狀態(tài)總是為ESTABLISHED。而穿過(guò)防火墻到遠(yuǎn)端主機(jī)的路由探測(cè)包,從FORWARD鏈流入的ICMP回聲請(qǐng)求數(shù)據(jù)包狀態(tài)為NEW,目標(biāo)遠(yuǎn)程主機(jī)返回穿過(guò)FORWARD鏈的ICMP回聲應(yīng)答數(shù)據(jù)包的狀態(tài)總是為ESTABLISHED,而探測(cè)路徑下游的路由器因路由探測(cè)數(shù)據(jù)包的TTL值為0,而生成的反饋給源Windows主機(jī)的ICMP 超時(shí)數(shù)據(jù)包的狀態(tài)為RELATED。

        Linux主機(jī)到Netfilter/iptables防火墻自身IP地址的路由探測(cè)包,從INPUT鏈流入的UDP數(shù)據(jù)包狀態(tài)為NEW,從OUTPUT鏈流出的ICMP 目標(biāo)不可達(dá)數(shù)據(jù)包的狀態(tài)總是為RELATED。而穿過(guò)防火墻到遠(yuǎn)端主機(jī)的路由探測(cè)包,流入FORWARD鏈的UDP數(shù)據(jù)包的狀態(tài)總是為NEW,從目標(biāo)遠(yuǎn)端主機(jī)返回的ICMP 目標(biāo)不可達(dá)數(shù)據(jù)包以及下游探測(cè)路徑中的路由器因路由探測(cè)數(shù)據(jù)包的TTL值為0,而生成的反饋給源端Linux主機(jī)的ICMP超時(shí)數(shù)據(jù)包的狀態(tài)總是為RELATED。

        Linux到Netfilter/iptables防火墻自身的基于TCP協(xié)議的路由探測(cè),如利用tcptraceroute工具生成的探測(cè)報(bào)文,進(jìn)入INPUT鏈的TCP SYN數(shù)據(jù)包狀態(tài)為NEW,從OUTPUT鏈流出的TCP數(shù)據(jù)包的狀態(tài)為ESTABLISHED。而穿過(guò)防火墻到目標(biāo)遠(yuǎn)端主機(jī)的路由探測(cè),經(jīng)FORWARD鏈轉(zhuǎn)發(fā)的TCP SYN數(shù)據(jù)包的狀態(tài)為NEW,下游探測(cè)路徑中的路由器因路由探測(cè)數(shù)據(jù)包的TTL值為0,而生成的反饋給源端Linux主機(jī)的ICMP 超時(shí)數(shù)據(jù)包的狀態(tài)總是為RELATED,而遠(yuǎn)端主機(jī)返回的TCP數(shù)據(jù)包的狀態(tài)總是為ESTABLISHED。

        iptables命令實(shí)現(xiàn)

        Linux 內(nèi)核2.4/2.6中的防火墻Netfilter框架在應(yīng)用層提供了iptables 這個(gè)工具,用戶通過(guò)它可以對(duì)內(nèi)核進(jìn)行添加或查詢規(guī)則等操作。前文所述的四種狀態(tài)定義在命令接口的iptables 命令(基于Centos6.4,2.6.32內(nèi)核)的“-m state”或“-m conntrack”匹配中。當(dāng)使用“-m state”時(shí),iptables會(huì)自動(dòng)加載xt_state.ko模塊;當(dāng)使用“-m conntrack”時(shí),iptables自動(dòng)加載xt_conntrack.ko模塊。這兩個(gè)模塊位于/lib/modules//kernel/net/netfilter目 錄 下。xt_conntrack.ko模塊可視為xt_state.ko模塊的加強(qiáng)版,使用方法幾乎如出一轍,但功能更強(qiáng)大,語(yǔ)法使用也更靈活。

        編寫iptables匹配規(guī)則,要特別注意數(shù)據(jù)包流動(dòng)的方向性,流入/流出規(guī)則成對(duì)匹配,轉(zhuǎn)發(fā)時(shí)要有對(duì)返回?cái)?shù)據(jù)包的匹配規(guī)則,以保障數(shù)據(jù)包來(lái)回流動(dòng)安全通暢。

        猜你喜歡
        內(nèi)核防火墻數(shù)據(jù)包
        萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        構(gòu)建防控金融風(fēng)險(xiǎn)“防火墻”
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        SmartSniff
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
        下一代防火墻要做的十件事
        視覺(jué)注意的數(shù)據(jù)包優(yōu)先級(jí)排序策略研究
        移動(dòng)IPV6在改進(jìn)數(shù)據(jù)包發(fā)送路徑模型下性能分析
        免费国产黄网站在线观看| 午夜精品男人天堂av| 日本av一区二区三区在线| 无码人妻人妻经典| 亚洲在AV极品无码天堂手机版 | 成人一区二区三区蜜桃| 精品在线视频在线视频在线视频| 欧美日韩精品久久久免费观看 | 亚洲精品综合一区二区| 水蜜桃在线观看一区二区| 亚洲欧美一区二区三区在线| 中文字幕在线免费| 久草91这里只有精品| 国产一区二区三区视频地址| 精品久久久无码人妻中文字幕豆芽 | 亚洲色国产欧美日韩| japanesehd中国产在线看| 亚洲熟妇av一区| 欧美老熟妇欲乱高清视频| 欧美日韩中文亚洲另类春色| 在线免费观看毛视频亚洲精品 | 按摩师玩弄少妇到高潮hd| 不卡av网站一区二区三区| 99热这里有精品| 成人爽a毛片一区二区免费| 丰满少妇一区二区三区专区| 一道本久久综合久久鬼色| 精品久久久无码中字| 亚洲免费观看网站| 国产亚洲精品高清视频| 国产情侣自拍一区视频| 久久和欧洲码一码二码三码| 国产一级在线现免费观看| 白色白色视频在线观看| 日本边添边摸边做边爱喷水| 亚洲欧洲偷自拍图片区| 国产亚洲女在线线精品| 国产三级视频在线观看国产 | 在线视频观看免费视频18| 国产爆乳无码一区二区在线| 亚洲一区域二区域三区域四|