




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
淮陰工學院畢業設計說明書(論文)第Ⅰ頁共Ⅰ頁目錄TOC\o"1-4"\h\z\u1引言 11.1選題背景 11.2目的和意義 21.3系統設計思想 21.4開發工具簡介 32Linux防火墻的需求分析 42.1Iptables(Linux防火墻管理程序)主要功能 42.2包過濾原理 43系統的總體設計 53.1系統功能總體設計 53.2拒絕與禁止一個數據包 63.3制定安全策略 73.4包過濾的設計 74詳細設計 104.1Linux環境下網絡設置 104.2Linux環境下安全保障設計 144.3阻截常用攻擊設計 174.4過濾TCP協議設計 194.5過濾ICMP信息設計 234.6域名(DNS)服務設計 255防火墻測試與性能分析 255.1攻擊測試 255.2協議過濾測試 26結論 28致謝 29參考文獻 30附錄: 31淮陰工學院畢業設計說明書(論文)第29頁共37頁1引言Linux是一套免費使用和自由傳播的類Unix操作系統。我們通常所說的Linux,指的是GNU/Linux,即采用Linux內核的GNU操作系統。GNU代表Gnu’sNotUnix。它既是一個操作系統,也是一種規范。Linux最早由芬蘭的林納斯.托瓦茲在1991年開始編寫。在這之前,理查德.斯托曼創建了FreeSoftwareFoundation(FSF)組織以及GNU項目,并不斷的編寫創建GNU程序(程序的許可方式均為GPL:GeneralPublicLicense)。在不斷的有程序員和開發者加入到GNU組織中后,便造就了今天我們所看到的Linux。在當今互聯網迅速發展的年代,Linux作為一款后起之秀的操作系統,以其公開的源代碼、強大的網絡功能和大量的免費資源正受到業界的普遍贊揚,它不僅是完全免費的,而且具有豐富的網絡功能、高可靠的安全、穩定性能,并且具有多用戶、多任務,支持多種平臺等顯著優點,尤其在服務器領域,它正越來越受到人們的歡迎。1.1選題背景隨著計算機和互聯網技術的快速發展以及在越來越多的應用領域中的迅速普及,人類對計算機和互聯網的依賴程度越來越高,因此增加計算機系統以及互聯網網絡的安全性能也變得越來越重要。防火墻作為互聯網絡中使用最廣泛的安全措施之一,伴隨著近年來互聯網的快速發展而得到廣泛的應用,同時也被證明是至今為數不多的成功的網絡安全應用實例。然而,防火墻的技術開發以及準確的系統配置和管理對于正確地發揮其在安全方面的功能至關重要。因此,專用的防火墻設備的價格昂貴,對技術和管理人員的要求也很高。另一方面,Linux作為目前唯一在全球范圍內得到廣泛接受和應用的開源操作系統,所提供的靈活性和可操作性為開發和配置防火墻以及按照特定網絡環境的要求構建防火墻提供了一個價格低廉,性能優良的平臺,日益獲得了眾多企業和個人用戶的廣泛接受。目前Internet的安全性保障不容樂觀,國家計算機網絡應急技術處理協調中心(CERT)在過去的幾年里收到的計算機安全事故報告的數量一直呈上升趨勢,1999年該中心收到了約10000份計算機安全事故報告,2000年達到了21756份,而2001年更上升到了52658份。2007年上半年,中國大陸被篡改網站的數量相比往年處于明顯上升趨勢。CNCERT/CC監測到中國大陸被篡改網站總數達到28367個,比去年全年增加了近16%。如果用戶能根據自己的實際需要,將防火墻設計的一般理論和方法與自己系統的具體實際相結合,設計一些小而精、精而強的防火墻程序,則往往可以發揮出比花大價錢買來的通用型防火墻更好的作用。操作系統作為防火墻運行的基礎平臺,對防火墻起到一個至關重要的作用。Windows操作系統由于其源代碼不公開,所以對操作系統加固安全性只能是打上微軟公司最新的補丁,當發現新Bug時等微軟公司出新的補丁。對NT防火墻的一致意見也正是在NT系統的bug上,而NT系統最大的bug就是“NT安全性遠遠不能運行一個正規的防火墻”。而Linux操作系統良好的網絡性能和開放源碼的特點,使得在其上布置防火墻有了一個可靠的基石,也使得越來越多的用戶選擇了Linux作為其防火墻的操作平臺。Linux2.4內核操作系統本身所帶有的Netfilter是一個優秀防火墻架構,其功能和性能可與多數的商業防火墻產品媲美。 1.2目的和意義目前,市面上的許多專業防火墻設備其價格非常的昂貴,少則幾千元,大則上萬元,對于一些小企業,網吧,學校以及一些非盈利組織,這些專業性的商業防火墻實在不太適合,并且在投資和安裝維護上就存在著不少問題。因此,能不能設計一個即能防范外部不安全網絡的威脅,又價格代廉的防火墻呢?答案是肯定的。在Linux環境下構建一個高效,運行穩定的防火墻是可以做到的,并且,沒有價格上的負擔,只需要一臺閑置不用的PC機,和一個Linux操作系統就可以實現我們需要的防火墻。此次的畢業設計不僅能把我平時學到的理論知識運用到實際去,而且能夠培養我分析問題,解決問題的能力。并能使我對Linux這個開源的操作系統更加的熟悉,在Linux平臺上構建一個安全,高效的防火墻,能使我對一些黑客常用的攻擊手段有深入的了解,在此基礎上分析其原理,并通過對常用傳輸協議的分析,來編寫Linux防火墻規則。1.3系統設計思想如果一個網絡連到了Internet上,它的用戶就可以訪問外部世界并與之通信。但同時,外部世界同樣也可以訪問該網絡并與之交互。為安全起見,可以在該網絡和Internet之間插入一個中介系統,豎起一道安全屏障。這道屏障的作用是阻斷來自外部網絡對網絡的威脅與入侵,提供保護本網絡的安全的唯一關卡。根據目前一些企業,網吧,學校及個人的一些實際需求,本防火墻系統的設計按照下述原則進行。1.安全性:一個防火墻(作為阻塞點和控制點)要能極大地提高一個內部網絡的安全性,并能通過過濾不安全的服務從而降低風險。由于只有經過精心選擇的應用協議才能通過防火墻,所以網絡環境變得更安全。2.增強保密性:通過利用防火墻對內部網絡的劃分,可實現內部重點網段的隔離,從而限制了局部重點或敏感網絡安全問題對全局網絡造成的影響。再者,隱私是內部網絡非常關心的問題,一個內部網絡中不引人注意的細節可能包含了有關安全的線索而引起外部攻擊者的興趣,甚至因此而暴露內部網絡的某些漏洞。3.高度的穩定性:作為防火墻的操作系統平臺必須是高可靠的,而Linux就完全可以做到這一點,Linux繼承了UNIX的優良特性,可以連續運行數月,數年而無需重新啟動,在過去十幾年的廣泛使用中只有屈指可數的幾個病毒感染過Linux。這種強免疫性歸功于Linux系統健壯的基礎架構,并且,其內核版本2.4是一個可以使用的穩定版本。4.可維護性:如果所有的訪問都經過防火墻,那么,防火墻就能記錄下這些訪問并做出日志記錄,同時也能提供網絡使用情況的統計數據。當發生可疑動作時,防火墻就能進行適當的報警,并提供網絡是否受到監測和攻擊的詳細信息。1.4開發工具簡介Shell(外殼)本身是一個用C語言編寫的程序,它是用戶與Linux聯系的橋梁。Shell既是一種命令語言,又是一種程序設計語言。作為命令語言交互式地解釋和執行用戶輸入的命令。作為程序設計語言,它定義了各種變量和參數,并提供了許多在高級語言中才具有的控制結構,包括循環和分支。它雖然不是Linux系統核心的一部分,但它調用了系統核心的大部分功能來執行程序、建立文件,并以并行的方式協調各個程序的運行。Iptables是一個用來指定Netfilter規則和管理內核包過濾的工具,它為用戶配置防火墻規則提供了方便。Iptables可以加入、刪除或插入核心包過濾表格中的規則,它的主要特點有:1.方便建立Internet防火墻和基于狀態的包過濾。2.Netfilter/iptables是完全免費的,用它來配置防火墻可以大大地節省費用。3.可以使用戶完全控制防火墻的配置和指定特殊規則對信息包進行過濾。4.用戶可以使用iptables命令在用戶空間設置過濾規則,并且可以添加、編輯和刪除這些規則。2Linux防火墻的需求分析在互聯網絡這樣的TCP/IP網絡上,所有往來的信息都被分割成許許多多一定長度的信息包,包中包含了發送者的IP地址和接收者的IP地址信息。當這些信息包被送上互聯網絡后,路由器會讀取接受者的IP并選擇一條合適的物理線路發送出去,信息包可能經由不同的路線低達目的地,當所有的包都抵達目的地后會重新組裝還原。包過濾式防火墻會檢查所有通過的信息中的IP地址,并按照系統管理員所給定的過濾規則進行過濾。2.1Iptables(Linux防火墻管理程序)主要功能Iptables是一個用來指定Netfilter規則和管理內核包過濾的工具,它為用戶配置防火墻規則提供了方便。Iptables在處理不同種類的數據包時使用不同的規則表。這些規則表由功能上相互獨立的表模塊來實現。三個主要的模塊是filter表,Nat表和對數據包進行特殊處理的mangle表。主要功能有:1、優秀的匹配規則:高級包匹配,例如速率限制和字符串匹配。2、增強的日志功能:允許自定義日志級別和實體。3、允許包撕裂:允許撕裂包中的任何信息。4、狀態匹配,連接跟蹤。5、自動碎片重裝。6、支持內置包轉發。7、狀態包過濾。另外,iptables是有狀態的,有狀態的意思是指如果一個包是對從防火墻原先發出去的包的回復,則自動不用檢查任何規則就立即允許回復包進入并返回給請求者,這樣我們不用設置許多規則定義就可實現應有的功能。2.2包過濾原理Linux內核的防火墻架構,為我們提供三個過濾點,分別是INPUT、OUTPUT、FORWARD,任何一個數據包僅僅只在這三個規則中的任何一個應用,或者被INPUT規則擊中,或者被FORWARD規則和OUTPUT規則擊中。當由外部網絡進來的一個數據包,包的頭部應該包括目的地址,目的端口號,源地址,源地址端口號以及數據包所使用的傳輸協議。首先經過一個路由模塊,判斷數據是傳給本機的還是其它主機的,如果數據是傳給本地機的,則數據要經過INPUT鏈,我們可以在這里寫一些規則,來限制進行入本地機的數據包。如果,數據不是到達本地機的,則此數據需經過FORWARD鏈轉發出去,這里,我們可以根據需求,編寫一些規則,只有符合要求的數據才能轉發,否則丟棄該數據包。當由本地機發出去的數據包,是經過OUTPUT鏈轉發出去的,此處可以設置一些規則來限制出去的數據包。3系統的總體設計防火墻設計作為網絡安全設計的一個組成部分,需要綜合考慮各方面的因素。一般來說,影響網絡安全的因素包括以下幾個方面:網絡結構、網絡協議、地域、用戶、主機和內部網絡安全策略等。其設計的一般步驟為:3.1系統功能總體設計本防火墻系統主要分為五大功能模塊,如圖3-1,每個功能模塊下又細分出若干個功能,該功能設計圖有利于防火墻系統的規則編寫,有利于防火墻功能的測試。防火墻的初始化涵蓋了許多方面,包括定義shell腳本中的全局變量,啟動內核支持服務,刪除預先存在的規則,重置默認策略,啟動回環接口,定義默認策略,以及定義一些基本規則以拒絕不合法地址并保護運行在非特權端口上的服務。我們需要啟動一些常用的TCP服務,比如E-mail是一個幾乎所有人都要用的服務。E-mail在網絡上的發送使用的是TCP服務端口25上的SMTP協議。POP是取回郵件的服務,運行在TCP端口110上。Usenet新聞組是通過運行在TCP頂層并在服務端口119的NNTP協議進行訪問的。要使用FTP服務,還得啟用TCP端口21和20,但我們不要使用TFTP。它提供了一種簡單的、無需認證的、UDP版本的FTP服務,被公認為是一個不安全的服務。無狀態的UDP協議本身就不像面向連接的TCP協議那樣安全。因此,許多對安全敏感的站點將其完全禁止,或者是對訪問UDP服務做盡可能的限制。本訪火墻系統開啟了Traceroute服務,開啟了UDP端口67和68以及允許DNS查詢。ICMP控制消息的產生是作為對一些錯誤情況的響應。它們是由網絡分析程序如Ping和Traceroute所產生的。四種ICMP控制和狀態消息需要通過防火墻:源抑制、參數問題、入站目的不可達以及出站目的不可達子類型需進行分片。圖3-1防火墻系統功能設計圖3.2拒絕與禁止一個數據包Iptables的Netfilter防火墻機制提供了拒絕還是丟棄數據包兩個選項。兩者有什么不同呢?當一個數據包被拒絕時,在丟棄該數據包的同時會給發送者返回一個ICMP錯誤消息。當一個數據包被丟棄時,該數據包被直接扔掉而不會返回任何通知給發送者,如圖3-2所示。悄無聲息、不返回任何信息地丟棄數據包通常是更好的選擇,有三個原因:第一,發送錯誤響應會使網絡通信量加倍,數據包被丟棄,大多不是因為它們只是無害地企圖訪問一個你沒有提供的服務,而是因為它們是惡意的;第二,你響應的數據包可能正是一個拒絕服務攻擊(denial-of-service,DoS);第三,任何響應,即使只是一個錯誤消息,都會給攻擊者提供潛在的有用信息。圖3-2拒絕和禁止一個數據包3.3制定安全策略安全策略的制定受到多種因素的影響,對每一個具體的網絡環境,應根據各自的具體情況制定不同的安全策略。總的來說有兩種策略:沒有被列為允許的服務都是禁止的策略和沒有被列為禁止的服務都是允許的策略。前者拒絕一切未經許可的服務,防火墻封鎖所有信息流,然后逐項使能每一種許可的服務。而后者允許一切沒被禁止的服務,防火墻轉發所有的信息,然后逐項刪除所有被禁止的服務。雖然針對具體的網絡沒有固定的安全策略,但在制定具體的安全策略時,是可以遵循一定的原則:1.支持一條“禁止一切未明確允許的服務”或“允許一切未被禁止的服務”的規則。2.在實現既定規則時不能漏掉任何一條。3.只要適當修改規則,便可以適應新的服務和需求。4.要在身份驗證和透明性之間做出權衡。5.在分組過濾時,可以針對某個具體的機器系統允許或禁止。6.對于撥號用戶集中管理,并做好過濾和日志統計工作。3.4包過濾的設計3.4.1包過濾的基本原理包過濾可以實現很廣范圍的網絡安全策略,這種安全策略主要集中在攔截入侵者。包過濾技術是在網絡層對數據包進行選擇和過濾,具有很好的透明性,選擇的依據是系統內設置的過濾邏輯,即安全規則。當數據鏈路層截取到數據分組時,將根據所收到的每個數據包的源地址、目的地址、TCP/IP源端口號、TCP/IP目的端口號等與安全規則進行匹配。如果滿足安全規則,則接受數據分組,否則拋棄分組。通過上述方法,可以過濾掉Internet和Intranet之間的非法通信數據,從而保護了內部Intranet網絡。3.4.2包過濾策略與規則在防火墻上構造安全規則,其中分為入網規則和出網規則。入網分組過濾:進入內部網的分組必須接受包過濾器過濾后流入內部網絡。出網分組過濾:離開內部網的分組必須接受包過濾器的過濾流向外部網絡。包過濾防火墻可以對數據分組中如下信息進行安全過濾:1.源地址和目的地址。2.包的類型,可以是TCP,UDP,ICMP。3.源和目的端口號。4.ICMP報文類型。5.包中的ACK和SYN標志,這是為了防止在某個特定方向上建立新的鏈接。6.某塊網卡的名字或IP地址,這樣可以指定在特定的網卡上進出包。每一個過濾規則均結合一個策略,在Linux中使用的策略有以下兩種:接受即讓該數據包通過該過濾規則;否則拋棄該數據包,并不返回ICMP包。當防火墻從某一端口接收到數據包后,從該數據包提取 IP源地址、目的地址、TCP源端口、目的端口號和協議標志,利用上述信息查詢過濾規則表,根據查詢結果來決定是轉發還是拋棄數據分組。過濾規則表中一條規則的形式化描述如圖3-3所示。圖3-3過濾規則形式化描述在查詢過濾規則表過程中,如果數據包的IP地址、TCP端口號和協議標志與某一過濾規則完全匹配,則根據過濾規則中的策略(Permit/Deny)選項來決定是接受、轉發或是拋棄數據包。通過使用過濾規則,可以阻塞或允許內部網絡和外界Internet之間的任意主機的任何一種網絡服務。包過濾防火墻可根據特定的服務允許或拒絕流動的數據包,因為可以存貯需要進行安全檢查的主機地址,而服務器的端口號實際上代表某種網絡服務。多數的網絡服務程序都與知名的TCP/UDP端口相連,例如Telnet服務器在TCP的23號端口上監聽遠端連接,而SMTP服務器在TCP的25號端口上監聽到來的Email的信息。為了阻塞所有進入的Telnet連接,包過濾防火墻只需按原則丟棄TCP端口號為23的數據包。所以在使用過濾規則時,對服務器端口號進行檢查就能接受、轉發或阻塞某種網絡服務。3.4.3包過濾規則的匹配過程包過濾流程圖描述:圖中表示的過濾規則遵循“未明確表示為允許的便被禁止”的原則。即在進行安全檢查時,防火墻將數據包按順序與過濾規則依次進行匹配,并遵循如下三條原則:如果遇到一條過濾規則允許接收該數據包,則此數據包被轉發。如果遇到一條過濾規則阻塞數據包,則該數據包被拋棄。過濾規則被全部匹配后,如果數據分組不滿足任何規則,該分組被拋棄。首先數據包在穿過防火墻時,需要經過我們預先設置好的一個個規則和分析數據包頭部的有關信息。如果第一個規則不符合要求,則應用到下一個規則,然后判斷包是否可以被傳輸,如果可以的話,則允許數據經過防火墻,否則判斷數據包是否應該被阻塞,如果滿足的話,則阻塞包,否則判斷是不是最后一個匹配規則,是的話,則轉到應用下一個匹配規則,否則阻塞數據包穿過防火墻。包過濾流程圖如圖3-4所示。圖3-4包過濾流程圖以上為本防火墻包過濾流程圖,它描述包過濾防火墻的基本數據過濾流程,而設計和實現防火墻系統的應用規則就是圍繞著本流程圖來操作的。4詳細設計4.1Linux環境下網絡設置4.1.1FTP服務器的配置1、FTP服務器的簡介FTP是FileTransferProtocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用于Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基于不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上傳"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。2、LINUX下FTP服務器的搭建一般在各種Linux的發行版中,默認帶有的ftp軟件是vsftp,從各個Linux發行版對vsftp的認可可以看出,vsftp應該是一款不錯的ftp軟件。(1)檢查vsftpd軟件是否安裝使用如下命令可以檢測出是否安裝了vsftpd軟件,rpm-qa|grepvsftpd,顯示的結果如下:如果沒有安裝的話,可以下載安裝,也可以使用軟件源進行安裝。(2)vsftpd軟件的使用使用vsftpd軟件,主要包括如下幾個命令:
啟動ftp:servicevsftpdstart
停止ftp:servicevsftpdstop重啟ftp:servicevsftpdrestart(3)vsftpd的配置ftp的配置文件主要有三個,在centos5.6中位于/etc/vsftpd/目錄下,分別是:ftpusers
該文件用來指定那些用戶不能訪問ftp服務器。user_list
該文件用來指示的默認賬戶在默認情況下也不能訪問ftpvsftpd.conf
vsftpd的主配置文件(4)下面我們使用vi編輯vsftpd.conf文件用戶登錄控制:anonymous_enable=YES,允許匿名用戶登錄。no_anon_password=YES,匿名用戶登錄時不需要輸入密碼。local_enable=YES,允許本地用戶登錄。deny_email_enable=YES,可以創建一個文件保存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。banned_email_file=/etc/vsftpd/banned_emails,保存電子郵件黑名單的目錄(默認)用戶權限控制:write_enable=YES,開啟全局上傳local_umask=022,本地文件上傳的umask設置為022,系統默認。anon_upload_enable=YES,允許匿名用戶上傳,當然要在write_enable=YES的情況下。同時必須建立一個允許ftp用戶讀寫的目錄。anon_mkdir_write_enable=YES,允許匿名用花創建目錄chown_uploads=YES,匿名用戶上傳的文件屬主轉換為別的用戶,一般建議為root。chown_username=whoever,改此處的whoever為要轉換的屬主,建議rootchroot_list_enable=YES,用一個列表來限定哪些用戶只能在自己目錄下活動。chroot_list_enable=/etc/vsftpd/chroot_list,指定用戶列表文件用戶連接和超時設置:idle_session_timeout=600,默認的超時時間data_connection_timeout=120,設置默認數據連接的超時時間4.1.2DNS服務器的配置1、DNS服務器的簡介DNS
即DomainNameSystem(域名系統)的縮寫,它是一種將ip地址轉換成對應的主機名或將主機名轉換成與之相對應ip地址的一種機制。其中通過域名解析出ip地址的叫做正向解析,通過ip地址解析出域名的叫做反向解析。2、DNS的工作原理DNS的查詢流程:需要解析服務的Client先查看本機的/etc/hosts;若無結果,則client查看本地的DNS緩存服務器;若無結果,則查找所屬域的首選DNS服務器;若此時本地首選DNS服務器仍無法解析,則會想根域名服務器進行查詢或選擇轉發解析請求。
DNS的查詢規則:遞歸式查詢,即client向支持遞歸查詢的DNSServer發出解析請求,則自DNS服務器不論是自身直接解析還是無法解析想根發出請求,總會由其向client返回一個結果;迭代式查詢,即接收client解析請求的DNSServer,若其能夠解析則直接返回結果,若其不能解析將把解析請求交給其他DNS服務器,而不是自己親自將解析過程完成。
所謂的“根”服務器:根服務器主要用來管理互聯網的主目錄,全世界只有13臺。1個為主根服務器,放置在美國。其余12個均為輔根服務器,其中9個放置在美國,歐洲2個,位于英國和瑞典,亞洲1個,位于日本。所有根服務器均由美國政府授權的互聯網域名與號碼分配機構ICANN統一管理,負責全球互聯網域名根服務器、域名體系和IP地址等的管理。
DNS記錄的類型:
A:Address域名向ip地址轉換的記錄;
PTR:Printerip地址向域名轉換的記錄;
NS:代表域內的dns服務器;
MX:代表域內的郵件服務器;
CNAME:域名的別名;
SOA:startofauthority用于標示域內主DNS服務器。2、Linux下DNS服務器的搭建提供DNS服務的軟件:BIND即BerkeleyInternetNameDomain由加州大學伯克利分校研發是當今提供DNS服務應用最廣的軟件。(1)檢查是否已經安裝Bind軟件[root@]#rpm–qabind//bind是DNS服務器進程名稱(2)創建主配置文件/etc/named.confoptions{
directory"/var/named";
#告知工作目錄};zone“.”IN
{typehint;
#聲明根域file"named.ca";
#根信息存放文件};
zone"localhost"IN{
#本地正解定義typemaster;
#類型為masterfile"localhost.zone";
#正解文件名};
zone"0.0.127."IN{
#本地反解定義typemaster;file"named.local";
#反解文件名
};
chown:named/etc/named.conf#修改屬組給named(3)創建3個解析文件#named.ca#dig-tNS.>/var/named/named.ca#向跟服務器發起查詢并重定向到目標文件
#localhost.zone#vimlocalhost.zone
$TTL86400
#默認的ttl值@
IN
SOA
localhost.
admin.localhost.(
#主DNS服務器localhost.2011081601
#時間+序列號01
1H
#刷新時間:每隔多久來master查詢更新
10M
#重試時間間隔
7D
#過期時間,如果7天仍找不到master,slave停止服務
1D
#否定答案ttl值,表示查詢不到再次查詢需要時間
)@
IN
NS
localhost.
#當前域的DNS服務器是localhost.localhost.
IN
A
#named.local#vimnamed.local$TTL86400@
IN
SOA
localhost.
admin.localhost.
(
20110816011H
10M
7D
1D
)@
IN
NS
localhost.1
IN
PTR
localhost(4)檢測配置文件語法
#named-checkconf
#named-checkzone“localhost”/var/named/localhost.zone#named-checkzone“0.0.127.”/var/named/named.local(5)開啟服務并測試#servicenamedstart#dig-tA
域名
#測試正解#dig-xip地址
#測試反解4.2Linux環境下安全保障設計4.2.1防火墻概念無論是一臺計算機還是由連接起來的計算機組成的一個局域網(LocalAreaNetwork,LAN),小型站點關心的焦點是與Internet直接相連的機器,這臺機器就是防火墻。防火墻(firewall)就是一種過濾塞,你可以讓你喜歡的東西通過這個塞子,別的都統統過濾掉。在網絡的世界里,要由防火墻過濾的就是承載通信數據的數據包,在這里是你實施安全策略的地方。防火墻的外部接口卡是與Internet的連接點或網關。防火墻的任務是保護這個網關在你這一邊的東西,防范來自另一邊的東西。天下的防火墻至少都會說兩個詞:Yes或者No。直接說就是接受或者拒絕。防火墻的形式多種多樣:有的取代系統上已經裝備的TCP/IP協議棧;有的在已有的協議棧上建立自己的軟件模塊;有的是獨立的一套操作系統,如Linux,FreeBSD等。還有一些基于硬件的防火墻產品其實應該歸入安全路由器一類。以上的產品都可以叫做防火墻,因為他們的工作方式都是一樣的:分析出入防火墻的數據包,決定放行還是把他們扔到一邊。4.2.2防火墻初始化實現1.防火墻中定義的符號常量如果為經常使用的名字或地址定義了符號常量,防火墻的腳本就極易讀懂和維護。下面列舉出防火墻里用到的部分符號常量(其它定義的常量可以參考附錄):ANYWHERE_TRACKING="1":該變量表示是否允許防火墻主機ping通其它的主機,如果該變量等于1,則表示允許,如果是其它的值則防火墻主機的ping命令將被禁止使用。TRUST_IPADDR="":該變量表示外網中受信任的主機的IP地址,這個地址的主機將允許訪問內網,防火墻對此IP地址主機所發的數據不會過濾。WEB_SERVER="1":該變量表示是否允許內網主機訪問Internet。變量等于1,表示允許,否則表示禁止。LAN_INTERFACE="eth0":該變量表示防火墻內部接口。2.啟動內核對監控的支持首先,我們應該啟動Linux內核下的一些功能,這些功能能夠使我們的防火墻的功能更加的強大,這也是選擇Linux操作系統作防火墻的原因之一。(1)啟動內核路由轉發:Linux操作系統默認是沒有啟動內核的包轉發功能的,如果作為一個防火墻,當然得開啟內核的包轉發功能,這樣,數據包才能路由到網絡上。(2)丟棄源路由包:源路由現在很少合理地使用,防火墻應該丟棄所有源路由數據包,所以啟動了此項功能。(3)啟用cookies:TCP的SYN緩沖(cookies)是一種快速檢測和防御SYN洪水攻擊的機制,防火墻可以借助他的幫助來抵擋DoS攻擊。3.刪除預先存在的規則定義一組過濾規則時,首先要做的事情就是從規則鏈中清除任何已經存在的規則。否則任何新定義的規則將加到已有的規則之后。那么,數據包在到達鏈上新定義的點之前,很容易與一個先前存在的規則匹配。刪除規則也叫做刷新規則鏈,當沒有參數直接針對特定的鏈時,下面的命令一次性刷新所有鏈上的規則:/sbin/iptables–flush規則鏈變為空,但所有用戶自定義規則鏈仍存在,刷新鏈并不影響當時處于有效的默認策略的狀態。下一步是刪除所有用戶自定義規則鏈,下面的命令可以刪除它們:/sbin/iptables–X4.重置默認策略在定義規則為丟棄之前,必須先生重置默認策略為接受策略。這樣,為能完全停止防火墻提供了方便。下面的命令可以設置默認策略:/sbin/iptables--policyINPUTACCEPT/sbin/iptables--policyOUTPUTACCEPT/sbin/iptables--policyFORWARDACCEPT這樣netfilter的框架的三個包過濾鏈全部為接受,也就說這時防火墻是允許一切數據包通過的,那為什么要這么做呢?這主要是為了能安全的停止防火墻,如果在上面的代碼的后面加上停止防火墻的代碼,那么,當我們使用參數“stop”時,程序會直接而干凈地重置默認策略并將防火墻完全停止。5.啟用回環接口有時我們需要啟用不受限的回環業務流,它使你能夠運行任何你想選擇運行任何你想選擇的或系統所依賴的本地網絡服務,而不必但心要在所有防火墻規則中一一指明。本地服務依賴于回環網絡接口。系統啟動后,系統的默認策略是接受所有的數據包,清除所有預先存在的規則鏈對此也沒有任何影響。但是,當防火墻被重新初始化時并且先前使用了默認禁止策略,丟棄策略在此時也將依然有效。在沒有任何接受規則的情況下,回環接口是不能被訪問的。5.定義默認策略使用丟棄默認策略時,除非定義規則為明確允許或拒絕一個匹配的數據包,否則數據包將被丟棄。本防火墻要做到的是,自動丟棄我們不想要的入網數據包且并不通知遠方的發送者,拒絕出網數據包并向內網發送者返回一個ICMP錯誤消息。下面的程序將防火墻的默認策略設為丟棄:/sbin/iptables--policyINPUTDROP/sbin/iptables--policyOUTPUTDROP/sbin/iptables--policyFORWARDDROP4.3阻截常用攻擊設計4.3.1秘密掃描檢測一般形式的TCP秘密掃描是可能的,因為iptables允許檢測所有的TCP狀態標記。在TCP報頭中有六個狀態位,其中URG為緊急數據標志,如果URG為1,表示本數據包中包含緊急數據。此時緊急數據指針表示的值有效,它表示在緊急數據之后的第一個字節的偏移值(即緊急數據的總長度)。ACK為確認標志位。如果ACK為1,表示數據包中的確認號有效。PSH位,表示強迫數據傳輸。RST標志位用來復位一條連接。當RST=1時,表示出現嚴重錯誤,必須釋放連接,然后再重新建立。SYN標志位用來建立連接,如果SYN=1而ACK=0,表明它是一個連接請求;如果SYN=1且ACK=1,則表示同意建立一個連接。FIN為1時,表示數據已經發送完畢,希望釋放連接。TCP報頭格式如圖4-1所示。圖4-1TCP報頭格式根據這六個標志位的不同作用,我們能夠看出,有一些組合是不合法的,所以對于這些不合法的標志位組合,我們完全可以檢查出來,以下列出的都是不合法的標志位組合。1.所有標志位都為0。2.SYN和FIN同時被置1。3.SYN和RST同時被置1。4.FIN和RST同時被置1。5.FIN位被置1,但ACK位沒有被置1。6.PSH位被置1,但ACK位沒有被置1。7.URG位被置1,但ACK位沒有被置1。4.3.2源地址欺騙攻擊在數據包一級,識別IP數據包發送者的唯一方法就是通過數據包頭中的源地址。這個事實給源地址欺騙提供了可能,在源地址欺騙中發送者在源地址字段放置了一個不是它自己地址的不正確地址。這個地址可能是一個根本不存在的地址,也可能是一個屬于其他人的合法地址。源地址欺騙可以假扮成本地的可信數據流進入你的系統,當攻擊其他站點時顯示的是你的地址,同時攻擊你的站點時又假扮其他人的地址,使你的系統疲于響應不存在地址而一直處于停頓的狀態,或者誤導你響應錯誤的入站信息的源地址,這些都是令人討厭的行為。IP報頭格式如圖4-2所示。圖4-2IP報頭格式我們通常無法檢測出欺騙地址。這些地址可能都是合法的而且可以路由,但是不屬于數據包的發送者。任何情況下,有10種必須在外部接口中禁止的源地址類型,這些入網數據包聲稱來自于下面的地址:1.你自己的IP地址:我們永遠不可能看到聲稱來自于你自己機器的合法入網數據包,聲稱來自于本地機器的入網數據包肯定是帶有欺騙性的。2.你所在局域網的地址:在防火墻的外部接口如果看到聲稱來自于你所在局域網的合法入網數據包是不可能的。在大多數情況下,這樣的數據包可能是利用本地可信關系企圖獲得某個站點的訪問權的一個環節。3.A、B和C類專用IP地址:A,B和C類這三個地址集是專門為局域網內使用而保留的,這些地址并末打算在Internet上使用。4.D類多播IP地址:D類IP地址是預留作為多點投遞網絡廣播的目的地址的,如音頻廣播或視頻廣播的目的地址,這類地址范圍是~55。5.E類保留IP地址:E類IP地址是為未來及實驗使用所預留的,這些地址沒有公開分配,~55。6.回環接口地址:回環接口是被Linux系統用來提供本地、基于網絡的服務的專用網絡接口,回環地址的范圍是~55。7.畸形廣播地址:廣播地址是應用于網絡中所有機器的特殊地址,地址是一個特殊的廣播源地址。合法的廣播源地址可以是或一個常規的IP地址。DHCP客戶機和服務器將看到來自于源地址的入網數據包,這是該源地址唯一合法的使用,但其不是一個合法的點對點單播源地址。當它作為源地址出現了一個常規、點對點、非廣播數據包中時,該地址就是偽造的。8.A類網絡的0地址:任何源地址以~55范圍的地址作為單播地址都是不合法的。9.網絡測試地址:~55的地址空間是為測試網絡而保留的。10.本地鏈路網絡地址:當DHCP客戶機不能從服務器獲得地址時,它們會為自己分配一個本地鏈路地址,這些地址的范圍是~55。4.4過濾TCP協議設計基于TCP/IP協議的服務很多,人們比較熟悉的有WWW服務、FTP服務和電子郵件服務等,不太熟悉的有TFTP服務、NFS服務、Finger服務等,這些服務都存在不同程度的安全缺陷。如果用防火墻來保護自己的服務器,需要考慮該提供哪些服務、該禁止哪些服務。4.4.1TCP連接狀態一個TCP連接是經過三次握手協商連接信息才建立起來的。整個會話由一個SYN包開始,然后是一個SYN/ACK包,最后是一個ACK包,此時,會話才建立成功,能夠發送數據。最大的問題在于連接跟蹤怎樣控制這個過程。默認情況下,連接跟蹤基本上對所有的連接類型做同樣的操作。如圖4-3所示,我們就能明白在連接的不同階段,流是處于什么狀態的。就如我們看到的,連接跟蹤的代碼不是從用戶的觀點來看待TCP連接建立的流程的。連接跟蹤一看到SYN包,就認為這個連接是NEW狀態,一看到返回的SYN/ACK包,就認為連接是ESTABLISHED狀態。有了這個特殊處理,NEW和ESTABLISHED包就可以發送出本地網絡,且只有ESTABLISHED的連接才能有回應信息。圖4-3TCP連接狀態舉一個例子:tcp6117SYN_SENTsrc=dst=5sport=1031\dport=23[UNREPLIED]src=5dst=sport=23\dport=1031use=1從上面的記錄可以看出,SYN_SENT狀態被設置了,這說明連接已經發出一個SYN包,但應答還沒發送過來,這可從[UNREPLIED]標志看出。tcp657SYN_RECVsrc=dst=5sport=1031\dport=23src=5dst=sport=23dport=1031use=1現在我們已經收到了相應的SYN/ACK包,狀態也變為SYN_RECV,這說明最初發出的SYN包已正確傳輸,并且SYN/ACK包也到達了防火墻。這就意味著在連接的兩方都有數據傳輸,因此可以認為兩個方向都有相應的回應。tcp6431999ESTABLISHEDsrc=dst=5\sport=1031dport=23src=5dst=\sport=23dport=1031use=1現在我們發出了三步握手的最后一個包,即ACK包,連接也就進入ESTABLISHED狀態了。例子中,首先顯示的是協議,這里是tcp,接著是十進制的6(注:tcp的協議類型代碼是6)。之后的117是這條conntrack記錄的生存時間,它會有規律地被消耗,直到收到這個連接的更多的包。接下來的是這個連接在當前時間點的狀態。上面的例子說明這個包處在狀態SYN_SENT,這個值是iptables顯示的,以便我們好理解。SYN_SENT說明我們正在觀察的這個連接只在一個方向發送了一TCPSYN包。再下面是源地址、目的地址、源端口和目的端口。其中有個特殊的詞UNREPLIED,說明這個連接還沒有收到任何回應。4.4.2HTTP協議WEB服務基于超文本傳輸協議(HypertextTransferProtocol,HTTP),客戶端和服務器使用標準TCP協議建立連接。正常使用時,WEB服務可以通過http服務端口80實現。表4-1列出HTTPWEB服務的完整的客戶機/服務器的連接協議。下面,討論HTTP協議下客戶/服務器模式中信息交換的過程。1.建立連接連接的建立是通過申請套接字(Socket)實現的。客戶打開一個套接字并把它約束在一個端口上,如果成功,就相當于建立了一個虛擬文件。以后就可以在該虛擬文件上寫數據并通過網絡向外傳送。2.發送請求打開一個連接后,客戶機把請求消息送到服務器的停留端口上,完成提出請求動作。3.發送響應服務器在處理完客戶的請求之后,要向客戶機發送響應消息。4.關閉連接客戶和服務器雙方都可以通過關閉套接字來結束TCP/IP對話。表4-1HTTP協議描述協議遠程端口輸入/輸出本地端口本地客戶請求TCP80Out1024:65535遠程服務器響應TCP80In1024:65535遠程客戶請求TCP1024:65535In80本地服務器響應TCP1024:65535Out80根據表格中的定義,可以寫一段代碼如下所示,這段代碼的含義是允許局域網用戶訪問外網的WEB服務。/sbin/iptables-AFORWARD-o$INTERNET_INTERFACE-ptcp-s$LAN_ADDRESSES--sport$UNPRIVPORTS--dport80-jACCEPT/sbin/iptables-AFORWARD-i$INTERNET_INTERFACE-ptcp!--syn--sport80-d$LAN_ADDRESSES--dport$UNPRIVPORTS-jACCEPT4.4.3FTP協議FTP的全稱是FileTransferProtocol(文件傳輸協議),顧名思義,它是專門用來傳輸文件的協議。它支持的FTP功能是網絡中最重要、用途最廣泛的服務之一,實現了服務器和客戶機之間的文件傳輸和資源再分配,是普遍采用的資源共享方式之一,用戶可以連接到FTP服務器上下載文件,也可以將自己的文件上傳到FTP服務器中。FTP是TCP/IP的一種具體應用,它工作在OSI模型的第七層、TCP模型的第四層,即應用層,它使用TCP傳輸而不是UDP,這樣FTP客戶在和服務器建立連接前就要經過一個“三次握手”的過程,它的意義在于客戶與服務器之間的連接是可靠的,而且是面向連接的,為數據的傳輸提供了可靠的保證。表4-2列出了FTP服務的完整的客戶機/服務器連接協議。FTP依賴于兩種不同的連接:一種用于控制和命令流;一種用于數據文件和其他信息。控制流基于傳統的TCP連接。客戶端綁定于一個高端非特權端口,然后向FTP服務器發送連接請求,FTP服務器使用端口21。這種連接是用于傳送命令的。另一方面,對于數據流連接,FTP提供了兩種可選模式用于在客戶機與服務器之間交換數據;端口模式和被動模式。表4-2FTP協議描述協議遠程端口輸入/輸出本地端口本地客戶查詢TCP21Out1024:65535遠程服務器響應TCP21In1024:65535遠程服務器端口數據通路請求TCP20In1024:65535本地客戶端口數據通路響應TCP20Out1024:65535本地客戶被動數據通路響應TCP1024:65535Out1024:65535遠程服務器被動數據通路響應TCP1024:65535In1024:65535遠程客戶請求TCP1024:65535In21本地服務器響應TCP1024:65535Out21本地服務器端口數據通路響應TCP1024:65535Out20遠程客戶端口數據通路響應TCP1024:65535In20遠程客戶被動數據通路請求TCP1024:65535In1024:65535本地服務器被動數據通路響應TCP1024:65535Out1024:65535本防火墻允許客戶機到遠程FTP服務器的訪問,允許外網主機訪問內網的FTP服務器,并為這兩個功能設置分別設置了開關,如果用戶不需要訪問外網的FTP服務器,并且內網沒有FTP服務器或不對外開放這種服務,用戶可以方便的關掉這兩項功能。4.4.4SMTP,POP和IMAP協議電子郵件(E-mail)是最基本的網絡通訊功能。進入國際互聯網的用戶不需要任何紙張,就可以方便地使用電子郵件來寫、寄、讀和轉發信件。E-mail在網絡上的發送使用的是TCP服務端口25上的SMTP協議。E-mail一般是通過三個協議進行接的—SMTP、POP或IMAP。SMTP協議(SimpleMailTransferProtocol,簡單郵件傳輸協議)是最早出現的,也是被普遍使用的最基本的Internet郵件服務協議。正如它的名稱,SMTP協議支持的功能確實比較簡單,并且有安全方面的缺陷。經過它傳遞的所有電子郵件都是以普通文本形式進行的,不能夠傳輸諸如圖像等非文本信息。在網絡上給朋友傳輸文本信息意味著任何人都可以在中途截取并復制這些郵件,甚至對郵件內容進行竄改。POP和IMAP是取回郵件的服務。POP運行在TCP端口110上;IMAP運行在TCP端口143。對于收取的的郵件,SMTP與POP或IMAP的不同之處在于,SMTP收取入網郵件,然后將其排入用戶的本地郵箱的郵件隊列;POP和IMAP從用戶ISP的本地郵件程序取得郵件,在那里,郵件已經排在用戶ISP的SMTP郵箱隊列中了。表4-3為SMTP、POP和IMAP列出了完整的客戶/服務器連接協議。描述協議遠程端口輸入/輸出本地端口發送出網郵件TCP25Out1024:65535遠程服務器響應TCP25In1024:65535收取入網郵件TCP1024:65535In25本地服務器響應TCP1024:65535Out25本地客戶查詢TCP110Out1024:65535遠程服務器響應TCP110In1024:65535遠程客戶查詢TCP1024:65535In110本地服務器響應TCP1024:65535Out110本地客戶查詢TCP143Out1024:65535遠程服務器響應TCP143In1024:65535遠程客戶查詢TCP1024:65535In143本地服務器響應TCP1024:65535Out1434.5過濾ICMP信息設計ICMP是一種無狀態協議,它只是用來控制而不是建立連接。ICMP包有很多類型,但只有四種類型有應答包,它們是回顯請求和應答(Echorequestandreply),時間戳請求和應答(Timestamprequestandreply),信息請求和應答(Informationrequestandreply),還有地址掩碼請求和應答(Addressmaskrequestandreply),這些包有兩種狀態,NEW和ESTABLISHED。時間戳請求和信息請求已經廢除不用了,回顯請求還是常用的,比如ping命令就用的到,地址掩碼請求不太常用,但是可能有時很有用并且值得使用。圖4-4,說明了ICMP連接的NEW和ESTABLISHED狀態。圖4-4ICMP連接狀態如圖所示,主機向目標發送一個回顯請求,防火墻就認為這個包處于NEW狀態。目標回應一個回顯應答,防火墻就認為包處于ESTABLISHED了。當回顯請求被發送時,ip_conntrack里就有這樣的記錄了:icmp125src=dst=0type=8code=0id=33029[UNREPLIED]src=0dst=type=0code=0id=33029use=1可以看到,ICMP的記錄和TCP的有點區別,協議名稱、超時時間和源、目地址都一樣,不同之處在于沒有了端口,而新增了三個新的字段:type,code和id。字段type說明ICMP的類型。code說明ICMP的代碼,這些代碼在附錄ICMP類型里有說明。id是ICMP包的ID。每個ICMP包被發送時都被分配一個ID,接受方把同樣的ID分配給應答包,這樣發送方能認出是哪個請求的應答。[UNREPLIED]的含義和前面一樣,說明數的傳輸只發生在一個方向上,也就是說未收到應答。再往后,是應答包的源、目地址,還有相應的三個新字段,要注意的是type和code是隨著應答包的不同而變化的,id和請求包的一樣。和前面一樣,應答包被認為是ESTABLISHED的。然而,在應答包之后,這個ICMP連接就不再有數據傳輸了。所以,一旦應答包穿過防火墻,ICMP的連接跟蹤記錄就被銷毀了。以上各種情況,請求被認為NEW,應答是ESTABLISHED。換句話說,就是當防火墻看到一個請求包時,就認為連接處于NEW狀態,當有應答時,就是ESTABLISHED狀態。4.6域名(DNS)服務設計DNS依賴于TCP和UDP兩種通信協議。客戶機—服務器式查詢,查詢請求一般是在UDP上完成的。如果返回的信息太大以至于無法裝入單個UDPDNS數據包,查詢的UDP通信就會失敗。服務器會設置DNS消息頭中的一個標志位,用以指示數據是被截斷的。這種情況下,允許以TCP重試。防火墻一般情況下,都應該是允許DNS數據流穿過防火墻的,因為域名解析是我們經常需要的一項服務,如果不這么做的話,我們一般無法定位到一臺遠程主機。表4-5列出了本防火墻用到的有關DNS規則的說明。表4-5DNS協議描述協議遠程端口輸入/輸出本地端口本地客戶查詢UDP53Out1024:65535遠程服務器響應UDP53In1024:65535本地客戶查詢TCP53Out1024:65535遠程服務器響應TCP53In1024:65535當主機名需要查詢時,解析程序主向DNS服務器請求查詢。大部分計算機只是作為DNS的客戶機,而服務器運行于一個遠程計算機上。5防火墻測試與性能分析5.1攻擊測試在默認的情況下windows的ping發送的數據包大小為32byt,我們也可以自己定義它的大小,但有一個大小的限制,就是最大只能發送65500byt,也許有人會問為什么要限制到65500byt,因為Windows系列的系統都有一個安全漏洞(也許還包括其他系統)就是當向對方一次發送的數據包大于或等于65532時,對方就很有可能當機,所以微軟公司為了解決這一安全漏洞于是限制了ping的數據包大小。雖然微軟公司已經做了此限制,但這個參數配合其他參數以后危害依然非常強大,比如我們就可以通過配合-t參數來實現一個帶有攻擊性的命令:C:\>ping-l65500-t,這樣它就會不停的向計算機發送大小為65500byt的數據包,如果你只有一臺計算機也許沒有什么效果,但如果有很多計算機那么就可以使對方完全癱瘓,在試驗環境下如果將防火墻停掉,當同時使用10臺以上計算機ping一臺Win2000Pro系統的計算機時,不到10分鐘對方的網絡就已經完全癱瘓,網絡嚴重堵塞,HTTP和FTP服務完全停止。將防火墻停止,運用ping-t程序的攻擊,所發出的所有數據都被目標主機接受了,如圖5-1所示。圖5-1無防火墻攻擊結果如果在防火墻的保護下,那么這些無用的數據包都會被防火墻無聲的丟棄,這樣攻擊也就沒有任何意義了,如圖5-2所示。所有的發往目標主機的數據包都被防火墻攔截了下來,因此攻擊者能看到的只是系統返回的超時信息。圖5-2有防火墻攻擊結果5.2協議過濾測試在協議過過濾測試這一部分,我們主要還是看在有防火墻的情況下,那些我們常用的協議是否能夠順利的通過或被攔截。我以訪問外網的WEB服務器為例,其它協議也是同樣的道理,這里就不再闡述了。首先,找到這個變量WEB_SERVER="1",表示允許我們通過客戶端的IE瀏覽器訪問外網的WEB服務器,這時,http協議能夠輕松的通過防火墻。相反,我們將變量WEB_SERVER的值改為0,那么防火墻是不允許http協議通過的,這時在客戶端再訪問WEB服務器,我們會因為找不到服務器而發生域名解析的錯誤,這完全是因為防火墻阻截了http協議的緣故。結論由于計算機網絡互聯的重要性,網絡安全是我國計算機網絡建設中應當引起重視的問題。在計算機安全性和計算機所能提供功能之間的平衡性是很重要的。在很多情況下,最安全的計算機往往功能是簡單的,能提供多種服務的則是最不安全的。在Linux2.4內核下基于netfilter設計防火墻的過濾規則,實現了一個包過濾的防火墻,重點解決了在Linux環境下在netfilter中設計防火墻的問題,并在此基礎上增加了主動及被動的安全措施以實現網絡安全的功能。Linux操作系統中的包過濾防火墻具有一般包過濾防火墻的優點:簡單,速度快,功能強,能按照系統設定的安全策略對防火墻進行過濾,但是它也具有了很多傳統包過濾防火墻缺點:1.很多網絡服務的端口號是不固定的,對這些服務不可能進行很好的過濾。2.一些應用協議使用的信息打包在IP數據報中,所以不能方便地被包過濾級防火墻訪問和使用,所以對應用服務的過濾很難。3.審計功能差,過濾規則的設計存在矛盾關系,過濾規則簡單,安全性差,過濾規則復雜,管理困難。4.無法有效的抵御欺騙攻擊。對于欺騙攻擊,采用的是對已知的不合法IP地址進行過濾操作,只要是屬于這些地址發過來的數據報,都將被防火墻丟棄而不能到達目標主機。由于時間和條件限制,本論文所設計的防火墻還有很多地方需要改進和完善,主要表現在以下幾個方面:1.在包過濾管理模塊中還缺乏過濾規則檢查,有可能造成規則沖突的情況,這還需要防火墻管理員很高的專業知識。2.對網絡掃描防御還存在問題,當專業黑客掃描目標端口時可能只掃描攻擊目標幾個端口,所以防火墻對這中掃描攻擊沒有作用,還需要找出更加完善的辦法來進行防范。致謝本課題及論文是在我的導師陳老師的親切關懷和悉心指導下完成的。他嚴肅的科學態度,嚴謹的治學精神,精益求精的工作作風,深深地感染和激勵著我。從課題的選擇到項目的最終完成,陳老師都始終給予我細心的指導和不懈的支持。三個多月以來,陳老師不僅在學業上給我以精心指導,同時還在思想、生活上給我以無微不至的關懷,在此謹向陳老師致以誠摯的謝意和崇高的敬意。在此,我還要感謝在一起愉快的度過大學生活的同學們,正是由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,直至本文的順利完成。在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!同時也感謝其他老師在此期間的關懷和幫助,以及學院為我提供良好的畢業設計環境。最后感謝在畢業設計中為我提供幫助的眾多益友和同學,以及在設計中被我引用或參考的論著的作者。再次感謝在本次畢業設計中幫助過我的所有人!
參考文獻1朱居正,高冰.RedHatEnterpriseLinux網絡管理.清華大學出版社,20052RichardPetersen.Linux技術大全.機械工業出版社,20013謝蓉,巢愛棠.Linux基礎及應用.中國鐵道出版社4SteveSvehring.LinuxFirewalls.機械工業出版社,20065梁如軍.RedHatLinux9應用基礎教程.機械工業出版社,19906W.RichardStevens.TCP/IPIllustrated,Volume1:TheProtocols,AddisonWesleyProfessional.19937Bishop,Matt.Introductiontocomputersecurity.pearson,20048ElizabethD.Zwicky,SimonCooper,D.BrentChapman.BuildingInter-netFirewalls,SecondEdition.O’Reilly&Associates,20009任泰明.TCP/IP協議與網絡編程.西安電子科技大學出版社,199710黃允聰.防火墻的選型、配置、安裝和維護,2002.清華大學出版社,200511MendelCooper.高級Shell腳本編程技術.互聯網,200612博嘉科技.Linux防火墻技術探秘.國防工業出版社,200213龔儉.計算機網絡安全導論.東南大學出版社,200714蔣建春.網絡攻防技術原理與實踐.科學出版社,200515閻慧,王偉,寧宇鵬.防火墻原理與技術.機械工業出版社,2004附錄:防火墻部分源代碼(1)防火墻部分功能變量ANYWHERE_TRACKING="1"#允許/禁止防火墻ping通其它地方LAN_TRACKING="1"#允許/禁止內網主機ping通外網主機LAN_TRACKING_GATEWAY="1"#允許/禁止內網主機ping通網關MAIL_SMTP_SERVER="1"#使用smtp協議發送郵件MAIL_IMAP="1"#使用imap協議接收郵件MAIL_POP="1"#使用pop協議接收郵件WEB_SERVER="1"#允許/禁止內網用戶訪問外網WEB服務器WEB_SERVER_LAN="1"#允許/禁止外網用戶訪問內網WEB服務器USENET_SERVER="1"#允許/禁止內網用戶訪問外網新聞服務器NEWS_IPADDR=""#外網新聞服務器的IP地址FTP_SERVER="1"#允許/禁止內網用戶訪問外網的FTP服務器FTP_LAN_SERVER="1"#允許/禁止外網用戶訪問內網的FTP服務器FTP_LAN_IPADDR=""#內網FTP服務器的IP地址INTERNET_INTERFACE="eth1"#防火墻外網接口LAN_INTERFACE="eth0"#防火墻內網接口LOOPBACK_INTERFACE="lo"#防火墻環回接口INTERNET_IPADDR=""#防火墻外網接口地址INTERNET_NETWORK=""#外網網絡地址INTERNET_BROADCAST="55"#外網廣播地址LAN_IPADDR=""#防火墻內網接口地址LAN_ADDRESSES="/24"#內網地址范圍LAN_NETWORK=""#內網網絡地址CLASS_A="/8"#A類私有地址CLASS_B="/12"#B類私有地址CLASS_C="/16"#C類私有地址CLASS_D_MULTICAST="/4"#D類多播地址CLASS_E_RESERVED_NET="/5"#E類保留地址BROADCAST_SRC=""#廣播源地址BROADCAST_DEST="55"#廣播目的地址(2)防火墻初始化部分代碼#打開核心轉發功能echo1>/proc/sys/net/ipv4/ip_forward#丟棄源路由數據包forfin/proc/sys/net/ipv4/conf/*/accept_source_route;doecho0>$fdone#啟用SYN緩沖echo1>/proc/sys/net/ipv4/tcp_syncookies#刪除預先存在的規則及重置默認策略/sbin/iptables--flush/sbin/iptables-X/sbin/iptables--policyINPUTACCEPT/sbin/iptables--policyOUTPUTACCEPT/sbin/iptables--policyFORWARDACCEPT#防火墻安全停止if["$1"="stop"]thenecho"*********************************************************"echo"*
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東義務植樹活動方案
- 幼兒園首屆廟會活動方案
- 年俗教育活動方案
- 幼兒保育活動方案
- 幼兒園喜慶年會活動方案
- 幼兒園元親子活動方案
- 建材周年慶活動方案
- 幼兒園拍攝節日活動方案
- 建甌市數學活動方案
- 幼兒拍照拜年活動方案
- 江蘇省南京市六校聯合體2024-2025學年高一下學期期末調研測試歷史試題(含答案)
- 公共組織績效評估-形考任務一(占10%)-國開(ZJ)-參考資料
- GB/T 45439-2025燃氣氣瓶和燃氣瓶閥溯源二維碼應用技術規范
- 臺球廳股東合同范例
- 2024年個人信用報告(個人簡版)樣本(帶水印-可編輯)
- 16J914-1 公用建筑衛生間
- 2024年南昌市產業投資集團有限公司招聘筆試參考題庫附帶答案詳解
- TSG11-2020 鍋爐安全技術規程
- 《神經外科共識》PPT課件.ppt
- 曼徹斯特解碼原則+125K-EM4100系列RFID卡解碼源程序分析
- 各種常見巖石巖性描述
評論
0/150
提交評論