◆郭 冰 楊海艷
?
淺談一種改進的綜合包過濾防火墻的設計與應用
◆郭 冰1楊海艷2
(1.惠州商貿旅游職業技術學校 廣東 516025;2.惠州城市職業學院 廣東 516025)
隨著網絡的發展,企業的網絡安全、數據安全也越來越受到企業的重視,防火墻是解決企業數據安全的最佳手段,企業防火墻一般架構在Intranet與Internet之間,是保護企業內部數據安全的一道最基本的屏障,本文以開源的CentOS Linux操作系統防火墻為研究對象。以工程化的形式通過對防火墻的原理進行分析以及防火墻技術進行研究,最終建立一個改進的綜合包過濾防火墻以保障內網數據安全。
防火墻;包過濾;數據安全
防火墻是一種形象的說法,實際不是用來防火,是一組由硬件和軟件構成的網絡設備,一般部署在企業內部網絡與外部網絡之間,或者信任區域和非信任區域之間,用于防范外部用戶非法訪問企業內部網絡數據,主要是對內網部流入流出的數據進行安全審計,通過一些列的訪問控制規則、驗證工具、包過濾和應用網關對所有的通信流量做出允許通過和拒絕通過的動作。
代理服務器: 代理服務器因為檢查所有應用層的信息包,并將檢查的內容信息放入決策過程,從而提高網絡的安全性所以代理服務器也叫應用型網關。
狀態監測防火墻:此種防火墻相對于其他防火墻,安全性能有所提升,集成了幾種防火墻的優點,他在防火墻的核心部分建立數據連接,檢查數據報的狀態信息,可以這樣說,狀態檢測包過濾防火墻規范了網絡層和傳輸層的行為。
包過濾防火墻:在現實生活中,要郵寄大件的貨物時,要把大件的貨物拆分,分成小件小件的包裹,然后給每個小件的包裹貼上標簽以及運送目的地,在TCP/IP參考模型中,用戶的數據也必須分割成特定大小的數據包,然后給數據包添加上源IP以及目的IP地址信息以及順序號,當數據包經過路由器時,路由器會讀取數據包中的IP地址信息,然后選擇一條合適的物理線路發數據包發送給目的地。包過濾防火墻在處理數據包時對用戶來說是透明的,它不記錄數據包的來源信息,對于使用IP地址欺騙技術的的用戶很難追蹤其源頭,黑客們通常偽裝一些列的源IP地址,一旦有一個包通過了防火墻,黑客便可以利用這個IP地址偽裝他們發送的數據包信息通過包過濾防火墻。
為了解決當前包過濾防火墻各的不足,改進的綜合包過濾防火墻的設計把當前的包過濾防火墻、代理服務器以及狀態監測等類型的防火墻結合起來,采用多堡壘主機的架構設計,這樣做的優勢在于:提高系統效能,增加系統冗余,分離數據和程序。新型綜合型防火墻可以讓一臺堡壘主機處理對于內部網用戶比較重要的服務,而讓另外一臺堡壘主機處理向外部網絡提供的服務,如此一來,內外部用戶互不干擾,互不影響。
企業現計劃用一臺Linux服務器充當網關,為了保障企業內部的網絡安全,需要使用Linux服務器系統的防火墻功能,做適當的配置,以確保企業內網的安全,具體的要求有:允許內網samba,smtp,pop3,連接;允許dns連接;允許外網vpn連接;為了防止DoS太多連接進來,那么可以允許最多15個初始連接,超過的丟棄;禁止icmp通信即不允許ping;內網轉發;防止輕量級的SYN攻擊;允許 vpn客戶走vpn網絡連接外網星期一到星期六的8:00-12:30禁止qq通信以及網頁版QQ通信;禁止ay2000.net。
一般做為NAT的計算機同時也是局域網的網關,該機有兩塊網卡eth0、eth1,eth0連接內網,IP為192.168.223.254;eth1連接局域網,IP為202.21.88.88,通過相關命令配置好服務器的IP地址。
打開服務器的路由轉發功能:
【echo 1 > /proc/sys/net/ipv4/ip_forward】
允許內網samba,smtp,pop3,連接:
【iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT】允許samba連接
【iptables -A INPUT -p tcp -m multiport --dports 110,80,25 -j ACCEPT】允許smtp連接
為了防止DoS太多連接進來,允許最多15個初始連接,超過的丟棄:
【iptables -A INPUT -s 192.168.0.0/24 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT】
允許DoS連接:
【iptables -A INPUT -i ppp0 -p tcp --syn -m connlimit --connlimit-above 15 -j DROP】
DoS連接超過15個后丟棄
禁止icmp通信不允許ping:
【iptables -A INPUT -p icmp -m limit --limit 3/s -j LOG --log-level INFO --log-prefix "ICMP packet IN: "】
【iptables -A INPUT -p icmp -j DROP】
內網轉發:
【iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE 】
防止輕量級的SYN攻擊:
【iptables -N syn-flood】
【iptables -A INPUT -p tcp --syn -j syn-flood 】
【iptables -A syn-flood -j REJECT 】
允許 vpn客戶走vpn網絡連接外網:
【iptables -P FORWARD DROP】
【iptables -A FORWARD -p gre -s 192.168.0.0/24 -j ACCEPT】
【iptables -A FORWARD -p icmp -s 192.168.0.0/24 -j ACCEPT】
星期一到星期六的8:00-12:30禁止qq通信:
【iptables -I FORWARD -p udp --dport 53 -m string --string "tencent" -m time --timestart 12:30 --timestop 23:59 --days Mon,Tue,Wed,Thu,Fri,Sat -j DROP】
【iptables -I FORWARD -s 192.168.0.0/24 -m string --string "qq.com" -m time --timestart 0:01 --timestop 7:59 --days Mon,Tue,Wed,Thu,Fri,Sat -j DROP】
隱藏防火墻的存在:
【iptables -A FORWARD -p TCP --dport 22 -j REJECT --reject-with tcp-reset】
REJECT:類似于DROP,但向發送該包的主機回復由--reject-with指定的信息,從而可以很好地隱藏防火墻的存在。
IP規則的保存與恢復:
【iptables-save】把規則保存到文件中,再由目錄rc.d下的腳本(/etc/rc.d/init.d/iptables)自動裝載,使用命令【iptables-save】來保存規則。一般用【iptables-save > /etc/sysconfig/iptables】生成保存規則的文件 /etc/sysconfig/iptables,也可以用【service iptables save】它能把規則自動保存在/etc/sysconfig/iptables中。當計算機啟動時,rc.d下的腳本將用命令iptables-restore調用這個文件,從而就自動恢復了規則。
防火墻的設計好與壞,關系到企業內部的數據安全,但是再好的防火墻能也只能解決大部分的網絡安全問題,因為機器畢竟是機器,網管人員必須明白不可過分依賴防火墻。比如,防火墻不能防患繞過防火墻的攻擊,防火墻不能防止收到病毒感染的文件或軟件,防火墻不能防止驅動式攻擊等等。