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

?

Linux下的防火墻技術(shù)研究

2020-12-25 11:30
中國新技術(shù)新產(chǎn)品 2020年19期
關(guān)鍵詞:本機流程圖防火墻

王 莉

(南京信息職業(yè)技術(shù)學(xué)院,江蘇 南京 210023)

0 引言

網(wǎng)絡(luò)安全除了關(guān)注網(wǎng)絡(luò)上的軟件漏洞和安全通報之外,最好能根據(jù)環(huán)境的需要,設(shè)置符合自身要求的防火墻機制。防火墻就是可以對流進流出網(wǎng)絡(luò)的數(shù)據(jù)包進行分析和過濾一種安全機制,而在Linux系統(tǒng)中本身就提供了Netfilter防火墻功能,該功能分析進入網(wǎng)絡(luò)的數(shù)據(jù)包,將數(shù)據(jù)包的頭部數(shù)據(jù)提取出來,以決定該連接為放行或者抵擋,該方式可以直接分析數(shù)據(jù)包頭部數(shù)據(jù),包括硬件地址(MAC)、軟件地址(IP)、TCP、UDP以及ICMP等數(shù)據(jù)包信息,因此用途非常廣泛[1]。 Linux下的Netfilter軟件iptabls

PTABLES軟件是Linux內(nèi)部集成的信息包過濾系統(tǒng),是Linux內(nèi)核中的一個通用框架,該框架定義了數(shù)據(jù)包過濾子系統(tǒng)的系統(tǒng)功能,提供了filter、NAT和Mangle這3個表,默認(rèn)使用的是filter表。每個表中包括若干條內(nèi)建的鏈(Chains),用戶也可在表中創(chuàng)建自定義鏈。在每條鏈中,可定義一條或多條過濾規(guī)則(Rules),即鏈?zhǔn)且?guī)則的一個列表。每條規(guī)則應(yīng)指定所要檢查的包的特征以及如何處理與之匹配的包的關(guān)系,這種處理被稱為目標(biāo)(Target)。目標(biāo)值可以是用戶自定義的一個鏈名,可以根據(jù)該鏈的名字跳轉(zhuǎn)到同一個表內(nèi)的鏈里,以便對該鏈內(nèi)的規(guī)則進行檢查,目標(biāo)還可以是ACCEPT、DROP、REJECT等。

1 Iptables的表格和鏈

1.1 Filter表

Filter表主要跟進入Linux本機的數(shù)據(jù)包有關(guān),是Iptables中默認(rèn)存在的表之一。該表內(nèi)建有3個鏈。1)INPUT用于處理目標(biāo)地址是本機的數(shù)據(jù)包。2)FORWARD用于處理要通過或轉(zhuǎn)發(fā)的數(shù)據(jù)包,即目標(biāo)地址不是本機的數(shù)據(jù)包。3)OUTPUT用于處理本地進程生成的要外發(fā)的數(shù)據(jù)包[2]。當(dāng)一個數(shù)據(jù)包從網(wǎng)卡進入防火墻時,內(nèi)核首先根據(jù)路由表決定數(shù)據(jù)包的目標(biāo),根據(jù)數(shù)據(jù)包的目的地址來決定數(shù)據(jù)包將送往哪一條鏈進行規(guī)則匹配。Filter表中數(shù)據(jù)包具體的處理流程如下。

發(fā)現(xiàn)到達防火墻的數(shù)據(jù)包的目的地址是本機,則將數(shù)據(jù)包發(fā)送給INPUT鏈進行處理。當(dāng)發(fā)現(xiàn)數(shù)據(jù)包的目的地址不是本機,則會檢查內(nèi)核設(shè)置是否允許數(shù)據(jù)包的轉(zhuǎn)發(fā),如果允許,則將數(shù)據(jù)包交給FORWARD鏈進行處理,如果不允許轉(zhuǎn)發(fā),數(shù)據(jù)包就會被丟棄。如果到達防火墻的數(shù)據(jù)包是由內(nèi)部網(wǎng)絡(luò)的進程產(chǎn)生的,則會交給OUTPUT鏈進行處理。

1.2 NAT表

NAT的全名是Network Address Translation,即網(wǎng)絡(luò)地址轉(zhuǎn)換,私有地址可以在不同的企業(yè)網(wǎng)內(nèi)部重復(fù)使用,雖說現(xiàn)在使用IPV6技術(shù),緩解了IP地址短缺的問題,但IPV4私有地址的使用方便管理,企業(yè)內(nèi)部仍然需要,但使用私有地址的主機不能訪問互聯(lián)網(wǎng)。利用NAT,可以實現(xiàn)私有地址與公有地址的互相轉(zhuǎn)換。

NAT表內(nèi)建有PREROUTING、POSTROUTING、OUTPUT3個鏈。

1.2.1 PREROUTING

PREROUTING這個鏈在Filter表的最前面,當(dāng)一個數(shù)據(jù)包來到Linux的網(wǎng)絡(luò)接口時,首先通過mangle的PREROUTING,然后再通過NAT的PREROUTING,而這條鏈?zhǔn)菙?shù)據(jù)包在經(jīng)過路由之前就要過濾的。

1.2.2 POSTROUTING

該鏈?zhǔn)窃诼酚膳袛嘀螅绻覀兪褂肁CCEPT放過了這個包,它將進入POSTROUTING部分,如果是轉(zhuǎn)發(fā)的話,應(yīng)該要再次進行路由選擇然后將其送出,此時Linux系統(tǒng)已經(jīng)為該數(shù)據(jù)包選擇好路由,并找到合適的接口送出該數(shù)據(jù)包。

在該鏈里要進行一個非常重要的動作稱為SNAT,即修改源IP地址。

1.2.3 OUTPUT

對本地進程產(chǎn)生并準(zhǔn)備發(fā)出的數(shù)據(jù)包由OUTPUT鏈進行檢查處理,可以在該鏈進行DNAT操作,即修改目的IP地址[3]。NAT表中封包的處理流程如圖1所示。

2 Linux下防火墻設(shè)置實例

在實際的網(wǎng)絡(luò)環(huán)境中,Linux服務(wù)器主機連接著內(nèi)部網(wǎng)絡(luò),Linux主機也是內(nèi)網(wǎng)的路由器,擔(dān)任著簡單的IP路由功能,外部網(wǎng)絡(luò)使用eth0,內(nèi)部網(wǎng)絡(luò)使用eth1,且內(nèi)部使用192.168.100.0/24這個網(wǎng)段,主機默認(rèn)開發(fā)的服務(wù)有WWW、SSH、HTTPS等。

根據(jù)該網(wǎng)絡(luò)的環(huán)境及組網(wǎng)要求,由于希望將信任網(wǎng)絡(luò)(內(nèi)網(wǎng))與不信任網(wǎng)絡(luò)(外網(wǎng))完全分開,最重要的防火墻的策略是關(guān)閉所有的連接,僅開放特定服務(wù)模式??梢栽O(shè)置防火墻策略為:INPUT鏈為DROP、OUTPUT鏈及FORWARD鏈為ACCEPT。具體防火墻流程圖如圖2所示。

圖1 NAT數(shù)據(jù)包處理流程圖

根據(jù)防火墻的流程圖設(shè)置,可以為該網(wǎng)絡(luò)環(huán)境提供網(wǎng)絡(luò)防護,具體的操作可以通過Shell Script來實現(xiàn)。將Script拆成3個部分來實現(xiàn)。1)iptables.rule:在該文件中設(shè)置防火墻最基本的規(guī)則,包括清除規(guī)則、模塊的加載以及服務(wù)的許可。

主要設(shè)置項為設(shè)置相關(guān)參數(shù),例如網(wǎng)卡接口、網(wǎng)段說明以及進出網(wǎng)絡(luò)的接口等信息。設(shè)置內(nèi)核網(wǎng)絡(luò)功能,加載一些有用的模塊。清除規(guī)則、設(shè)置默認(rèn)策略及開放lo與相關(guān)的設(shè)置值。啟動額外的防火墻Script模塊,允許某些類型的ICMP數(shù)據(jù)包進入,允許某些服務(wù)進入,依照自己的環(huán)境開啟。2)iptables.deny:該文件里設(shè)置阻擋進入內(nèi)網(wǎng)的惡意主機。主要設(shè)置項是填寫允許進入本機的其他網(wǎng)絡(luò)或主機。3)iptables.allow:設(shè)置某些特殊的可以進入內(nèi)網(wǎng)的主機。主要設(shè)置項是填寫需要阻擋的內(nèi)容。

圖2 防火墻設(shè)置流程圖

根據(jù)防火墻的設(shè)置語法規(guī)則,在以上3個文件中設(shè)置好腳本,最后將這些功能存儲下來,并將文件的權(quán)限設(shè)置為700,這樣文件只屬于Root的權(quán)限,就可以直接執(zhí)行iptables.rule文件了。如果希望開機自動執(zhí)行該文件,可以將這個文件寫入/etc/rc.d/rc.local中。

3 結(jié)語

該文介紹了Linux系統(tǒng)內(nèi)的防火墻機制Netfilter,研究了Iptables防火墻的工作流程,重點介紹了Iptales防火墻中的filter表和NAT表,剖析了這2個表的工作機制,并將其應(yīng)用到實際的工作環(huán)境中,提供給網(wǎng)絡(luò)環(huán)境安全防護,有一定的實用價值。

猜你喜歡
本機流程圖防火墻
基于ADS-B的防撞檢測算法研究
飛機相遇模型仿真技術(shù)研究
不再煩人隱藏Windows 10的更新
構(gòu)建防控金融風(fēng)險“防火墻”
專利申請審批流程圖
專利申請審批流程圖
在舌尖上筑牢抵御“僵尸肉”的防火墻
寧海縣村級權(quán)力清單36條
下一代防火墻要做的十件事
FreeBSD關(guān)機重啟命令
平原县| 台北县| 南昌县| 营口市| 红河县| 镇平县| 五家渠市| 宣城市| 九寨沟县| 三门县| 大冶市| 蓬安县| 黔南| 阿荣旗| 龙泉市| 乌兰察布市| 吴江市| 灌云县| 黔南| 姚安县| 沾益县| 迭部县| 广丰县| 普洱| 鱼台县| 大同市| 竹溪县| 昌黎县| 南昌市| 新竹县| 湖口县| 堆龙德庆县| 竹溪县| 海淀区| 凤阳县| 蒙阴县| 兴文县| 汶川县| 彭州市| 旬邑县| 拉萨市|