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








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

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