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

利用Iptables構(gòu)建網(wǎng)絡(luò)防火墻

2017-11-28 08:53:57張德楊
河南科技 2017年19期
關(guān)鍵詞:網(wǎng)絡(luò)安全規(guī)則

張德楊

利用Iptables構(gòu)建網(wǎng)絡(luò)防火墻

張德楊

(河南省科學(xué)技術(shù)信息研究院,鄭州 河南 450003)

隨著互聯(lián)網(wǎng)的迅速發(fā)展和普及,網(wǎng)絡(luò)給人們提供便利的同時(shí),也給黑客攻擊提供了機(jī)會(huì),網(wǎng)絡(luò)安全已經(jīng)越來(lái)越受到人們的關(guān)注。防火墻是防御網(wǎng)絡(luò)攻擊和保護(hù)網(wǎng)絡(luò)安全的主要手段,經(jīng)過(guò)多年的發(fā)展,已經(jīng)成為網(wǎng)絡(luò)管理中不可或缺的安全技術(shù)。本文先介紹Linux內(nèi)核中Iptables的工作原理和基本語(yǔ)法規(guī)則,然后舉例說(shuō)明如何使用Iptables設(shè)計(jì)一個(gè)網(wǎng)絡(luò)防火墻。

防火墻;Iptables;Netfilter

防火墻是指一個(gè)由硬件和軟件組合而成,在不同網(wǎng)絡(luò)或網(wǎng)絡(luò)安全域之間構(gòu)建保護(hù)措施的網(wǎng)絡(luò)安全系統(tǒng)。被隔離的網(wǎng)絡(luò)之間通信需要經(jīng)過(guò)防火墻來(lái)傳輸數(shù)據(jù),防火墻通過(guò)訪問(wèn)控制機(jī)制,決定哪些數(shù)據(jù)允許或禁止通過(guò),從而達(dá)到保護(hù)網(wǎng)絡(luò)安全的目的。

Linux2.4以上版本內(nèi)核中提供了一個(gè)非常優(yōu)秀的防火墻工具Iptables,其主要具有數(shù)據(jù)包過(guò)濾(Filter)、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)和數(shù)據(jù)包處理(Mangle)等功能。使用Iptables來(lái)構(gòu)建網(wǎng)絡(luò)防火墻是一種性價(jià)比較高的網(wǎng)絡(luò)安全解決方案,可以有效阻止網(wǎng)絡(luò)攻擊,保護(hù)網(wǎng)絡(luò)安全。

1 Iptables的實(shí)現(xiàn)原理

Iptables是管理內(nèi)核包過(guò)濾的工具,真正執(zhí)行過(guò)濾規(guī)則的是netfilter及其相關(guān)模塊。netfliter是Linux內(nèi)核中的一個(gè)通用架構(gòu),由一系列表(tables)組成,每個(gè)表由若干鏈(chains)組成,而每條鏈中由一條或數(shù)條規(guī)則(rule)組成。

netfliter有filter、nat、mangle、raw 4種內(nèi)建表,默認(rèn)表為filter,有INPUT、FORWARD和OUTPUT三個(gè)鏈,用于實(shí)現(xiàn)數(shù)據(jù)包過(guò)濾;nat表有PRER0UTING、POSTROUTING和OUTPUT 3個(gè)鏈,用于實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換;mangle有PREROUTING、OUTPUT、FORWARD、INPUT 和 POS?TROUTING 5個(gè)鏈,用于實(shí)現(xiàn)數(shù)據(jù)包處理;raw表有PRE?ROUTING和OUTPUT2個(gè)鏈,用于實(shí)現(xiàn)在連接跟蹤前處理數(shù)據(jù)包。這4個(gè)表的優(yōu)先級(jí)別是raw>mangle>nat>filter,其中raw表不常用,本文不做詳細(xì)介紹。

當(dāng)一個(gè)數(shù)據(jù)包到達(dá)某個(gè)鏈時(shí),系統(tǒng)從第一條規(guī)則開始檢查該數(shù)據(jù)包是否符合該規(guī)則定義的條件:如果符合,系統(tǒng)將按照該規(guī)則定義的方法處理該數(shù)據(jù)包;如果不符合,則繼續(xù)檢查下一條規(guī)則。最后,如果該數(shù)據(jù)包不符合該鏈中所有規(guī)則,系統(tǒng)將按照該鏈默認(rèn)的策略來(lái)處理該數(shù)據(jù)包[1]。

Iptables對(duì)數(shù)據(jù)包的處理流程如圖1所示,基本步驟如下。

圖1 Iptables對(duì)數(shù)據(jù)包的處理流程圖

①數(shù)據(jù)包到達(dá)網(wǎng)絡(luò)接口,如eth0,接口把數(shù)據(jù)包發(fā)往netfilter,數(shù)據(jù)包進(jìn)入netfilter。②進(jìn)入raw表的PRE?ROUTING鏈,在此可以進(jìn)行連接跟蹤處理。③進(jìn)入man?gle表的PREROUTING鏈,在此可以修改數(shù)據(jù)包TOS等以實(shí)現(xiàn)QOS。④進(jìn)入nat表的PREROUTING鏈,在此可以做DNAT,如更改數(shù)據(jù)包的目標(biāo)IP地址等,但不要做過(guò)濾。⑤數(shù)據(jù)包到達(dá)路由,路由根據(jù)路由表判斷數(shù)據(jù)包的目的地址。如果目的地址是本機(jī),數(shù)據(jù)包被轉(zhuǎn)給intput鏈處理;如果目的地址不是本機(jī),數(shù)據(jù)包被轉(zhuǎn)給forward鏈處理。

按照數(shù)據(jù)包的目的地址是不是本機(jī),可以分為以下兩種情況。

(1)數(shù)據(jù)包的目的地址不是本機(jī)。①進(jìn)入mangle表的FORWARD鏈。②進(jìn)入filter表的FORWARD鏈,在此可以對(duì)所有轉(zhuǎn)發(fā)的數(shù)據(jù)包進(jìn)行過(guò)濾。注意:轉(zhuǎn)發(fā)的數(shù)據(jù)包方向是雙向的。③進(jìn)入mangle表的POSTROUTING鏈。④進(jìn)入nat表的POSTROUTING鏈,在此可以做SNA,比如更改數(shù)據(jù)包的源IP地址等,但不要做過(guò)濾。⑤數(shù)據(jù)包離開netfilter,通過(guò)網(wǎng)絡(luò)接口出去,如eth1。

(2)數(shù)據(jù)包的目的地址是本機(jī)。①進(jìn)入mangle表的INPUT鏈。②進(jìn)入filter表的INPUT鏈,在此可以對(duì)流入的所有網(wǎng)絡(luò)接口數(shù)據(jù)包進(jìn)行過(guò)濾。③數(shù)據(jù)包進(jìn)入本地主機(jī)進(jìn)程進(jìn)行處理,如果需要外發(fā)數(shù)據(jù)包,或本地主機(jī)進(jìn)程自身需要外發(fā)數(shù)據(jù)包,則數(shù)據(jù)包經(jīng)過(guò)路由后被送往OUT?PUT鏈。④進(jìn)入raw表的OUTPUT鏈,在此對(duì)本地的數(shù)據(jù)包進(jìn)行連接跟蹤處理。⑤進(jìn)入mangle表的OUTPUT鏈,在此可以修改數(shù)據(jù)包,但不要做過(guò)濾。⑥進(jìn)入nat表的OUTPUT鏈,在此可以對(duì)本機(jī)發(fā)出的數(shù)據(jù)包做NAT,再次進(jìn)行路由選擇。⑦進(jìn)入filter表的OUTPUT鏈,在此可以對(duì)數(shù)據(jù)包進(jìn)行過(guò)濾。⑧進(jìn)入mangle表的POSTROUTING鏈,同上一種情況的第③步。注意,此處不僅對(duì)經(jīng)過(guò)的數(shù)據(jù)包進(jìn)行處理,還對(duì)本機(jī)產(chǎn)生的數(shù)據(jù)包進(jìn)行處理。⑨進(jìn)入nat表的POSTROUTING鏈,同上一種情況的第④步。⑩處理后的數(shù)據(jù)包離開netfilter,通過(guò)網(wǎng)絡(luò)接口出去,如eth1。

如果該數(shù)據(jù)包的回復(fù)包進(jìn)入netfilter,則不需要檢查任何規(guī)則,因此Iptables具有狀態(tài)(Statefu1)機(jī)制,該狀態(tài)機(jī)制可以減少訪問(wèn)規(guī)則的設(shè)置,提高訪問(wèn)效率,增加系統(tǒng)性能。

2 Iptables的語(yǔ)法規(guī)則

Iptables通過(guò)添加、修改或刪除規(guī)則配置出各種包過(guò)濾策略,基本語(yǔ)法如下。

iptables[-t表]lt;命令gt;[鏈][規(guī)則號(hào)碼][匹配條件][-j動(dòng)作]

表指filter、nat、mangle、raw等,該選項(xiàng)不是必需的,缺省的表為filter。

命令包括:新建(-N)、添加(-A)、插入(-I)、刪除(-D)、替換(-R)、設(shè)置鏈默認(rèn)規(guī)則(-P)、清空(-F)、查看(-[vxn]L)等。

鏈指表中包含的鏈,如 INPUT、OUTPUT、FOR?WARD、PREROUTING、POSTROUTING等。

規(guī)則號(hào)碼指鏈中規(guī)則順序號(hào)。

匹配條件包括:流入接口(-i)、流出接口(-o)、來(lái)源地址(-s)、目的地址(-d)、協(xié)議類型(-p)、來(lái)源端口(--sport)、目的端口(--dport)等。

動(dòng)作包括:通過(guò)(ACCEPT)、丟棄(DROP)、拒絕(RE?JECT,同DROP但回傳錯(cuò)誤消息)、返回(RETURN)、目的地址轉(zhuǎn)換(DNAT)、源地址轉(zhuǎn)換(SNAT)、動(dòng)態(tài)源地址轉(zhuǎn)換(MASQUERADE)、重定向(REDIRECT)等。

此外,還有如下附加模塊:按包狀態(tài)匹配(state)、按來(lái)源MAC匹配(mac)、按包速率匹配(limit)、多端口匹配(multiport)等。

舉例說(shuō)明:

iptables-t filter-A INPUT-p tcp–s192.168.1.0/24-d 218.28.28.28--dport 80–ieth1-o eth0-j AC?CEPT

-t filter:filter是默認(rèn)表,可省略,-t用來(lái)調(diào)用表。

-A:在指定的鏈末添加一條規(guī)則。

圖2 網(wǎng)絡(luò)拓?fù)鋱D

-p:協(xié)議類型,包括tcp、udp、icmp等中的一個(gè)或者全部,也可以是數(shù)值,代表某一個(gè)協(xié)議,還可以使用在/etc/protocols中定義的協(xié)議名。在協(xié)議名前加上“!”表示相反的規(guī)則。數(shù)字0相當(dāng)于all,默認(rèn)選項(xiàng),匹配所有協(xié)議。

-s:指定源地址,可以是主機(jī)名、網(wǎng)絡(luò)名和IP地址。

-d:指定目標(biāo)地址。

--dport:指定目標(biāo)端口或端口范圍;--sport指定源端口或端口范圍。

-i:接收該包的接口名稱。

-o:發(fā)送該包的接口名稱。

-j:指定規(guī)則的動(dòng)作。

此規(guī)則的意義是:添加一條數(shù)據(jù)包過(guò)濾規(guī)則,允許源地址是192.168.1.0/24網(wǎng)段主機(jī)的數(shù)據(jù)包進(jìn)入網(wǎng)卡eth1,通過(guò)網(wǎng)卡eth0使用TCP協(xié)議訪問(wèn)目的地址是218.28.28.28主機(jī)的8O端口。

3 防火墻實(shí)現(xiàn)

通過(guò)以上分析可以看出,使用Iptables可以設(shè)計(jì)出滿足各類需求的防火墻系統(tǒng)。下面以一個(gè)Iptables具體應(yīng)用為例,演示如何利用Iptables實(shí)現(xiàn)包過(guò)濾防火墻。

使用一臺(tái)PC服務(wù)器當(dāng)作防火墻,操作系統(tǒng)為Cen?tOS6,安裝有3塊網(wǎng)卡,其中eth0連接外部Internet,IP地址為222.22.22.22;eth1連接內(nèi)部局域網(wǎng),IP地址為192.168.1.1;eth2連接服務(wù)器區(qū)(DMZ),IP地址為192.168.10.1。網(wǎng)絡(luò)拓?fù)淙鐖D2所示。

該防火墻系統(tǒng)實(shí)現(xiàn)的目標(biāo)是:網(wǎng)絡(luò)進(jìn)行NAT地址轉(zhuǎn)換,同時(shí)根據(jù)數(shù)據(jù)包的端口和狀態(tài)特征進(jìn)行包過(guò)濾。In?ternet和Intranet用戶可以訪問(wèn)DMZ區(qū)服務(wù)器提供的服務(wù);DMZ區(qū)服務(wù)器和Intranet計(jì)算機(jī)可以訪問(wèn)Internet上的服務(wù);Internet用戶不能訪問(wèn)Intranet計(jì)算機(jī);防火墻對(duì)DMZ和Intranet數(shù)據(jù)包進(jìn)行地址轉(zhuǎn)換,起到IP偽裝和地址復(fù)用的作用。腳本如下所示。

#打開ip轉(zhuǎn)發(fā)功能

echoquot;1quot;gt;/proc/sys/net/ipv4/ip_forward

#解決Linux NAT ip_conntrack∶table full的方法

echo quot;86400quot; gt;/proc/sys/net/ipv4/netfilter/ip_conn?track_tcp_timeout_established

#加載對(duì)ftp協(xié)議支持的模塊

modprobe ip_nat_ftp

#ftp自動(dòng)追蹤模塊,提供對(duì)某些網(wǎng)絡(luò)游戲在線升級(jí)的支持

#modprobe ip_conntrack

#modprobe ip_conntrack_ftp

#清除所有鏈的規(guī)則,設(shè)定防火墻禁止一切通信的默認(rèn)策略。

iptables-F

iptables-t nat-F

iptables-t mangle-F

iptables-X

iptables-t nat-X

iptables-t mangle-X

iptables-Z

iptables-t nat-Z

iptables-t mangle-Z

#設(shè)定filter table的默認(rèn)策略

iptables-P INPUT DROP

iptables-P FORWARD DROP

iptables-P OUTPUT ACCEPT

iptables-t nat-P PREROUTING ACCEPT

iptables-t nat-P POSTROUTING ACCEPT

iptables-t nat-P OUTPUT ACCEPT

iptables-t mangle-P PREROUTING ACCEPT

iptables-t mangle-P INPUT ACCEPT

iptables-t mangle-P FORWARD ACCEPT

iptables-t mangle-P OUTPUT ACCEPT

iptables-t mangle-P POSTROUTING ACCEPT

#INPUT

iptables-A INPUT-s 127.0.0.1-d 127.0.0.1-j ACCEPT

#允許192.168.1.2進(jìn)入防火墻管理

iptables-A INPUT-i eth1-s 192.168.1.2-j AC?CEPT

iptables-A INPUT-m state--state ESTAB?LISHED,RELATED-j ACCEPT

#DMZ Section

iptables-A FORWARD-ieth2-o eth0-s 192.168.10.0/24-j ACCEPT

iptables-A FORWARD-p tcp-o eth2-d 192.168.10.2--dport 80-j ACCEPT

iptables-A FORWARD-p tcp-o eth2-d 192.168.10.3--dport 21-j ACCEPT

#限速,暫時(shí)不用

#iptables- A FORWARD- p tcp- d 192.168.10.2--syn-m connlimit--connlimit-above 10-j DROP

#iptables- A FORWARD- p tcp- d 192.168.10.2--syn-m limit--limit 1/s-j ACCEPT

#LAN Section

iptables-A FORWARD-ieth1-o eth0-s 192.168.1.0/24-j ACCEPT

iptables-A FORWARD-m state--state ESTAB?LISHED,RELATED-j ACCEPT

#DNAT

iptables-tnat-A PREROUTING-p tcp-d 222.22.22.22--dport80-jDNAT--to-destination 192.168.10.2∶80

iptables-tnat-A PREROUTING-p tcp-d 222.22.22.22--dport21-jDNAT--to-destination 192.168.10.3∶21

#SNAT

iptables-tnat-A POSTROUTING-oeth0-j SNAT--to 222.22.22.22

#解決DMZ服務(wù)器訪問(wèn)自身提供的服務(wù)問(wèn)題

iptables-tnat-A POSTROUTING-ptcp-o eth2- s 192.168.10.0/24- d 192.168.10.0/24- j SNAT--to 192.168.10.1

#如果Intranet區(qū)有多個(gè)網(wǎng)段,需設(shè)定路由,同時(shí)在eth1連接的路由器上設(shè)置反向路由

#route add- net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254 dev eth1

上述腳本比較通用,功能強(qiáng)大,便于擴(kuò)展。在該實(shí)例中,“先拒絕所有的數(shù)據(jù)包,然后再允許需要的”,這是一般防火墻策略的基本原則,這種配置擴(kuò)展性好,如果需要增加功能服務(wù),只需要增加相應(yīng)的配置設(shè)置就可以實(shí)現(xiàn)。Iptables除了數(shù)據(jù)包過(guò)濾等基本功能外,還可以加載很多實(shí)用模塊來(lái)實(shí)現(xiàn)復(fù)雜的功能,可以構(gòu)建出支持連接狀態(tài)的防火墻。

CentOS6默認(rèn)安裝了Iptables,系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)Ipt?ables服務(wù),如未啟動(dòng),可手工啟動(dòng)(service iptables start)。

4 結(jié)語(yǔ)

Iptables是Linux內(nèi)置的防火墻模塊,其功能強(qiáng)大,可以用于數(shù)據(jù)包過(guò)濾、NAT和數(shù)據(jù)包轉(zhuǎn)發(fā)。本文介紹了Ipt?ables實(shí)現(xiàn)原理和基本語(yǔ)法,并結(jié)合實(shí)例說(shuō)明如何使用Iptables構(gòu)建Linux系統(tǒng)防火墻。對(duì)于中小規(guī)模網(wǎng)絡(luò),結(jié)合實(shí)際構(gòu)建基于Iptables的防火墻,是一個(gè)性價(jià)比較高的方案,可以簡(jiǎn)單、高效和經(jīng)濟(jì)地保護(hù)網(wǎng)絡(luò)安全。

[1]O Andreasson.Oskar Andreasson,Iptables Tutorial 1.2.2[EB/OL].[2017-09-05].https∶//www.frozentux.net/iptables-tutori?al/iptables-tutorial.html.

Building a Network Firewall Based on Iptables

Zhang Deyang
(Henan Institute of Scienceamp;Technology Information,Zhengzhou Henan 450003)

With the rapid development and popularization of the Internet,the network provides people with convenience,but also provides opportunities for hacker attacks,network security has attracted more and more attention.Firewall is the main means to defend network attacks and protect network security.After years of development,it has become an indispensable security technology in network management.This pa?per presented the work theory of Iptables embedded in Linux kernel and its basic grammatical rule,and then an instance ofnetwork firewall based on Iptables was designed.

firewall;iptables;netfilter

TP393.08

A

1003-5168(2017)10-0058-04

2017-09-03

張德楊(1979-),男,工程師,研究方向:計(jì)算機(jī)技術(shù)。

猜你喜歡
網(wǎng)絡(luò)安全規(guī)則
網(wǎng)絡(luò)安全知多少?
撐竿跳規(guī)則的制定
數(shù)獨(dú)的規(guī)則和演變
網(wǎng)絡(luò)安全
網(wǎng)絡(luò)安全人才培養(yǎng)應(yīng)“實(shí)戰(zhàn)化”
規(guī)則的正確打開方式
幸福(2018年33期)2018-12-05 05:22:42
上網(wǎng)時(shí)如何注意網(wǎng)絡(luò)安全?
讓規(guī)則不規(guī)則
Coco薇(2017年11期)2018-01-03 20:59:57
TPP反腐敗規(guī)則對(duì)我國(guó)的啟示
搜索新規(guī)則
主站蜘蛛池模板: 久久91精品牛牛| 欧美精品高清| 国产婬乱a一级毛片多女| 亚洲欧美不卡视频| 亚洲欧洲日韩国产综合在线二区| 国产成人夜色91| 久久久久久国产精品mv| 九九九国产| 青青草一区| 亚洲色欲色欲www在线观看| 日本亚洲成高清一区二区三区| 欧美一级一级做性视频| 亚洲精品天堂在线观看| 欧美三级自拍| 亚洲啪啪网| 色综合网址| 女同国产精品一区二区| 在线色综合| 无码网站免费观看| 亚洲av无码久久无遮挡| 国产亚洲欧美日韩在线一区| 久无码久无码av无码| 国产在线八区| 国产精品青青| 日韩视频免费| 亚洲,国产,日韩,综合一区| 伊人久热这里只有精品视频99| 久久精品视频亚洲| 精品超清无码视频在线观看| 国产白浆视频| 欧美成人在线免费| 亚洲第一中文字幕| 国产日韩欧美在线视频免费观看| 97成人在线视频| 久久精品欧美一区二区| 激情无码字幕综合| 18禁色诱爆乳网站| 国产无码网站在线观看| 国产精品香蕉在线| 福利国产在线| 91美女在线| 国产91精品调教在线播放| a级毛片毛片免费观看久潮| 91亚瑟视频| a级毛片网| a级高清毛片| 成人精品午夜福利在线播放| 国产欧美精品一区二区| 久久综合一个色综合网| 欧美精品亚洲精品日韩专| 国产精品无码一二三视频| 99这里只有精品在线| 性色一区| 青青青亚洲精品国产| 国产精品19p| 97影院午夜在线观看视频| 欧美区一区二区三| 日本免费a视频| 亚洲国产91人成在线| 在线国产综合一区二区三区| 91年精品国产福利线观看久久| 国产美女人喷水在线观看| 国产成人一区在线播放| 狠狠亚洲五月天| 国产chinese男男gay视频网| 欧美成人精品在线| 国产精选小视频在线观看| 日本一本在线视频| 无码又爽又刺激的高潮视频| 国产在线一二三区| 成人韩免费网站| 色天天综合| 亚洲色图欧美激情| 四虎国产永久在线观看| 亚洲精品另类| 99视频在线精品免费观看6| 亚洲天堂视频在线观看免费| 国产精品一区二区久久精品无码| 久久99国产视频| 嫩草影院在线观看精品视频| 奇米影视狠狠精品7777| 国产乱论视频|