摘 要
在網絡技術不斷發展的今天, 網絡在帶給我們便捷高效的生活的同時也伴隨著各式各樣的網絡安全問題。近幾年來不斷爆發各種網絡安全事件如 12306 泄密事件,棱鏡事件等,都在警示著我們不能忽視網絡安全問題。防火墻作為防止網絡攻擊的一種主要方式,通常被用作阻止不合法的連接和將內部網絡從不安全的網絡中分割出來。iptables 表鏈規則作為 Linux 防火墻過濾數據包的依據,是服務器安全策略的具體實現, Linux 防火墻的防御能力直接受過濾規則配置的好壞的影響。 Linux 為我們提供了防火墻框架 Netfilter,我們能夠使用用戶空間模塊工具-- iptables 在該框架上實現防火墻功能。iptables 提供了日志功能錄數據包的各種信息,使得我們能夠根據日志信息及時發現網絡攻擊,改進我們的配置,從而配置出更為安全的 Linux 防火墻。
本文基于個人 Linux 主機對于防火墻的需求,通過使用 Linux 防火墻工具Netfilter/Iptables 對防火墻進行配置,設計并實現了一個基于 Linux 操作系統的狀態檢測包過濾防火墻,最后通過使用 SSH Secure Shell 等測試工具驗證了防火墻的安全性和有效性。具體的研究內容和成果如下:
1、 本文基于防火墻系統中的 netfilter/iptablesIP 過濾包系統實現了常見協議的狀態檢測功能,通過狀態檢測功能我們能夠降低常見包過濾防火墻因檢查每個報文頭文件所帶來的資源浪費和時延,從而大大減低了個人主機因防火墻所帶來的額外開銷。
2、 針對 Linux 用戶主機,分析常見 DDoS 的攻擊原理和攻擊方法,通過分析和調節 Linux 主機下/proc 目錄下各個文件,并通過 netfilter/iptablesIP 過濾包系統為用戶添加相應的的規則鏈,設計實現了 SYN Flood、ping Flood 和端口掃描攻擊的防御模塊。最后通過測試,該防火墻能夠抵御常見的 DDoS 攻擊,并對用戶主機的性能影響較小。
關鍵詞: 防火墻; 狀態檢測; 拒絕服務攻擊; 過濾規則
ABSTRACT
With the development of Internet,the Internet brought us convenient and efficient life while also accompanied by a variety of network security issues. In recent years,a variety of network security incidents continue to erupt as 12306 leaks,The Background of Prism event. This security issues are warning us that we should not ignore the importance of network security. Firewall as a major way to prevent network attacks,is often used to prevent illegal connections and the internal network from insafe networks segmented. Linux Packet Filtering Firewall filters packets based on iptables bracelet rule,iptables embodies the security policy of servers. The defense capability of our Linux firewall is directly affected by the quality of our filtering rules.
Linux provides us with a firewall frame-- Netfilter,we can use iptables to realize the firewall function based on Netfilter frame.Iptables also provides powerful log functions,which can help us to record a variety of information,so that we can detect network attacks according to the log information,and according to the log we can improve our iptables rules and help to configure a more secure Linux firewall.
Based on the demand for personal computer firewall,we can design and implement a Linu operating system based stateful inspection packet filtering firewall by using the tool—Netfilter/Iptables.and finally by using SSH Secure Shell and other testing tools and method,we verify the firewall The safety and efficacy. Specific research contents and results are as follows:
Based on netfilter/iptables of firewall system, we achieve the state detection function of the common protocol packet through the IP filtration system .Compare with common packet filtering firewall, by using state detection function we can reduce waste of resources and delay . Because common packet filtering firewall need to examine each packet header, thus the state detection can greatly reduce the overhead additional spending of firewall that build in the linux.
In connection with the demand of Linux hosts, we analyze the principle and methods of the DDoS attack, by analyzing and adjusting each file of / proc directory under the Linux host, and by using netfilter/iptables IP packet filter system,we can add some appropriate rules chain for users, designing and implementing an DDoS module against the SYN Flood, ping Flood and port scan attack. Finally, through testing, the firewall can resist most of DDoS attacks, and have a less impact on the performance of Linux hosts.
KEY WORDS: Firewall; State Inspection; DDoS; Filtering rules
在過去的幾十年里,計算機技術持續發展更新,互聯網逐漸成為了人們日常生活不可缺少的一部分,每天都有大量的移動和本地客戶端設備接入到因特網中。近年來,我國互聯網市場規模和用戶體量高速增長,截至 2014 年 12 月底,網站總量保持規;l展,為 364.7 萬個,網站使用的獨立域名為 481.2 萬余個,互聯網接入服務商達到了 1068 家,網民規模達到了 6.49 億,手機網民規模達5.57 億,互聯網普及率達到 47.9%,與此同時,信息化的迅猛發展也帶來諸多網絡安全威脅等伴生性問題。我國基礎網絡仍存在較多漏洞風險,云服務日益成為網絡攻擊的重點目標,域名系統面臨嚴峻的 DDoS 攻擊,針對重要網站的 DNS解析篡改的攻擊頻發。網絡攻擊威脅日益向工業互聯網領域滲透,已發現我國部分地址 感染專門針對工業控制系統的惡意程序事件。分布式反射型的拒絕服務攻擊日趨頻繁,各種病毒,木馬活動十分猖獗,使得互聯網面臨前所未有的挑戰各種各樣的網絡安全問題接踵而來。
DDoS 攻擊是不法之徒為了獲取某種經濟上的利益或者是滿足個人的探究欲望而進行的攻擊行為,另外由于 DDoS 攻擊技術門檻逐年降低,因此基于 DoS上的 DDoS 攻擊技術不斷進步,呈現出了攻擊頻率不斷升高、攻擊流量規模不斷增大,攻擊方式更加多樣化等特征。2013年3月起,CNCERT/CC針對rejoice2013、darkness、darkshell、imddos、風云、獵鷹、腦殘片制造機、雪花、幽幽、殘殼、毀滅等常見 DDoS 工具開展抽樣監測。根據監測數據表明,使用上述 DDoS 工具進行的分布式拒絕服務攻擊事件規模巨大,每天幾十萬臺主機在不知情的情況下被黑客利用而成為用作發起 DDoS 攻擊的“肉雞”,有每天都有成千上萬臺主機正在遭受到 DDoS 攻擊,因而逐漸變成威脅中國網絡安全的一個重要因素。
而防火墻作為保護計算機以及網絡的安全的一種重要方法,在多年防御網絡攻擊的過程中,也取得了長足的進步。防火墻技術是通過硬件設備或者軟件的組合應用對網絡信息進行分離、分析和限制來實現對網絡數據資源和用戶信息保護的一種訪問控制技術。防火墻控制訪問功能是根據用戶或者企業制定好的過濾規則和系統配置為基礎,對所有經過防火墻的數據報文分析、處理,分離出準許訪問的那部分并予以通過實現的。
當終端用戶不僅使用防火墻軟件保護自己的網絡免受攻擊,而且也幫助管理自己的內部網絡數據。由于在市面上,適合企業使用的高性能軟件或者硬件防火墻均價格昂貴,對于大多數創業公司和小型企業,他們迫切需要網絡防火墻來保證服務器的數據安全,而這筆費用的確會成為制約公司發展的一個因素。幸運的是, Linux 幾乎具備所有的網絡功能和開放源碼的工具軟件,利用 kernel 中的netfilter 模塊,我們可以根據個人自身的需求,搭建出足以媲美大部分商用防火墻的具備高效率、低成本、持續穩定和高安全性的 Linux 防火墻。
防火墻由最初的包過濾技術、應用代理技術到目前的下一代防火墻(NextGeneration Firewall)技術,經過了幾代人不斷的努力。其中檢測包過濾技術由于使用簡單、高效率等優勢,很快便在防火墻領域應用開來。但是使用包過濾技術的防火墻無法提供深度的防御,不能防御 IP 欺騙和一些網絡攻擊。應用代理防火墻雖然由于工作在 OSI 模型的第七層能夠為我們提供深層數據的檢測,但是對于不同的應用協議,防火墻需要開發相對應的程序,程序的兼容性需要提高。通過分析國內外防火墻測試報告數據,我們可以看出代理防火墻在互聯網高度發展的當今社會已經滿足不了保護網絡安全的重任了目前,大多中小型企業仍然使用傳統的防火墻技術即簡單包過濾技術來節省開支,包過濾防火墻技術仍然停留在檢測網絡層和傳輸層的數據包報頭信息的檢測上,通過匹配過濾規則,按照設定的規則選擇放行或者丟棄數據包。而目前 Web 2.0 應用正在蓬勃發展,海量應用都是運行在 OSI 模型的應用層,但簡單包過濾防火墻卻無法覆蓋到應用層,無法有效地識別和判斷應用層數據,更不用說檢測應用程序所攜帶的而已代碼了,很顯然簡單包過濾與當前的網絡安全環境是格格不入的。
當前大量的網絡威脅和網絡攻擊都是來自應用層,并且其規模和頻率在逐年增強,攻擊手段也趨于多樣化。顯然在當前網絡環境中,傳統防火墻已無法滿足網絡安全的需求了。CheckPoint 作為全球一流的互聯網安全解決方案供應商第一個提出了狀態檢測這一個概念,狀態檢測防火墻能夠通過在 OSI 模型的網絡層讀取數據包并取得檢測需要的信息,最后根據過濾規則完成對連接的判斷來決定接受或者拒絕該數據包。與簡單包過濾防火墻相比較,狀態檢測防火墻首先能夠從數據包中提取更多有用的數據并對信息進行相應的處理操作,提高了防火墻的安全性。其次在狀態檢測防火墻中當連接建立起來之后我們就無需去檢測該連接的數據報文,因而擁有更高的效率。最后,狀態檢測防火墻可以通過產生新的安全策略和過濾規則來兼容一個新的應用程序,因而可擴展性更好。
只需要簡單的配置就能夠實現集中式管理,從而保障了大型網絡間安全策略的同步,降低了運營費用。
防火墻雖然在從簡單包過濾技術發展到集成多種技術得到了不小的進步,但是隨著網絡攻擊方式的多元化和攻擊規模的增大,我們仍需要不斷研究新技術以應對當前和未來的網絡威脅,因為基于包過濾技術的防火墻仍然是當下主流,而當前的防火墻主要是對已知漏洞和攻擊的防范,而在未來,對未知的網絡攻擊如何進行提前預判和進行防御仍然是防火墻發展過程中不得不要解決的問題。要應對未來防火墻的威脅,我們必須使我們的防火墻更加智能化:
首先,防火墻必須能夠預知網絡威脅。通過不間斷地監控收集網絡數據變化并分析這些數據變化來產生網絡運行正常時的特征。同時對比分析當前的網絡數據流并與正常運行的數據特征進行比較,主動查找出危害網絡安全環境的因素并及時將它消除。
其次,以人為本應當作為防火墻的一個重要原則。 未來防火墻應當像網絡攻擊在更大空間上發揮人的主觀能動性,不斷降低對防火墻技術知識的依賴程度,使得用戶能夠根據自身的需求搭建出滿足自身需求的網絡環境。
Linux防火墻開發設計:
SSH 工作流程
HTTP 工作流程
實驗拓撲圖
SSH secure Shell 登錄
FTP 測試結果
目 錄
第一章 緒論
1.1 論文的研究背景及意義
1.2 防火墻研究現狀與發展趨勢
1.3 論文的研究內容和組織結構
1.3.1 論文的主要工作
1.3.2 論文的組織結構
第二章 網絡安全基本概念
2.1 我國網絡安全概況
2.2 常見的網絡攻擊
2.2.1 拒絕服務攻擊
2.2.2 分布式拒絕服務攻擊
2.2.3 欺騙攻擊
2.2.4 緩沖區溢出攻擊
2.2.5 社會工程學攻擊
2.3 常見的分布式拒絕服務攻擊
2.3.1 smurf 攻擊
2.3.2 Trinoo 攻擊
2.3.3 Land 攻擊
2.3.4 死亡之 ping 攻擊
2.3.5 SYN Flood 攻擊
2.3.6 DRDoS 攻擊
2.4 本章小結
第三章 Linux 防火墻
3.1 防火墻簡介
3.2 防火墻的判別依據
3.2.1 各層封包包頭的信息
3.2.2 包的數據內容
3.2.3 連接狀態
3.3 防火墻技術的分類
3.3.1 包過濾技術
3.3.2 應用代理技術
3.3.3 狀態檢測技術
3.4 常見的防火墻結構
3.4.1 單機防火墻
3.4.2 網關式防火墻
3.4.3 通透式防火墻
3.5 Linux 防火墻框架
3.5.1 Netfilter/Iptables 架構簡介
3.5.2 Netfilter/Iptables 模塊化工作框架
3.5.3 Iptables——Netfilter 使用工具
3.6 防火墻技術發展
3.7 本章小結
第四章 Linux 防火墻系統總體設計
4.1 系統設計需求
4.2 狀態檢測模塊的設計
4.2.1 狀態檢測的概念
4.2.2 iptables 狀態檢測的實現
4.3 防火墻日志
4.3.1 日志的概念
4.3.2 Linux 系統日志
4.3.3 Iptables 防火墻日志
4.4 防火墻的初始化
4.4.1 防火墻的內核配置
4.4.2 防火墻的 shell 腳本的創建
4.4.3 刪除已經存在的規則
4.4.4 防火墻的默認策略
4.4.5 重置和停止防火墻
4.5 狀態檢測的實現
4.5.1 SSH 協議的狀態檢測
4.5.2 FTP 協議的狀態檢測
4.5.3 DNS 協議的狀態檢測
4.5.4 HTTP 協議的狀態檢測
4.6 網絡攻擊模塊
4.7 本章小結
第五章 Linux 防火墻的測試
5.1 防火墻的開啟與停止
5.2 實驗環境的設置
5.3 防火墻的測試
5.4 本章小結
第六章 總結與展望
6.1 總結
6.2 展望
參考文獻
發表論文和參加科研情況說明
致 謝
(如您需要查看本篇畢業設計全文,請您聯系客服索。