国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Linux系統(tǒng)的防火墻研究與實現(xiàn)

2013-04-29 23:10:22王凱李繼民
科技創(chuàng)新與應(yīng)用 2013年7期
關(guān)鍵詞:防火墻網(wǎng)絡(luò)安全

王凱 李繼民

摘要:為了避免基于Linux系統(tǒng)的計算機在網(wǎng)絡(luò)世界中受到惡意攻擊,本課題利用Linux內(nèi)核提供的iptables模塊所提供的接口函數(shù)來設(shè)置對網(wǎng)絡(luò)數(shù)據(jù)包的控制,從而實現(xiàn)保護個人計算機的目的。

關(guān)鍵詞:Linux;防火墻;網(wǎng)絡(luò)安全

1 引言

防火墻作為互聯(lián)網(wǎng)絡(luò)中使用最廣泛的安全措施,伴隨著互聯(lián)網(wǎng)的快速發(fā)展而得到廣泛應(yīng)用。Linux作為在全球范圍內(nèi)得到廣泛接受和應(yīng)用的開源操作系統(tǒng),所提供的靈活性和可操作性為開發(fā)和配置防火墻以及按照特定網(wǎng)絡(luò)環(huán)境的要求構(gòu)建防火墻提供了一個價格低廉、性能優(yōu)良的平臺,日益獲得了眾多企業(yè)和個人用戶的廣泛接受。

本課題研究的是在Linux下實現(xiàn)自己的防火墻,以便對本地主機的網(wǎng)絡(luò)保護,屏蔽外界一些不必要的信息,如對外來IP地址的訪問加以限制。本軟件利用Linux內(nèi)核提供的iptables模塊所提供的接口函數(shù)來設(shè)置對網(wǎng)絡(luò)數(shù)據(jù)包的控制策略。所有我們認為是有用的數(shù)據(jù)流都被在防火墻中顯式地“聲明”成合法的數(shù)據(jù)包,沒有被“聲明”的數(shù)據(jù)包默認是非法的,是要被防火墻軟件鎖在計算機外面的。另外本軟件還實現(xiàn)了文件系統(tǒng)實時監(jiān)控,這個功能能夠?qū)崟r地通知用戶哪些文件被改動了。

2 關(guān)鍵技術(shù)

2.1 iptables內(nèi)核模塊

內(nèi)建于Linux內(nèi)核的iptables為我們建立自己的防火墻提供了技術(shù)上的保障。無論是為Linux服務(wù)器提供防火墻,還是為內(nèi)部LAN提供防火墻/路由器,iptables都能夠提供強大的過濾能力。Linux具有任何希望構(gòu)造防火墻的人所需要的靈活性和實力,而且它還獨具成本低廉的優(yōu)點。

iptables在處理不同種類的數(shù)據(jù)包時使用不同的規(guī)則表。這些規(guī)則表由功能上相互獨立的表模塊來實現(xiàn)。三個主要的模塊是filter表,nat表和對數(shù)據(jù)包進行特殊處理的mangle表,而且這三個表模塊都有自己的擴展模塊,它們會在首次引用時被動態(tài)載入。

作為防火墻的管理程序,iptables為輸入輸出規(guī)則鏈建立單獨的數(shù)據(jù)包過濾規(guī)則以組成防火墻。定義防火墻規(guī)則的一個重要方面就是規(guī)則的定義順序。數(shù)據(jù)包過濾規(guī)則以它們的定義順序存儲在內(nèi)核的輸入、輸出或轉(zhuǎn)發(fā)規(guī)則鏈中。單個規(guī)則被插入到鏈的開頭或結(jié)尾。本防火墻軟件采用的是加到鏈的結(jié)尾的。規(guī)則的定義順序就是它們加入到內(nèi)核表中的順序。

在本軟件的實現(xiàn)過程中,所有過濾的條目使用的是數(shù)字服務(wù)端口號而不是它們的名稱。iptables支持符號化的服務(wù)端口名稱,之所以不使用符號名稱而使用數(shù)字是因為在Linux的不同版本中符號的名稱不太統(tǒng)一。在個人自定義的規(guī)則中可以使用符號名稱,但是防火墻就有可能在系統(tǒng)升級之后被攻破,因而使用端口號將更為可靠。而且,使用符號名稱可能引起防火墻規(guī)則的含糊性。

2.2 腳本解釋器——Shell

Shell是一個作為用戶與Linux系統(tǒng)間接口的程序,它允許用戶向操作系統(tǒng)輸入要執(zhí)行的命令。本防火墻軟件作為Shell的腳本來實現(xiàn),腳本名字為rc.firewall里面包含了許多的命令,這些命令都用Shell作為解釋器。

在Shell腳本中會設(shè)置一些變量,其中最重要的變量就是iptables本身的命令。因為將iptables命令作為變量非常重要,因此在這里必須明確的指出來。在一個防火墻腳本中含糊不清是絕對不允許的,在本軟件開發(fā)過程當中,表示iptables命令的變量是$IPT。出現(xiàn)$IPT時,就表示這是iptables命令。

腳本中以“#”開頭來調(diào)用Shell作為腳本的解釋程序。腳本中的第一行如下:#!/bin/sh

3 系統(tǒng)設(shè)計思路

3.1 功能介紹

3.1.1 對輸入數(shù)據(jù)的處理。本軟件對外界數(shù)據(jù)的訪問首先要到達輸入接口(即自擴展的INPUT內(nèi)建規(guī)則鍵),當數(shù)據(jù)到達時,系統(tǒng)根據(jù)事先設(shè)定好的各條規(guī)則逐條進行對比,如果訪問信息符合規(guī)則鏈當中的任何一條則接受,否則拒絕。

3.1.2 對轉(zhuǎn)發(fā)數(shù)據(jù)的處理。由于本軟件作為個人電腦所用的防火墻軟件,并不是作為網(wǎng)絡(luò)結(jié)點服務(wù)器使用,故而所有涉及到轉(zhuǎn)發(fā)的入站數(shù)據(jù)包(即最終目的地址不是本機的數(shù)據(jù)包)一律采取丟棄策略。

3.1.3 對輸出數(shù)據(jù)的處理。本軟件對本地產(chǎn)生的出站數(shù)據(jù)包在發(fā)出前依據(jù)OUTPUT規(guī)則鏈定義了一系列的出站規(guī)則,這些規(guī)則指定了這些出站數(shù)據(jù)在出站前所做的修改,如屏蔽本地主機一些重要的信息等等。如果出站數(shù)據(jù)包非法則對其進行丟棄處理,而并不需要另行通知本機。

3.1.4 文件系統(tǒng)監(jiān)控功能。任何一個Linux文件系統(tǒng)中的文件被修改時,本軟件都會通知給用戶,提醒用戶注意。

文件系統(tǒng)監(jiān)控模塊的實現(xiàn)是從根目錄“/etc”開始進行掃描,這個掃描過程間隔10秒進行一次,過程中進行判斷是否為一個文件,如果不是文件而是目錄則往下進行掃描,如果是文件則對文件進行時間戳的操作。首先讀取當前的系統(tǒng)時間,然后再讀取文件的最后修改時間,而后再調(diào)用時間比對函數(shù)difftime()計算當前時間與最后修改時間的差值,用這個差值與掃描間隔時間10秒進行比較,如果小于10秒則說明該文件是在最近5秒內(nèi)被修改過了,這時則通知給用戶有文件被修改。

3.2 系統(tǒng)活動圖

本軟件系統(tǒng)開始于用戶啟用防火墻,當用戶開啟了防火墻時,本軟件自動啟動數(shù)據(jù)流匹配模塊和文件系統(tǒng)監(jiān)控模塊。當網(wǎng)絡(luò)數(shù)據(jù)交換中的數(shù)據(jù)包符合輸入輸出數(shù)據(jù)匹配規(guī)則時則允許該數(shù)據(jù)包的訪問,否則拒絕該數(shù)據(jù)包的訪問。而文件系統(tǒng)監(jiān)控模塊則一直在后臺進行文件系統(tǒng)的描述工作,當發(fā)現(xiàn)有文件被修改時則通知給用戶。而數(shù)據(jù)流匹配模塊和文件系監(jiān)控模塊的運行都終止于本軟件的關(guān)閉。系統(tǒng)的活動圖如圖1所示。

4 軟件運行效果

本軟件作為Shell的腳本存放在/etc/rc.d/下,shell作為本防火墻腳本的解釋器,用戶只需要到此路徑下找到防火墻軟件并使之啟動即可。啟動參數(shù)為start。軟件運行后用戶無需任何其它操作,在網(wǎng)絡(luò)上的數(shù)據(jù)流保護過程都是程序在后臺完成的,當有數(shù)據(jù)流通過或拒絕時不對用戶進行任何通知。如果用戶想知道網(wǎng)絡(luò)上的行為,可以到防火墻日志文件當中去查看,這個日志文件是Linux系統(tǒng)自行維護的,是Linux操作系統(tǒng)自帶的功能模塊,在開發(fā)本防火墻軟件時只需要鏈接上就可以了。

系統(tǒng)啟動、退出及文件系統(tǒng)監(jiān)控提示信息如圖2所示。

5 結(jié)束語

本軟件作為單系統(tǒng)防火墻是防火墻結(jié)構(gòu)中的“最小安全”形式,但“最小安全”形式并不是不安全,只是比擁有較多機器的更復(fù)雜的防火墻軟件稍差一些;如果要求更高的安全性,需要用戶付出更多的投入和關(guān)注。需要指出的是,擁有防火墻并不意味著完全的保護。安全是一個過程,簡單的電子郵件也是有可能帶來危害的。所以本軟件只是采取了大量措施來減少成功的入侵帶來的危害。

參考文獻

[1]W.Richard Stevens. UNIX 環(huán)境高級編程(第2版)[M].北京:人民郵電出版社,2006.5.

[2]Steve Suehring等. Linux防火墻[M].北京:機械工業(yè)出版社,2006.6.

[3]謝希仁.計算機網(wǎng)絡(luò)(第5版)[M].北京:電子工業(yè)出版社,2008.1.

作者簡介:王凱(1980-),女,遼寧建昌人,大連東軟信息學(xué)院計算機科學(xué)與技術(shù)系講師。

猜你喜歡
防火墻網(wǎng)絡(luò)安全
構(gòu)建防控金融風(fēng)險“防火墻”
當代陜西(2019年15期)2019-09-02 01:52:08
網(wǎng)絡(luò)安全
網(wǎng)絡(luò)安全人才培養(yǎng)應(yīng)“實戰(zhàn)化”
上網(wǎng)時如何注意網(wǎng)絡(luò)安全?
我國擬制定網(wǎng)絡(luò)安全法
聲屏世界(2015年7期)2015-02-28 15:20:13
下一代防火墻要做的十件事
自動化博覽(2014年6期)2014-02-28 22:32:13
筑起網(wǎng)吧“防火墻”
中國火炬(2010年10期)2010-07-25 07:43:49
真正強力四大防火墻
衡阳县| 海安县| 石渠县| 白水县| 礼泉县| 砀山县| 迁安市| 闽清县| 叶城县| 章丘市| 甘谷县| 富裕县| 德江县| 布尔津县| 东丽区| 阜阳市| 边坝县| 松桃| 井陉县| 达日县| 平塘县| 剑阁县| 奉节县| 邵阳县| 文成县| 阜平县| 温宿县| 宁明县| 杭锦后旗| 平凉市| 郎溪县| 寿阳县| 大渡口区| 永平县| 松溪县| 聂拉木县| 普宁市| 客服| 泽州县| 略阳县| 汉沽区|