◆楊澤明
(蘇州工業(yè)園區(qū)職業(yè)技術(shù)學(xué)院 江蘇 215123)
Netfilter/Iptables在高級技師考試中應(yīng)用及探索
◆楊澤明
(蘇州工業(yè)園區(qū)職業(yè)技術(shù)學(xué)院 江蘇 215123)
本文作者參加江蘇省計算機(jī)管理高級技師考試中出現(xiàn)有關(guān)數(shù)據(jù)安全、網(wǎng)絡(luò)安全管理與服務(wù)器系統(tǒng)運行維護(hù)考核內(nèi)容分析,提出相應(yīng)的解決方案,進(jìn)而分析Linux2.4內(nèi)核中采用Netfilter/Iptables中小型企業(yè)中的應(yīng)用與實踐,本文實現(xiàn)基于Netfilter/Iptables的防火墻架構(gòu),結(jié)構(gòu)清晰、開發(fā)成本低、配置靈活、功能強(qiáng)大等特點,加上 Linux 本身所具備的較高的安全性,適合于中小型規(guī)模網(wǎng)絡(luò)應(yīng)用。
Netfilter/Iptables;工作原理;實例案例;解決方案
隨著互聯(lián)網(wǎng)技術(shù)的應(yīng)用與發(fā)展,QQ、微信等實時通訊應(yīng)用越來越普及,網(wǎng)絡(luò)安全信息管理已成為網(wǎng)絡(luò)管理中日益突出的問題。Linux內(nèi)核從linux2.2就已經(jīng)有了內(nèi)核防火墻ipchains,基本實現(xiàn)了包過濾、地址偽裝等功能,而從Linux2.4的內(nèi)核中又采用全新的Netfilter/Iptables 框架,使網(wǎng)絡(luò)層和防火墻在結(jié)構(gòu)上十分清楚,防火墻代碼修改和擴(kuò)充更加容易。Netfilter提供可擴(kuò)展的結(jié)構(gòu)化底層框架,在此框架之上實現(xiàn)的數(shù)據(jù)包選擇工具 Iptables負(fù)責(zé)對輸入、輸出的數(shù)據(jù)包進(jìn)行過濾和管理等工作。Netfilter/iptables 是集成在Linux2.4 的內(nèi)核中,是防火墻的核心部分,也是一個通用架構(gòu),它包含一系列的“表”(tables),每個表許多“鏈”(chains)構(gòu)成,而每條鏈可以由一條或數(shù)條“規(guī)則”(rule)構(gòu)成,包過濾處理正是由這些規(guī)則來控制的。在Netfilter /iptables中,使用表(鏈)中的INPUT、OUTPUT 和FORWARD數(shù)據(jù)包過濾規(guī)則。將數(shù)據(jù)包送到本地主機(jī)的輸入規(guī)則鏈或是轉(zhuǎn)發(fā)規(guī)則鏈?zhǔn)怯扇胝緮?shù)據(jù)包是否需要經(jīng)過路由決定的。
Netfilter 防火墻的工作原理:
Netfilter 在整個網(wǎng)絡(luò)流程的若干位置放置了一些檢測點,每個檢測點上都登記了一些處理函數(shù),這些函數(shù)將對流經(jīng)此處的數(shù)據(jù)包進(jìn)行處理,如包過濾、NAT 等。同一個檢測點上的處理函數(shù)注冊在同一個鏈上。Netfilter 預(yù)定義有五個鏈:
(1)PREROUTING:數(shù)據(jù)包進(jìn)入網(wǎng)絡(luò)協(xié)議棧后經(jīng)過的第一個鏈;
(2)POSTROUTING:數(shù)據(jù)包即將離開協(xié)議棧經(jīng)過的最后一個鏈;
(3)FORWARD:數(shù)據(jù)包在轉(zhuǎn)送的時候?qū)⒔?jīng)過該鏈;
(4)INPUT:到達(dá)本機(jī)的數(shù)據(jù)包將經(jīng)過該鏈;
(5)OUTPUT:離開本機(jī)的數(shù)據(jù)包將經(jīng)過該鏈。
Netfilter 的另一部分是知道這些鉤子函數(shù)如何工作的一套規(guī)則,Netfilter 將這些規(guī)則分類存儲在被稱為表的數(shù)據(jù)結(jié)構(gòu)之中,常用的表有:
(1)conntrack:連接跟蹤表,用來跟蹤和記錄連接狀態(tài)。
(2)filter:過濾表,過濾數(shù)據(jù)包,對數(shù)據(jù)包不作任何修改,或接受,或拒絕。
(3)Nat:網(wǎng)絡(luò)地址轉(zhuǎn)換表。
(4)Mangle:重組表,在這里可以對數(shù)據(jù)包進(jìn)行修改和標(biāo)記。鉤子函數(shù)通過訪問表來判斷應(yīng)該返回什么值給內(nèi)核。
在江蘇省計算機(jī)網(wǎng)絡(luò)管理員高級技師考試中,出現(xiàn)有關(guān)數(shù)據(jù)安全、網(wǎng)絡(luò)安全管理與服務(wù)器系統(tǒng)運行維護(hù)考核內(nèi)容如下:
1.1 數(shù)據(jù)安全、網(wǎng)絡(luò)安全管理與服務(wù)器系統(tǒng)運行維護(hù)
在Linux下使用iptable作防火墻,設(shè)置以下規(guī)則:
(1)禁止ip 地址192.168.1.5 從eth0訪問本機(jī),截圖保存為1.jpg。
圖1 截圖1
(2)禁止子網(wǎng)192.168.5.0 從eth0訪問本機(jī)的web服務(wù),截圖保存為2.jpg。
圖2 截圖2
(3)禁止ip地址192.168.7.9從eth0訪問本機(jī)的ftp服務(wù),截圖保存為3.jpg。
圖3 截圖3
1.2 數(shù)據(jù)安全、網(wǎng)絡(luò)安全管理與服務(wù)器系統(tǒng)運行維護(hù)
在Linux上使用iptable實現(xiàn)NAT服務(wù),并設(shè)置以下規(guī)則:
(1)禁止所有客戶機(jī)使用qq,截圖保存為4.jpg。
假設(shè)QQ軟件采用的 tcp/udp 協(xié)議進(jìn)行傳輸數(shù)據(jù),端口通常采用的是8000,所以:
圖4 截圖4
(2)禁止Internet上的計算機(jī)通過icmp協(xié)議ping 到Linux服務(wù)器的pppoe接口,截圖保存為5.jpg。
圖5 截圖5
(3)發(fā)布內(nèi)網(wǎng)192.168.2.5主機(jī)的 web 服務(wù)到Internet,截圖保存為6.jpg。
圖6 截圖6
(4)禁止用戶訪問域名為 www.playboy.com的網(wǎng)站,截圖保存為7.jpg。
圖7 截圖7
(5)在linux上實現(xiàn)智能的dns服務(wù),截圖保存為8.jpg。關(guān)于實現(xiàn)智能的dns服務(wù),主要是為了實現(xiàn)負(fù)載均衡。
如果內(nèi)部服務(wù)器存在多臺相同類型應(yīng)用的服務(wù)器,可以使用DNAT,將外部的訪問流量分配到多臺Server上,實現(xiàn)負(fù)載均衡,減輕服務(wù)器的負(fù)擔(dān)。有如下場景:
公司內(nèi)部共有3臺數(shù)據(jù)相同的Web服務(wù)器,IP地址分別為192.168.0.10、192.168.0.11以及192.168.0.12,防火墻外部地址為212.226.100.23,為了提高頁面的響應(yīng)速度,需要對Web服務(wù)器進(jìn)行優(yōu)化。
圖8 截圖8
案例分析:蘇州熱拍網(wǎng)絡(luò)公司企業(yè)員工80-100 人左右,采用單臺防火墻即能滿足企業(yè)網(wǎng)絡(luò)需求,可以把企業(yè)網(wǎng)絡(luò)按以下思路進(jìn)行設(shè)計。防火墻把網(wǎng)絡(luò)分成三塊:eth0 連接互聯(lián)網(wǎng)(Internet),eth1 連接內(nèi)部網(wǎng)(Intranet),eth2 連接 DMZ。假如出口的 IP 為靜態(tài)的,地址為 10.1.1.1/8,出口的下一跳為10.1.1.2/8,內(nèi)網(wǎng)的 IP 地址為 172.17.1.0/24,內(nèi)網(wǎng)的網(wǎng)關(guān)為172.17.1.254/24,DMZ 的 IP 地址為 172.17.8.0/24,DMZ的 網(wǎng)關(guān) 為 172.17.8.254/24,Web 服 務(wù) 器 的 IP 地 址 為172.17.8.80/24,F(xiàn)TP 服務(wù)器的 IP 地址為 172.17.8.21/24。
配置防火墻的思路步驟如下:
(1)清空防火墻默認(rèn)配置:[root@compute~]#iptables -F
(2)配置防火墻的 IP 地址,修改以讓其臨時生效。
(3)在防火墻上啟用路由
(4)在防火墻上配置 SNAT,讓內(nèi)網(wǎng)用戶上網(wǎng)
(5)在防火墻上配置 DNAT,讓外網(wǎng)的用戶能訪問到 DMZ的WEB 與 FTP 服務(wù)器
本文通過對我省計算機(jī)網(wǎng)絡(luò)管理高級技師考試題的分析,引出設(shè)計了中小型企業(yè)網(wǎng)絡(luò)防火墻設(shè)計解決方案。防火墻作為互聯(lián)網(wǎng)中使用最廣泛的安全措施之一,應(yīng)用廣泛。而 Linux 作為目前唯一在全球范圍內(nèi)廣泛接受和應(yīng)用的開源操作系統(tǒng),所提供的靈活性和可操作性為開發(fā)和配置防火墻及按特定網(wǎng)絡(luò)環(huán)境的要求構(gòu)建防火墻提供了一個價格低廉、性能優(yōu)良的平臺,日益受到眾多企業(yè)和個人用戶的廣泛接受。防火墻技術(shù)是網(wǎng)絡(luò)安全中的一大關(guān)鍵技術(shù),在Internet的發(fā)展中,防火墻技術(shù)的發(fā)展起到了舉足輕重的作用。
[1]2016年江蘇省計算機(jī)網(wǎng)絡(luò)管理高級技師樣題.
[2]楊云,馬立新.網(wǎng)絡(luò)服務(wù)器搭建、配置與管理—Linux版[M].北京:人民郵電出版社,2011.
[3]陳勇勛.Linux網(wǎng)絡(luò)安全技術(shù)與實現(xiàn)(第2 版)[M].北京:清華大學(xué)出版社,2012.