程 偉
淮海戰(zhàn)役烈士紀念塔管理局,江蘇 徐州 221009
網(wǎng)絡(luò)防火墻是處于計算機和連接的網(wǎng)絡(luò)之間的軟件,其主要功能是對流經(jīng)它的網(wǎng)絡(luò)通信進行掃描,過濾掉不安全服務(wù),控制非法用戶對指定站點的訪問、監(jiān)視Internet安全和預警的端點。傳統(tǒng)的防火墻主要有分包過濾、應(yīng)用級網(wǎng)關(guān)、代理服務(wù)器和狀態(tài)檢測型四種類型。
防火墻可以關(guān)閉不使用的端口,可以禁止特定端口的流出通信,還能拒絕對特定站點的訪問,防止入侵,防止互聯(lián)網(wǎng)外的病毒傳播到內(nèi)網(wǎng)、防止資源盜用等。
隨著網(wǎng)絡(luò)技術(shù)的高速發(fā)展和應(yīng)用的不斷增多,新一代防火墻應(yīng)運而生。其特點是面向應(yīng)用層設(shè)計,能夠識別用戶、應(yīng)用和內(nèi)容,具備全面的安全防護能力。能實現(xiàn)智能識別與控制,應(yīng)用內(nèi)容防護及應(yīng)用層高性能,提供萬兆級應(yīng)用層安全防護能力,在確保網(wǎng)絡(luò)安全的同時,不讓網(wǎng)絡(luò)出現(xiàn)性能瓶頸。
Linux系統(tǒng)下實現(xiàn)軟件防火墻功能,是基于主機的網(wǎng)絡(luò)安全解決方案。我們可以利用合適的軟硬件平臺和防火墻設(shè)計搭建防火墻系統(tǒng)。此種設(shè)計需要提供對主機進行安全保護,即對主機與局域網(wǎng)以外的主機進行數(shù)據(jù)傳輸時實施安全保護,同時要提供良好的人機接口界面,具有易操作、易管理的特點。
基于Linux系統(tǒng)的個人防火墻系統(tǒng)一是要具備包過濾功能,通過檢查單個包的地址、協(xié)議、端口等信息來決定是否允許此數(shù)據(jù)包通過。二是網(wǎng)絡(luò)地址轉(zhuǎn)換能夠把內(nèi)部網(wǎng)絡(luò)的 IP 子網(wǎng)放置在一個或一組外部 IP 地址之后,把所有的請求都偽裝成來自一個地址。三是基于IP地址對通過防火墻各個網(wǎng)絡(luò)接口的流量進行控制,利用用戶登錄來控制用戶的流量,防止某些應(yīng)用或用戶占用過多資源。
在TCP/IP網(wǎng)絡(luò)中,綁定特定端口后,可以持續(xù)監(jiān)聽該端口,一旦監(jiān)聽到符合條件的請求,可以同客戶端建立連接,進行監(jiān)聽、檢查、評估、轉(zhuǎn)發(fā)、拒絕等動作。
本設(shè)計方案防火墻設(shè)置方便易用,能夠?qū)崿F(xiàn)所有數(shù)據(jù)都必須通過防火墻,且只有合法數(shù)據(jù)可以通過防火墻功能,而防火墻本身又不受攻擊影響。
IPTABLES內(nèi)建于Linux內(nèi)核,是一種在系統(tǒng)之間拒絕、接受路由數(shù)據(jù)包的基本防火墻工具。IPTABLES構(gòu)建局域網(wǎng)防火墻是一種交互式應(yīng)用。在TCP/IP網(wǎng)絡(luò)中,把指定的規(guī)則綁定到指定端口后,后臺程序就持續(xù)監(jiān)聽,當監(jiān)聽到符合條件的請求,該服務(wù)同客戶端建立一個連接響應(yīng)請求,并繼續(xù)監(jiān)聽。IPTABLES對內(nèi)網(wǎng)、外網(wǎng)請求都會進行監(jiān)聽、檢查、評估、轉(zhuǎn)發(fā)、拒絕等反應(yīng)。
IPTABLES防火墻規(guī)則配置一是先允許所有的包進入,再拒絕不符合要求的包通過。第二種更為安全的方法是先禁止所有的包,再按所需的服務(wù)允許特定的包通過防火墻。IPTABLES是通過對機器的ip地址作為標志進行管理的,所以首先要完成對局域網(wǎng)內(nèi)機器的ip地址分配。
用1臺裝有2塊網(wǎng)卡的計算機、1臺交換機 及2臺普通計算機,組成一個局域網(wǎng)。系統(tǒng)為linux redhat 9.0 版,按照IPTABLES的規(guī)則配置,網(wǎng)卡內(nèi)網(wǎng)地址設(shè)置為192.168.0.1(eth0),外網(wǎng)地址設(shè)置為219.230.215.130(eth1)。








看上面的腳本init部分中的iptables -P INPUT DROP內(nèi)容是給防火墻設(shè)置默認規(guī)則。當進入計算機的數(shù)據(jù)不匹配任何一個條件時,就由默認規(guī)則來處理這個數(shù)據(jù)丟棄,不給發(fā)送方任何應(yīng)答。如非法入侵者用namp工具對電腦進行端口掃描,會提示計算機處于防火墻的保護之中。
將iptables -P INPUT DROP 去掉,在腳本的最后面加上如下內(nèi)容:

這樣非法入侵者雖然能掃描出所開放的端口,但很難知道機器處在防火墻的保護之中。如果你只運行了ftp并且僅對局域網(wǎng)內(nèi)部進行訪問, 非法入侵者很難知道你是否運行了ftp。給不合法進入的數(shù)據(jù)一個欺騙性的回答,而不是丟棄后就不再理會。
Linux構(gòu)造防火墻在實現(xiàn)給Linux服務(wù)器或者內(nèi)部LAN提供防火墻過程中,IPTABLES能夠?qū)崿F(xiàn)突出的過濾功能及靈活性,同時具備低成本優(yōu)勢。
[1][美]拉什著.Linux防火墻[M].陳健,譯.人民郵電出版社,2009-06-01.
[2][美]Bob Toxen.Linux安全:入侵防范、檢測、恢復.機械工業(yè)出版社,2002,1.
[3]William R.Cheswick著.防火墻與因特網(wǎng)安全[M].戴宇坤,譯.機械工業(yè)出版社,2000,4.