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

?

基于Netfilter架構(gòu)的網(wǎng)絡(luò)防火墻設(shè)計與實(shí)現(xiàn)

2022-09-09 00:45馮雁輝陸華英蔣彭
電子技術(shù)與軟件工程 2022年14期
關(guān)鍵詞:網(wǎng)絡(luò)地址數(shù)據(jù)處理防火墻

馮雁輝 陸華英 蔣彭

(1.上海開放大學(xué)靜安分校 上海市 200040 2.上海市靜安區(qū)業(yè)余大學(xué) 上海市 200040)

Web Server的瀏覽訪問不僅增加了數(shù)據(jù)流量,也同時大大增加了網(wǎng)絡(luò)被攻擊的可能性。在傳統(tǒng)的網(wǎng)絡(luò)架構(gòu)中,對網(wǎng)絡(luò)的管控通常采用加密、用戶認(rèn)證、訪問控制或是行為審計和事件日志等形式,從而實(shí)現(xiàn)集中而統(tǒng)一的網(wǎng)絡(luò)安全管理。但是在Internet網(wǎng)絡(luò)環(huán)境中,網(wǎng)絡(luò)的架構(gòu)相對復(fù)雜,網(wǎng)絡(luò)訪問形式多樣,網(wǎng)絡(luò)中交互的數(shù)據(jù)量巨大,所以Internet的網(wǎng)絡(luò)安全技術(shù)需要把在傳統(tǒng)網(wǎng)絡(luò)中的所采用的安全技術(shù)與分布式網(wǎng)絡(luò)的安全技術(shù)相結(jié)合,這樣的集成化網(wǎng)絡(luò)安全管理系統(tǒng)才能實(shí)現(xiàn)在Internet中安全的數(shù)據(jù)通信,同時保護(hù)用戶內(nèi)部的網(wǎng)絡(luò)環(huán)境不受外部非法訪問。正是基于這樣的目的,網(wǎng)絡(luò)防火墻技術(shù)才得到了深入的研究。

基于Netfilter架構(gòu)的網(wǎng)絡(luò)防火墻的研究是在當(dāng)下網(wǎng)絡(luò)寬帶工程的進(jìn)展日新月異,網(wǎng)絡(luò)應(yīng)用深入普及的背景下,利用在用戶的網(wǎng)絡(luò)系統(tǒng)內(nèi)核中嵌入了Linux所提供的防火墻系統(tǒng)軟件的方式,從而來確保用戶的網(wǎng)絡(luò)能夠安全、穩(wěn)定、順暢地運(yùn)行。這種網(wǎng)絡(luò)防火墻實(shí)現(xiàn)技術(shù)是建立在首先對通信數(shù)據(jù)包進(jìn)行檢測,再完成轉(zhuǎn)發(fā)過濾。所以使用Netfilter設(shè)置防火墻,就是使用其中的配置工具iptables來設(shè)置一系列防火墻管理命令,用于管理用戶設(shè)置的數(shù)據(jù)轉(zhuǎn)發(fā)和過濾規(guī)則。

本文主要介紹了一種基于Linux的內(nèi)核軟件包來構(gòu)建一種網(wǎng)絡(luò)防火墻的設(shè)計方法,依據(jù)用戶預(yù)先設(shè)定的數(shù)據(jù)轉(zhuǎn)發(fā)過濾規(guī)則來檢查通信雙方數(shù)據(jù)包中的地址信息和連接狀態(tài)信息。這樣就可以在現(xiàn)有的用戶網(wǎng)絡(luò)系統(tǒng)基礎(chǔ)上,很方便的構(gòu)建一個理想的、實(shí)用的網(wǎng)絡(luò)防火墻系統(tǒng),實(shí)現(xiàn)對用戶內(nèi)部網(wǎng)絡(luò)環(huán)境的安全保護(hù)。

1 安全的網(wǎng)絡(luò)體系結(jié)構(gòu)

Netfilter是Linux內(nèi)核中一種常見的體系結(jié)構(gòu),通過提供一個抽象的、通用化的框架,來建構(gòu)一套基于通信數(shù)據(jù)包轉(zhuǎn)發(fā)過濾的網(wǎng)絡(luò)防火墻系統(tǒng)。其設(shè)計思想是根據(jù)網(wǎng)絡(luò)層報頭中的源地址、目的地址和傳輸數(shù)據(jù)類型來控制數(shù)據(jù)包的流向。在數(shù)據(jù)傳遞的過程中,可以依據(jù)指定的數(shù)據(jù)轉(zhuǎn)發(fā)和過濾規(guī)則,檢測所傳遞的數(shù)據(jù)包的源端口、目的端口和連接狀態(tài)。其中Netfilter建立了一系列的數(shù)據(jù)處理規(guī)則表,這些表由一些完成相應(yīng)數(shù)據(jù)處理的數(shù)據(jù)鏈構(gòu)成。每個鏈可以由一個或多個進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)和過濾的規(guī)則組成,這些規(guī)則決定了接收到的數(shù)據(jù)是轉(zhuǎn)發(fā)還是過濾。用戶的網(wǎng)絡(luò)架構(gòu)如圖1所示。

圖1:網(wǎng)絡(luò)架構(gòu)

在這個安全的用戶網(wǎng)絡(luò)環(huán)境中,可以實(shí)現(xiàn)如下的一些功能。通過線路①將服務(wù)器集群接入用戶網(wǎng)絡(luò)的中心交換機(jī),用戶網(wǎng)絡(luò)環(huán)境中的所有用戶均可訪問到相應(yīng)的服務(wù)器集群,從而實(shí)現(xiàn)了網(wǎng)內(nèi)用戶與各類服務(wù)器主機(jī)之間的數(shù)據(jù)傳遞,并使用相應(yīng)的服務(wù)功能,為用戶安全認(rèn)證提供了通訊條件;通過線路②實(shí)現(xiàn)了防火墻與服務(wù)器集群之間的數(shù)據(jù)交互,并可以由服務(wù)器集群來控制防火墻,完成配置和管理,為網(wǎng)內(nèi)用戶的對外授權(quán)數(shù)據(jù)傳遞提供了通訊條件;線路③為服務(wù)器集群捕獲數(shù)據(jù)(位于防火墻與中心交換機(jī)之間)提供條件。系統(tǒng)實(shí)現(xiàn)的功能如表1所示。

表1:系統(tǒng)實(shí)現(xiàn)的主要功能

2 基于Netfilter的防火墻策略設(shè)計

2.1 使用配置工具iptables建立規(guī)則和鏈

Netfilter架構(gòu)中數(shù)據(jù)包轉(zhuǎn)發(fā)過濾系統(tǒng)為各種協(xié)議提供了一組操作函數(shù),也稱為鉤子函數(shù)。這些函數(shù)設(shè)置在通信雙方傳輸數(shù)據(jù)包的線路上。根據(jù)數(shù)據(jù)包的來源地址和目的地址,可以將數(shù)據(jù)包分為接收數(shù)據(jù)、轉(zhuǎn)發(fā)數(shù)據(jù)、流轉(zhuǎn)數(shù)據(jù)三種類型。通過路由選擇可以區(qū)分出這些相應(yīng)的數(shù)據(jù)包類型,確定是接收、轉(zhuǎn)發(fā)還是流轉(zhuǎn)的數(shù)據(jù)。在通信路徑中這些鉤子函數(shù)對應(yīng)的位置,分別如表2所示。

表2:鉤子函數(shù)位置

在Netfilter架構(gòu)中,數(shù)據(jù)包轉(zhuǎn)發(fā)過濾系統(tǒng)由名為Netfilter和Iptables的兩部分組成??梢允褂眠@兩個組件設(shè)計數(shù)據(jù)包的轉(zhuǎn)發(fā)過濾規(guī)則,這些規(guī)則是防火墻系統(tǒng)所遵循的依據(jù),以便防火墻系統(tǒng)對接收到的數(shù)據(jù)進(jìn)行進(jìn)一步的操作。其中的Netfilter組件,是Linux系統(tǒng)內(nèi)核組成的一部分,主要的構(gòu)成元素被稱之為表,在這些表中包含了用戶定制的用來控制數(shù)據(jù)包轉(zhuǎn)發(fā)和過濾的一系列的操作規(guī)則。

而Iptables組件則是完成對這些表中的數(shù)據(jù)處理規(guī)則進(jìn)行插入、修改、刪除等操作的工具,也稱為用戶空間。在網(wǎng)絡(luò)環(huán)境中,通信雙方在進(jìn)行數(shù)據(jù)傳遞的過程中,通過向防火墻系統(tǒng)提供依據(jù)數(shù)據(jù)包的地址或控制協(xié)議等信息來進(jìn)行數(shù)據(jù)處理的指令,以此來確定數(shù)據(jù)的轉(zhuǎn)發(fā)和過濾。

可以使用Netfilter /iptables系統(tǒng)提供的iptables命令來創(chuàng)建和編輯這些數(shù)據(jù)轉(zhuǎn)發(fā)過濾規(guī)則,并將它們添加到內(nèi)核空間的數(shù)據(jù)包轉(zhuǎn)發(fā)過濾表中的數(shù)據(jù)處理鏈中。數(shù)據(jù)包轉(zhuǎn)發(fā)過濾過程如圖2所示。

圖2:數(shù)據(jù)包轉(zhuǎn)發(fā)過濾過程

如前所述,利用Iptables組件可以建立針對用戶的數(shù)據(jù)包轉(zhuǎn)發(fā)過濾規(guī)則,這些對數(shù)據(jù)包的數(shù)據(jù)處理規(guī)則存儲在Netfilter組件的數(shù)據(jù)包轉(zhuǎn)發(fā)過濾表中。根據(jù)所處理的數(shù)據(jù)包的類型,可以將這些數(shù)據(jù)包處理規(guī)則分組,并分類歸并到相應(yīng)的數(shù)據(jù)處理鏈中。其中,處理本地接收的數(shù)據(jù)包的規(guī)則,也稱為入站數(shù)據(jù)包,被添加到輸入規(guī)則的數(shù)據(jù)處理鏈中。輸出規(guī)則的數(shù)據(jù)處理鏈中添加了處理發(fā)送到外部網(wǎng)絡(luò)的數(shù)據(jù)包的規(guī)則,也稱為出站數(shù)據(jù)包。轉(zhuǎn)發(fā)規(guī)則的數(shù)據(jù)處理鏈中加入了對正在進(jìn)行路由的數(shù)據(jù)包的處理規(guī)則。

這里的數(shù)據(jù)包轉(zhuǎn)發(fā)過濾的處理過程是將所接收到的數(shù)據(jù)包的頭信息提取出來,與它所在的數(shù)據(jù)處理鏈中的每個規(guī)則進(jìn)行比較,看它是否完全匹配某一轉(zhuǎn)發(fā)過濾規(guī)則。如果與其中的處理規(guī)則相匹配,那么將會對依據(jù)該規(guī)則顯式指定的數(shù)據(jù)包執(zhí)行對應(yīng)的操作,也就是對這個數(shù)據(jù)包完成相應(yīng)的授權(quán)操作。如果數(shù)據(jù)包的頭信息與當(dāng)前的這個處理規(guī)則相互不匹配,那么就會再與數(shù)據(jù)處理鏈中的下一條規(guī)則進(jìn)行比較。最后,如果數(shù)據(jù)包與這個數(shù)據(jù)處理鏈中任意的規(guī)則都不匹配,那么最終將會引用數(shù)據(jù)處理鏈的策略來決定如何處理這個數(shù)據(jù)包。在系統(tǒng)中對接收到的數(shù)據(jù)包的操作過程如圖3所示。

圖3:系統(tǒng)中數(shù)據(jù)包的操作過程

2.2 Netfilter的數(shù)據(jù)包傳輸

Netfilter的iptables組件使用這些預(yù)先編輯的數(shù)據(jù)包轉(zhuǎn)發(fā)過濾規(guī)則來控制接收到的數(shù)據(jù)包處理操作。這樣就可以決定所有進(jìn)行數(shù)據(jù)通信的數(shù)據(jù)包是發(fā)送給本地主機(jī)輸入規(guī)則數(shù)據(jù)處理鏈,還是選擇路由后轉(zhuǎn)發(fā)規(guī)則數(shù)據(jù)處理鏈。

如果這些數(shù)據(jù)包的目的地址是本地的,則這些數(shù)據(jù)包在輸入規(guī)則的數(shù)據(jù)處理鏈中被轉(zhuǎn)發(fā)過濾規(guī)則接受,并在本地接收。如果目的地址是外網(wǎng)中的某個主機(jī),那么這些數(shù)據(jù)包就會被轉(zhuǎn)發(fā)規(guī)則鏈中的規(guī)則所接受,并被發(fā)送到相應(yīng)的接口,經(jīng)過路由選擇后轉(zhuǎn)發(fā)到外部網(wǎng)絡(luò)中。用戶內(nèi)部網(wǎng)絡(luò)中對外發(fā)送的出站數(shù)據(jù)包會被送到輸出規(guī)則鏈。如果這個數(shù)據(jù)包能夠被接受,則將被發(fā)送給相應(yīng)的接口,也是經(jīng)過相應(yīng)的路由選擇后轉(zhuǎn)發(fā)出去。Netfilter系統(tǒng)中數(shù)據(jù)包傳輸數(shù)據(jù)流向如圖4所示。

圖4:Netfilter系統(tǒng)中數(shù)據(jù)包傳輸數(shù)據(jù)流向

3 配置防火墻套件

3.1 網(wǎng)絡(luò)環(huán)境部署

在搭建的用戶內(nèi)部網(wǎng)絡(luò)環(huán)境中已經(jīng)建立以下服務(wù):web應(yīng)用服務(wù),域名為www.mysite.com;ftp文件傳輸服務(wù),域名為ftp.mysite.com;用于實(shí)現(xiàn)防火墻功能的計算機(jī)上的網(wǎng)絡(luò)地址分別設(shè)置為:Eth0(218.197.93.115)、Eth1(192.168.1.1)、Eth2(192.168.2.1) ;服務(wù)器Server計算機(jī)的網(wǎng)絡(luò)地址為:C(192.168.1.2);用戶內(nèi)部網(wǎng)絡(luò)中客戶機(jī)A上的網(wǎng)絡(luò)地址為:A(192.168.2.2);客戶機(jī)B上的網(wǎng)絡(luò)地址為:B(218.197.93.161)。系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)簡圖如圖5所示。

圖5:網(wǎng)絡(luò)結(jié)構(gòu)簡圖

在這個用戶網(wǎng)絡(luò)環(huán)境中,防火墻主機(jī)既是用戶內(nèi)部網(wǎng)絡(luò)中的成員,也是外部網(wǎng)絡(luò)的成員。接外網(wǎng)的網(wǎng)卡可以對用戶內(nèi)部網(wǎng)絡(luò)傳出的數(shù)據(jù)包做IP地址的偽裝,這樣在內(nèi)部網(wǎng)絡(luò)中傳出的數(shù)據(jù)包會將其網(wǎng)絡(luò)地址轉(zhuǎn)換為一個Internet中真正的公網(wǎng)IP地址。在本網(wǎng)絡(luò)環(huán)境中使用的Internet公網(wǎng)的IP地址為218.197.93.115,在連接內(nèi)部網(wǎng)絡(luò)的時候,使用局域網(wǎng)內(nèi)部的IP地址為192.168.1.1,內(nèi)部網(wǎng)絡(luò)中其它用戶的計算機(jī)可以使用的IP地址范圍是192.168.1.2~192.168.1.254。

預(yù)期實(shí)現(xiàn)的功能包括實(shí)現(xiàn)防火墻的地址轉(zhuǎn)換功能,讓客戶機(jī)A能訪問外部網(wǎng)絡(luò)(218.197.93.254),在服務(wù)器主機(jī)上開啟ftp和web服務(wù),使得客戶機(jī)A和B能夠正常訪問服務(wù)器主機(jī)C。開啟防火墻功能,使得防火墻可以進(jìn)行網(wǎng)絡(luò)內(nèi)部用戶數(shù)據(jù)包的源地址轉(zhuǎn)換,實(shí)現(xiàn)用戶的內(nèi)部網(wǎng)絡(luò)可以正常訪問外部網(wǎng)絡(luò)。并且內(nèi)部網(wǎng)絡(luò)用戶可以訪問DMZ區(qū)域,實(shí)現(xiàn)對DMZ區(qū)域中服務(wù)器的配置和管理。外部網(wǎng)絡(luò)不能直接訪問內(nèi)部網(wǎng)絡(luò)中的用戶內(nèi)部數(shù)據(jù),但是外部網(wǎng)絡(luò)由防火墻完成對外網(wǎng)地址到服務(wù)器實(shí)際地址的轉(zhuǎn)換后,可以訪問用戶的DMZ區(qū)域中的服務(wù)。

在/etc/sysconfig/network-scripts中建立ifcfg-eth0文件,編輯如下內(nèi)容,配置基本的用戶網(wǎng)絡(luò)環(huán)境,并配置為自啟動狀態(tài):

# DEVICE=eth0

# IPADDR=192.168.1.1

# NETMASK=255.255.255.0

# NETWORK=192.168.1.0

# BROADCAST=192.168.1.255

# GATEWAY=218.197.93.115

3.2 建立規(guī)則

實(shí)現(xiàn)以下功能:通過防火墻的網(wǎng)絡(luò)地址轉(zhuǎn)換功能讓客戶機(jī)A能訪問外部網(wǎng)絡(luò)(218.197.93.254),在服務(wù)器主機(jī)上開啟ftp和web服務(wù),使得客戶機(jī)A和B主機(jī)能夠正常訪問服務(wù)器主機(jī)C,通過防火墻系統(tǒng)進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換后實(shí)現(xiàn)用戶內(nèi)部網(wǎng)絡(luò)可以訪問外網(wǎng)。編輯如下內(nèi)容:

# establish a static firewall //建立腳本文件指定開放的端口

Open_ports="80 25 110 10 20 21" //設(shè)置本地服務(wù)器對外開放的端口

Allow_ports="53 80 20 21" //允許外部網(wǎng)絡(luò)訪問的本地服務(wù)器端口

iptables -A FORWARD -p tcp -d 192.168.1.1 --dport www-i eth1 -j ACCEPT

//對www服務(wù)器設(shè)置數(shù)據(jù)包過濾規(guī)則

iptables -A FORWARD -p udp -d 192.168.1.0/24 -i eth1 -j ACCEPT

//對內(nèi)部網(wǎng)絡(luò)用戶設(shè)置數(shù)據(jù)包轉(zhuǎn)發(fā)過濾規(guī)則

iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -j ACCEPT

//對內(nèi)部網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)過濾

通過編輯用戶防火墻系統(tǒng)的數(shù)據(jù)包轉(zhuǎn)發(fā)過濾規(guī)則,完成相關(guān)安全設(shè)置,就建立了一個相對完整的netfilter防火墻系統(tǒng),提供了一種有效的防護(hù)手段。對外部的網(wǎng)絡(luò)服務(wù)可以通過某些指定的端口來實(shí)現(xiàn)數(shù)據(jù)交互,同時也提供了用戶網(wǎng)絡(luò)內(nèi)部對Internet的無縫訪問,這樣也基本實(shí)現(xiàn)了外部網(wǎng)絡(luò)對內(nèi)部訪問時候的入侵檢測功能。

4 結(jié)束語

在Linux內(nèi)核中使用內(nèi)置的針對IP地址進(jìn)行處理的數(shù)據(jù)包過濾工具Netfilter/ Iptables系統(tǒng),使得配置網(wǎng)絡(luò)防火墻,進(jìn)行數(shù)據(jù)包過濾的實(shí)現(xiàn)過程相對方便。并且Netfilter/Iptables系統(tǒng)不僅為用戶提供了對網(wǎng)絡(luò)防火墻的配置和數(shù)據(jù)包轉(zhuǎn)發(fā)過濾的完全控制,還允許為網(wǎng)絡(luò)防火墻定制控制數(shù)據(jù)包轉(zhuǎn)發(fā)過濾的規(guī)則。

本文主要研究了如何建立一種在系統(tǒng)內(nèi)核中用于擴(kuò)展各種網(wǎng)絡(luò)服務(wù)的結(jié)構(gòu)化框架,綜合應(yīng)用網(wǎng)絡(luò)通信技術(shù)和集中化管理技術(shù),其想法是生成一個易于擴(kuò)展的模塊化結(jié)構(gòu)。此外,新的策略和模塊規(guī)則被添加到系統(tǒng)的內(nèi)核中,而不需要重新啟動內(nèi)核。所以,通過對系統(tǒng)內(nèi)核模塊的定制編輯,就能夠?qū)崿F(xiàn)對一些網(wǎng)絡(luò)新特性的擴(kuò)展。

猜你喜歡
網(wǎng)絡(luò)地址數(shù)據(jù)處理防火墻
敬 告
認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計法*
ILWT-EEMD數(shù)據(jù)處理的ELM滾動軸承故障診斷
網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)在局域網(wǎng)中的應(yīng)用
構(gòu)建防控金融風(fēng)險“防火墻”
淺析IP地址分類
基于希爾伯特- 黃變換的去噪法在外測數(shù)據(jù)處理中的應(yīng)用
在舌尖上筑牢抵御“僵尸肉”的防火墻
下一代防火墻要做的十件事
基于POS AV610與PPP的車輛導(dǎo)航數(shù)據(jù)處理
凤山市| 阳泉市| 青川县| 石泉县| 惠东县| 龙江县| 潞西市| 雅安市| 连城县| 杂多县| 镇远县| 调兵山市| 都兰县| 望江县| 民丰县| 醴陵市| 客服| 开封县| 德保县| 隆尧县| 乌拉特后旗| 西昌市| 泸定县| 东兰县| 东源县| 石门县| 建阳市| 洛阳市| 绥化市| 丰原市| 安康市| 鄂州市| 桦南县| 托克逊县| 新宁县| 安庆市| 永昌县| 克山县| 昂仁县| 额济纳旗| 博罗县|