999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式Linux下防火墻系統的實現

2009-04-29 00:00:00王紅明
電腦知識與技術 2009年35期

摘要:為了構建安全可靠的網絡,對Linux內核防火墻結構Netfilter的實現機制進行了深入的研究和分析。在此基礎上,結合嵌入式Linux系統開發流程,闡述了嵌入式Linux系統的Netfilter/IP tables防火墻功能。最后,給出了嵌入式Linux防火墻在實驗室網絡中的具體應用。

關鍵詞:嵌入式Linux;防火墻;Netfilter;IP tables

中圖法分類號:TP393文獻標識碼:A 文章編號:1009-3044(2009)35-9936-02

對于安全性要求較高的企業來說,基于軟件的解決方案,例如個人防火墻以及防病毒掃描程序等,都不夠強大,無法滿足用戶的要求。即使一個電子郵件傳送過來的惡意腳本程序,都能輕松將這些防護措施屏蔽掉,甚至是那些運行在主機上的“友好”應用都可能為避免驅動程序的沖突而無意中關掉這些安全性防護軟件,網絡中的其他部分也將處攻擊威脅之下。

安全性能是由硬件處理器來承擔的,因此,邊緣防火墻應用程序或網關能夠為這類用戶提供更優的入侵防范手段。但是這些設備的功能僅限于為網絡邊緣提供保護。一套嵌入式防火墻解決方案能將這一功能延伸到邊緣防火墻的范圍之外,并分布到網絡的終端。邊緣防火墻既能提供規避策略,也能提供入侵防范策略。安全性措施在PC系統上執行,但是卻由嵌入式防火墻的硬件系統來實施,整個過程獨立于主機系統之外。這一策略使企業網絡幾乎不受任何惡意代碼或黑客攻擊的威脅。即使攻擊者完全通過了防火墻的防護并取得了運行防火墻主機的控制權,他們也將寸步難行,因為他們不能關閉掉嵌入式防火墻,或者以被入侵的主機為跳板進一步展開侵入網絡其他領域的行動。[1-2]

1 嵌入式Linux防火墻實現機制分析

Linux內核防火墻的實現包括兩個部分, 一個部分是內核中的Netfilter模塊。它提供了一個抽象的、通用化框架, 是實現數據包過濾、處理、NAT等防火墻功能的核心。另一個部分就是用戶空間的規則配置工具IP tables。Netfilter提供了一系列的表(table),每個表由若干鏈(chain) 組成, 而每條鏈中可以由一條或數條規則組成。在Netfilter中,使用內建的INPUT、OUTPUT和FORWARD過濾規則。入站數據包需要經過路由功能,由其決定是將數據包送到本地主機的輸入規則鏈,還是轉發規則鏈。Netfilter 數據包的流動如圖1所示。

如果目的地址為本地的數據包被INPUT規則鏈的規則所接受,數據包就會在本地傳送。如果目的地址為外地的數據包被FORWARD規則鏈的規則接受,數據包就會被送出相應的接口,經本地處理后的外出數據包被送到OUTPUT規則鏈。如果數據包被接受了,就會被送出相應的接口。于是,每個數據包被過濾一次。

用Netfilter建立防火墻使用IP tables管理命令,IP tables命令執行所建立的防火墻策略管理防火墻的行為,IP tables可以加入、插入或刪除核心包過濾表格(鏈)中的規則。在iptables 防火墻中提供了三種策略規則表:Filter、NAT 和Mangle,分別實現包過濾,地址轉換和處理包內容的功能。

2 Netfilter的實現原理

Netfilter為IPv4網絡協議定義了5個鉤子函數(hook),內核模塊則可以對一個或多個這樣的鉤子函數進行注冊掛接,使這些鉤子函數在數據包流過協議棧時被調用。數據包經過鉤子函數處理后,根據如下的返回值進行下一步的處理:

1) NF_DROP:丟棄此數據包,不再處理;

2) NF_ACCEPT:接受此數據包,進入下一步的處理;

3) NF_STOLEN:模塊接管該數據包,不再繼續傳輸;

4) NF_QUEUE:排隊到用戶空間,等待用戶處理;

5) NF_REPEAT:再次調用該鉤子函數處理。

Netfilter5個鉤子函數的架構如圖2所示。

1) NF_IP_PRE_ROUTING:剛剛進入網絡層的數據包通過此點(剛剛進行完版本號、校驗和等檢測),源地址轉換在此點進行;

2) NF_IP_LOCAL_IN:經路由查找后,送往本機的通過此檢查點,IN PUT包過濾在此點進行;

3) NF_IP_FORWARD:要轉發的包通過此檢測點,FORWORD包過濾在此點進行;

4) NF_IP_LOCAL_OUT:本機進程發出的包通過此檢測點,OUT PUT包過濾在此點進行;

5) NF_IP_POST_ROUTING:所有馬上要通過網絡設備出去的包通過此檢測點,內置的目的地址轉換功能(包括地址偽裝)在此點進行。

由圖2可以看出數據包經過Netfilter架構的過程:數據包從左邊進入系統,進行IP校驗以后,數據包經過第一個鉤子NF_IP_PRE_ROUTING函數進行處理;然后就進入路由代碼,其決定該數據包是需要轉發還是發給本機的;若該數據包是發給本機的,則該數據經過鉤子函數NF_IP_LOCAL_IN處理以后傳遞給上層協議;若該數據包被轉發,則被NF_IP_ FORWARD處理;經過轉發的數據包經過最后一個鉤子函數NF_IP_POST_ROUTING處理以后,再傳輸到網絡上。本地產生的數據經過鉤子函數NF_IP_LOCAL_OUT處理以后,進行路由選擇理,然后經過NF_IP_POST_ROUTING處理后,發送到網絡上。[3]

3 嵌入式Linux的防火墻實現

要實現嵌入式Linux 防火墻,主要有3個方面工作:建立交叉編譯環境;編譯嵌入式Linux內核,使其支持Netfilter;包過濾實現。

3.1 建立交叉編譯環境

本文采用的是自動創建交叉編譯環境的方法。針對商業硬件平臺,廠家都會為你提供一個開發包,利用這個開發包自動化創建交叉編譯環境、編譯內核、建立根文件系統、創建Ram Disk。需要有一臺運行Linux的PC(宿主機),在上面安裝編譯器以及相關的嵌入式Linux系統的源代碼和文件系統。

3.2 編譯嵌入式Linux內核

編譯內核是為目標機建立一個合適的內核,對于建立內核,有兩點值得考慮的:1) 功能上的選擇。應該能夠滿足需要的情況下,盡量地小;2) 穩定性。

在宿主機上進入嵌入式Linux內核目錄,通過shell終端編譯和配置所需內核模塊,特別的,要選中支持Netfilter的選項。完整內核的編譯后,剩下的工作就是建立及安裝模塊了。[5-6]

//建立模塊

#make ARCH=i386 CROSS_COMPILE=i386-linux- modules

//安裝內核模塊至/images

#make ARCH=i386 CROSS_COMPILE= i386-linux-

>;INSTALL_MOD_PATH=/images/modules-2.4.18-rmk5

>;modules_install

然后是為模塊建立依存關系,不能使用原生的depmod來建立,而需要使用交叉編譯工具。將depmod.pl拷貝至交叉編譯工具鏈的bin目錄。

#depmod.pl

>;-k ./vmlinux –F ./System.map

>;-b /images/modules-2.4.27-rmk5/lib/modules >;

>;/images/modules-2.4.27-rmk5/lib/modules/2.4.27-rmk5/modules.dep

3.3 包過濾實現

1) 在/etc/rc.d/目錄下用touch命令建立firewall 文件,執行chmod u+x firewll以更改文件屬性,編輯/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以確保開機時能自動執行該腳本。

2) 刷新所有鏈的規則:

#! /bin/sh

echo \"Starting iptables rules...\"

#Refresh all chains

/sbin/iptables - F

3) 設置防火墻FORWARD鏈的策略為DROP:

/sbin/iptables - P FORWARD DROP

4) 設置關于服務器的包過慮規則:

/sbin/iptables - A FORWARD - p tcp - d 198.168.80.11 - - dport www - i eth0 - j ACCEPT

#Allow ftp request packets from Internet clients to Intranet ftp server

/sbin/iptables - A FORWARD - p tcp - d 198.168.80.12 - - dport ftp - i eth0 - j ACCEPT

/sbin/iptables - A FORWARD - p tcp - d 198.168.80.13 - - dport smtp - i eth0 - j ACCEPT

5) 接受來自整個Intranet的數據包過慮,規則如下:

/sbin/iptables - A FORWARD - s 198.168.80.0/24 - i eth1 – j ACCEPT

6) 處理Ip碎片規則:

/sbin/iptables - A FORWARD - f - m limit - - limit 100/s - - limitburst 100 - j ACCEPT

7) 設置Icmp包過濾:

/sbin/iptables - A FORWARD - p icmp - m limit - - limit 1/s - - limit- burst 10 - j ACCEPT

通過以上步驟,實現了防火墻基本的包過濾功能。默認策略為禁止一切,允許被選擇的數據包通過。[4]

通過以上的配置,就基本實現了所需的防火墻功能。在實際應用中,需要根據具體情況進行設置。當然,以上的一些配置修改的只是嵌入式系統中RAM的內容,如果需要斷電之后仍能使用這些功能,則需要重新下載修改后的ramdisk文件系統,把他保存到FLASH里。具體的做法為:把在宿主機中的嵌入式Linux文件系統ramdisk掛載到宿主機的某個目錄,然后修改宿主機目錄下的/etc/rc.sh文件,把以上所列的配置語句寫入到rc.sh里,保存后取消掛載。這里的rc.sh就是Linux內核啟動并加載文件系統后自動執行的shell文件。當然,也可以通過LKM方式來設計自己的防火墻程序,不過由于Linux內置的Netfitler/IP tables防火墻功能已經足夠滿足需要,這里就不再對其進行詳細討論了。

4 結束語

Linux下的Netfilter/IP tables防火墻體系結構是帶有狀態檢測的高效率防火墻體系。本課題對該結構進行了分析,并實現了一個嵌入式Linux 防火墻系統。經過長期使用測試,整個系統非常穩定和安全,取得了非常好的效果。

5 創新點

第一,整個系統基于開放源代碼的嵌入式LINUX,這使得學習、修改、裁剪本系統成為可能,系統的設計者可以方便的對該系統進行二次開發。

第二,嵌入式LINUX是開放源代碼的自由軟件,遵循GPL協議,源代碼可以自由獲得,所以本系統用于購買嵌入式操作系統的費用可以忽略不計。

第三,強大的網絡支持功能。嵌入式LINUX 誕生于因特網時代并具有Unix 的特性,保證了本系統支持所有標準因特網協議,并且可以利用Linux的網絡協議棧將其開發成為嵌入式的TCP/IP網絡協議棧。

第四,廣泛的硬件支持。本系統基于嵌入式LINUX,包括x86、ARM、MIPS、ALPHA、PowerPC等多種體系結構都能夠運行,支持各種主流硬件設備和最新的硬件技術。

參考文獻:

[1] 方政,趙德安,周俊華,等.基于嵌入式系統的網絡硬件防火墻的實現[J].微計算機信息,2006(1-2):188-190.

[2] Goncalves,Marcus.Firewalls:a complete guide[M].Beijing:McGraw-Hill,2000.

[3] 胡安磊,周大水,李大興.Linux中Netfilter/IPtables的應用研究[J].計算機應用與軟件,2004,10(21).

[4] 安金萍.狀態檢測包過濾技術在Linux下的實現[J].計算機工程,2005,31(2).

[5] Bovet D P,Cesati M.深入理解Linux內核[M].2版.北京:中國電力出版社,2004.

[6] 李善平,劉文峰,李程遠.Linux內核2.14版源代碼分析大全[M].北京:機械工業出版社,2002.

[7] 李飛,甘剛,索望.基于Linux平臺的圖形界面防火墻設計[J].計算機應用,2005(25).

主站蜘蛛池模板: av无码久久精品| 免费A级毛片无码免费视频| 青青操视频在线| 亚洲第一成年网| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 国产在线自乱拍播放| 高清不卡一区二区三区香蕉| 婷婷色一二三区波多野衣| 免费观看国产小粉嫩喷水| 国产尤物视频在线| av一区二区三区高清久久| 亚洲日韩每日更新| 国产美女在线免费观看| 国产三级a| 国产综合无码一区二区色蜜蜜| 亚洲一区二区三区中文字幕5566| 国产最新无码专区在线| 国产无吗一区二区三区在线欢| 少妇极品熟妇人妻专区视频| 久久精品电影| 国产一级毛片yw| 中国特黄美女一级视频| 国产精鲁鲁网在线视频| 亚洲成aⅴ人在线观看| 成人年鲁鲁在线观看视频| 国产另类视频| 国产女人18毛片水真多1| 天天做天天爱天天爽综合区| 91成人在线观看视频| 久久美女精品| 欧美一区二区人人喊爽| 国产av色站网站| a级毛片免费播放| 国产性生大片免费观看性欧美| 国产一区三区二区中文在线| 毛片网站观看| 欧美在线网| 国产精品污污在线观看网站| 亚洲A∨无码精品午夜在线观看| 2021国产精品自拍| 久久一日本道色综合久久 | 久草网视频在线| 亚洲欧美日韩中文字幕一区二区三区| 国产欧美日韩18| 国产成人久视频免费| 久久中文字幕不卡一二区| 2020亚洲精品无码| 国产乱子伦无码精品小说| 制服丝袜 91视频| 久久久久中文字幕精品视频| 亚洲精品大秀视频| 亚洲三级成人| 国产丝袜丝视频在线观看| www.91在线播放| 一本大道香蕉久中文在线播放 | 亚洲天堂啪啪| 国产乱人乱偷精品视频a人人澡| 欧美精品在线观看视频| 亚洲欧洲美色一区二区三区| 亚洲美女一级毛片| 嫩草在线视频| 欧美日韩一区二区三区在线视频| 国产麻豆精品在线观看| 国产精品制服| 婷婷亚洲视频| 国产经典三级在线| 国产午夜一级毛片| 91成人在线免费观看| 色综合天天操| 欧美一级在线| 91九色国产porny| 亚洲第一黄片大全| 97在线观看视频免费| 女人18毛片水真多国产| 亚洲国产精品成人久久综合影院| 亚洲va欧美ⅴa国产va影院| 久久黄色影院| 99草精品视频| 91九色最新地址| 久久综合久久鬼| 国产一区二区三区夜色| 国产乱人激情H在线观看|