第8章 Linux網(wǎng)絡安全.ppt_第1頁
第8章 Linux網(wǎng)絡安全.ppt_第2頁
第8章 Linux網(wǎng)絡安全.ppt_第3頁
第8章 Linux網(wǎng)絡安全.ppt_第4頁
第8章 Linux網(wǎng)絡安全.ppt_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第8章網(wǎng)絡安全 本章學習目標通過對本章的學習 讀者應該掌握以下主要內(nèi)容 計算機網(wǎng)絡安全的基本概念及Linux系統(tǒng)安全 防火墻技術(shù)基本知識 用iptales實現(xiàn)包過濾型防火墻 8 1計算機網(wǎng)絡安全基礎知識 8 1 1網(wǎng)絡安全的含義 網(wǎng)絡安全從其本質(zhì)上來講就是網(wǎng)絡上的信息安全 其所涉及的領(lǐng)域相當廣泛 這是因為在目前的公用通信網(wǎng)絡中存在著各種各樣的安全漏洞和威脅 從廣義來說 凡是涉及到網(wǎng)絡上信息的保密性 完整性 可用性 真實性和可控性的相關(guān)技術(shù)和理論 都是網(wǎng)絡安全所要研究的領(lǐng)域 下面給出網(wǎng)絡安全的一個通用定義 網(wǎng)絡安全是指網(wǎng)絡系統(tǒng)的硬件 軟件及其系統(tǒng)中的數(shù)據(jù)受到保護 不受偶然的或者惡意的原因而遭到破壞 更改 泄露 系統(tǒng)連續(xù)可靠正常地運行 網(wǎng)絡服務不中斷 因此 網(wǎng)絡安全在不同的環(huán)境和應用中會得到不同的解釋 1 運行系統(tǒng)安全 即保證信息處理和傳輸系統(tǒng)的安全 包括計算機系統(tǒng)機房環(huán)境的保護 法律 政策的保護 計算機結(jié)構(gòu)設計上的安全性考慮 硬件系統(tǒng)的可靠安全運行 計算機操作系統(tǒng)和應用軟件的安全 數(shù)據(jù)庫系統(tǒng)的安全 電磁信息泄露的防護等 它側(cè)重于保證系統(tǒng)正常的運行 避免因為系統(tǒng)的崩潰和損壞而對系統(tǒng)存儲 處理和傳輸?shù)男畔⒃斐善茐暮蛽p失 避免由與電磁泄漏 產(chǎn)生信息泄露 干擾他人 或受他人干擾 本質(zhì)上是保護系統(tǒng)的合法操作和正常運行 2 網(wǎng)絡上系統(tǒng)信息的安全 包括用戶口令鑒別 用戶存取權(quán)限控制 數(shù)據(jù)存取權(quán)限 方式控制 安全審計 安全問題跟蹤 計算機病毒防治 數(shù)據(jù)加密等 3 網(wǎng)絡上信息傳播的安全 即信息傳播后的安全 包括信息過濾等 它側(cè)重于防止和控制非法 有害的信息進行傳播后的后果 避免公用通信網(wǎng)絡上大量自由傳輸?shù)男畔⑹Э?它本質(zhì)上是維護道德 法律或國家利益 4 網(wǎng)絡上信息內(nèi)容的安全 即討論的狹義的 信息安全 它側(cè)重于保護信息的保密性 真實性和完整性 避免攻擊者利用系統(tǒng)的安全漏洞進行竊聽 冒充和詐騙等有損于合法用戶的行為 它本質(zhì)上是保護用戶的利益和隱私 計算機網(wǎng)絡安全的含義是通過各種計算機 網(wǎng)絡 密碼技術(shù)和信息安全技術(shù) 保護在公用通信網(wǎng)絡中傳輸 交換和存儲信息的機密性 完整性和真實性 并對信息的傳播及內(nèi)容具有控制能力 網(wǎng)絡安全的結(jié)構(gòu)層次包括 物理安全 安全控制和安全服務 可見 計算機網(wǎng)絡安全主要是從保護網(wǎng)絡用戶的角度來進行的 是針對攻擊和破譯等人為因素所造成的對網(wǎng)絡安全的威脅 而不涉及網(wǎng)絡可靠性 信息的可控性 可用性和互操作性等領(lǐng)域 8 1 2網(wǎng)絡安全的特征 網(wǎng)絡安全應具有以下四個方面的特征 1 保密性是指信息不泄露給非授權(quán)的用戶 實體或過程 或供其利用的特性 2 完整性是指數(shù)據(jù)未經(jīng)授權(quán)不能進行改變的特性 即信息在存儲或傳輸過程中保持不被修改 不被破壞和丟失的特性 3 可用性是指可被授權(quán)實體訪問并按需求使用的特性 即當需要時應能存取所需的信息 網(wǎng)絡環(huán)境下拒絕服務 破壞網(wǎng)絡和有關(guān)系統(tǒng)的正常運行等都屬于對可用性的攻擊 4 可控性是指對信息的傳播及內(nèi)容具有控制能力 8 1 3對網(wǎng)絡安全的威脅 與網(wǎng)絡連通性相關(guān)的有三種不同類型的安全威脅 1 非授權(quán)訪問 UnauthorizedAccess 指一個非授權(quán)用戶的入侵 2 信息泄露 DisclosureofInformation 指造成將有價值的和高度機密的信息暴露給無權(quán)訪問該信息的人的所有問題 3 拒絕服務 DenialofService 指使系統(tǒng)難以或不能繼續(xù)執(zhí)行任務的所有問題 8 1 4網(wǎng)絡安全的關(guān)鍵技術(shù) 從廣義上講 計算機網(wǎng)絡安全技術(shù)主要有 1 主機安全技術(shù) 2 身份認證技術(shù) 3 訪問控制技術(shù) 4 密碼技術(shù) 5 防火墻技術(shù) 6 安全審計技術(shù) 7 安全管理技術(shù) 8 1 5Linux系統(tǒng)的網(wǎng)絡安全策略 1 簡介 隨著Internet Intranet網(wǎng)絡的日益普及 采用Linux網(wǎng)絡操作系統(tǒng)作為服務器的用戶也越來越多 這一方面是因為Linux是開放源代碼的免費正版軟件 另一方面也是因為較之微軟的WindowsNT網(wǎng)絡操作系統(tǒng)而言 Linux系統(tǒng)具有更好的穩(wěn)定性 效率性和安全性 在Internet Intranet的大量應用中 網(wǎng)絡本身的安全面臨著重大的挑戰(zhàn) 隨之而來的信息安全問題也日益突出 以美國為例 據(jù)美國聯(lián)邦調(diào)查局 FBI 公布的統(tǒng)計數(shù)據(jù) 美國每年因網(wǎng)絡安全問題所造成的經(jīng)濟損失高達75億美元 而全球平均每20秒鐘就發(fā)生一起Internet計算機黑客侵入事件 一般認為 計算機網(wǎng)絡系統(tǒng)的安全威脅主要來自黑客攻擊和計算機病毒2個方面 那么黑客攻擊為什么能夠經(jīng)常得逞呢 主要原因是很多人 尤其是很多網(wǎng)絡管理員沒有起碼的網(wǎng)絡安全防范意識 沒有針對所用的網(wǎng)絡操作系統(tǒng) 采取有效的安全策略和安全機制 給黑客以可乘之機 由于網(wǎng)絡操作系統(tǒng)是用于管理計算機網(wǎng)絡中的各種軟硬件資源 實現(xiàn)資源共享 并為整個網(wǎng)絡中的用戶提供服務 保證網(wǎng)絡系統(tǒng)正常運行的一種系統(tǒng)軟件 如何確保網(wǎng)絡操作系統(tǒng)的安全 是網(wǎng)絡安全的根本所在 只有網(wǎng)絡操作系統(tǒng)安全可靠 才能保證整個網(wǎng)絡的安全 因此 詳細分析Linux系統(tǒng)的安全機制 找出可能存在的安全隱患 給出相應的安全策略和保護措施是十分必要的 2 Linux網(wǎng)絡操作系統(tǒng)的基本安全機制 Linux網(wǎng)絡操作系統(tǒng)提供了用戶帳號 文件系統(tǒng)權(quán)限和系統(tǒng)日志文件等基本安全機制 如果這些安全機制配置不當 就會使系統(tǒng)存在一定的安全隱患 因此 網(wǎng)絡系統(tǒng)管理員必須小心地設置這些安全機制 1 Linux系統(tǒng)的用戶帳號 2 Linux的文件系統(tǒng)權(quán)限 3 合理利用Linux的日志文件 3 Linux網(wǎng)絡系統(tǒng)可能受到的攻擊和安全防范策略 Linux操作系統(tǒng)是一種公開源碼的操作系統(tǒng) 因此比較容易受到來自底層的攻擊 系統(tǒng)管理員一定要有安全防范意識 對系統(tǒng)采取一定的安全措施 這樣才能提高Linux系統(tǒng)的安全性 對于系統(tǒng)管理員來講特別是要搞清楚對Linux網(wǎng)絡系統(tǒng)可能的攻擊方法 并采取必要的措施保護系統(tǒng) 1 Linux網(wǎng)絡系統(tǒng)可能受到的攻擊類型 拒絕服務 攻擊 口令破解 攻擊 欺騙用戶 攻擊 掃描程序和網(wǎng)絡監(jiān)聽 攻擊 2 Linux網(wǎng)絡安全防范策略仔細設置每個內(nèi)部用戶的權(quán)限 確保用戶口令文件 etc shadow的安全 加強對系統(tǒng)運行的監(jiān)控和記錄 合理劃分子網(wǎng)和設置防火墻 定期對Linux網(wǎng)絡進行安全檢查 制定適當?shù)臄?shù)據(jù)備份計劃確保系統(tǒng)萬無一失 4 加強對Linux網(wǎng)絡服務器的管理 合理使用各種工具 1 利用記錄工具 記錄對Linux系統(tǒng)的訪問 2 慎用Telnet服務 3 合理設置NFS服務和NIS服務 4 小心配置FTP服務 5 合理設置POP 3和Sendmail等電子郵件服務 6 加強對WWW服務器的管理 提供安全的WWW服務 7 最好禁止提供finger服務 8 1 6Linux網(wǎng)絡安全工具 1 sudo sudo是系統(tǒng)管理員用來允許某些用戶以root身份運行部分 全部系統(tǒng)命令的程序 一個明顯的用途是增強了站點的安全性 如果用戶需要每天以root身份做一些日常工作 經(jīng)常執(zhí)行固定的幾個只有root身份才能執(zhí)行的命令 那么用sudo是非常適合的 下面以Redhat9 0為例 介紹sudo的安裝及設置過程 一般情況下 Redhat9 0中都已經(jīng)缺省安裝了當前較新的版本sudo 1 6 6 3 如果你的系統(tǒng)中沒有安裝 你能從下面的地址中下載forRedhatLinux的rpmpackage ftp ftp rediris es sites alias 節(jié)區(qū) 一個選擇性的指令別名 commandalias 節(jié)區(qū)以及使用者說明 userspecification 節(jié)區(qū)所組成的 所有的指令別名或主機別名必須需以自己的關(guān)鍵字作為開始 Host Alias Cmnd Alias 使用者說明節(jié)區(qū)格式 使用者接取群組 接取群組 接取群組 主機象征 op 指令象征 op 指令象征 主機象征 一個小寫的主機名稱或主機別名 指令象征 一個指令或指令別名 op 邏輯的 否定運算元 主機別名節(jié)區(qū)格式 Host Alias主機別名 主機列表Host Alias 這是一個關(guān)鍵字 主機別名 一個大寫的別名 主機列表 以逗號間隔的一些主機名稱 指令別名節(jié)區(qū)格式 Cmnd Alias指令別名 指令列表Cmnd Alias 這是一個關(guān)鍵字 指令別名 一個大寫的別名 指令列表 以逗號間隔的一些指令 所有在 符號后面的文字都會被當作是注解 太長的行可以使用倒斜線 字符來分成新的行 保留的別名 ALL 在 Host Cmnd Alias 里都可以使用 不要用 ALL 來定義一個別名 這個別名無效 注意到 ALL 暗示全部的主機和指令 可以使用這個語法從整個范圍中減掉一些項目 userhost ALL ALIAS1 etc halt 2 Sniffit sniffit是一個有名的網(wǎng)絡端口探測器 可以配置它在后臺運行 以檢測哪些TCP IP端口上用戶的輸入 輸出信息 最常用的功能是可以用它來檢測系統(tǒng)的23 telnet 和110 pop3 端口上的數(shù)據(jù)傳送以輕松得到系統(tǒng)的登錄口令和mail帳號密碼 當然 sniffit基本上是被破壞者所利用的工具 sniffit的主頁在http reptile rug ac be coder sniffit sniffit html用戶能從那里下載最新的版本 用戶在根目錄運行 tarxvfzsniff 解開所有文件到對應目錄后 先仔細閱讀其中的README FIRST文件 可能有些版本需要預先進行編譯才能使用 用戶能運行sniffit i以交互式圖形界面查看所有在指定網(wǎng)絡接口上的輸入 輸出信息 例如 為了得到所有用戶通過某接口a b c d接收郵件時所輸入的pop3帳號和密碼 用戶能運行 sniffit p110 ta b c d sniffit p110 sa b c d 記錄文件放在目錄 usr doc sniffit 下面 logfile根據(jù)訪問者的IP地址 隨機用高端端口號和用來檢測的網(wǎng)絡接口IP地址和檢測端口來命名 它利用了TCP IP協(xié)議天生的虛弱性 因為普通的telnet和pop3所傳的用戶名和密碼信息都是明文 不帶任何方式的加密 因此對telnet ftp 可以用ssh scp來替代 sniffit檢測到的ssh scp信息基本上是一堆亂碼 因此不需要擔心ssh所傳送的用戶名和口令信息會被第三方所竊取 3 nmap nmap是用來對一個比較大的網(wǎng)絡進行端口掃描的工具 它能檢測該服務器有哪些TCP IP端口目前正處于打開狀態(tài) 可以運行它來確保已經(jīng)禁止掉不該打開的不安全的端口號 nmap的主頁在http www insecure org nmap index html 8 2防火墻技術(shù) 8 2 1什么是防火墻 防火墻是指設置在不同網(wǎng)絡 如可信任的企業(yè)內(nèi)部網(wǎng)和不可信的公共網(wǎng) 或網(wǎng)絡安全域之間的一系列部件的組合 是不同網(wǎng)絡或網(wǎng)絡安全域之間信息的唯一出入口 能根據(jù)企業(yè)的安全政策控制 允許 拒絕 監(jiān)測 出入網(wǎng)絡的信息流 且本身具有較強的抗攻擊能力 防火墻是提供信息安全服務 實現(xiàn)網(wǎng)絡和信息安全的基礎設施 在邏輯上 防火墻是一個分離器 一個限制器 也是一個分析器 有效地監(jiān)控了內(nèi)部網(wǎng)和Internet之間的任何活動 保證了內(nèi)部網(wǎng)絡的安全 如圖8 1 圖8 1防火墻邏輯位置示意圖 使用防火墻地作用如下 1 防火墻是網(wǎng)絡安全的屏障 2 防火墻可以強化網(wǎng)絡安全策略 3 對網(wǎng)絡存取和訪問進行監(jiān)控審計 4 防止內(nèi)部信息的外泄 8 2 2防火墻的三種類型 1 數(shù)據(jù)包過濾型防火墻 數(shù)據(jù)包過濾 PacketFiltering 技術(shù)是在網(wǎng)絡層對數(shù)據(jù)包進行選擇 選擇的依據(jù)是系統(tǒng)內(nèi)設置的過濾邏輯 被稱為訪問控制表 AccessControlTable 通過檢查數(shù)據(jù)流中每個數(shù)據(jù)包的源地址 目的地址 所用的端口號 協(xié)議狀態(tài)等因素 或它們的組合來確定是否允許該數(shù)據(jù)包通過 數(shù)據(jù)包過濾防火墻邏輯簡單 價格便宜 易于安裝和使用 網(wǎng)絡性能和透明性好 通常安裝在路由器上 路由器是內(nèi)部網(wǎng)絡與Internet連接必不可少的設備 因此 在原有網(wǎng)絡上增加這樣的防火墻幾乎不需要任何額外的費用 數(shù)據(jù)包過濾防火墻有兩個主要缺點 一是非法訪問一旦突破防火墻 即可對主機上的軟件和配置漏洞進行攻擊 二是數(shù)據(jù)包的源地址 目的地址以及IP的端口號都在數(shù)據(jù)包的頭部 很有可能被竊聽或假冒 2 應用級網(wǎng)關(guān)型防火墻 應用級網(wǎng)關(guān) ApplicationLevelGateways 是在網(wǎng)絡應用層上建立協(xié)議過濾和轉(zhuǎn)發(fā)功能 它針對特定的網(wǎng)絡應用服務協(xié)議使用指定的數(shù)據(jù)過濾邏輯 并在過濾的同時 對數(shù)據(jù)包進行必要的分析 登記和統(tǒng)計 形成報告 應用級網(wǎng)關(guān)型防火墻的工作流程示意圖請見圖8 2 圖8 2應用級網(wǎng)關(guān)型防火墻的工作流程 數(shù)據(jù)包過濾和應用網(wǎng)關(guān)防火墻有一個共同的特點 就是僅僅依靠特定的邏輯判定是否允許數(shù)據(jù)包通過 一旦滿足邏輯 則防火墻內(nèi)外的計算機系統(tǒng)建立直接聯(lián)系 防火墻外部的用戶便有可能直接了解防火墻內(nèi)部的網(wǎng)絡結(jié)構(gòu)和運行狀態(tài) 這有利于實施非法訪問和攻擊 3 代理服務型防火墻 代理服務 ProxyService 也稱鏈路級網(wǎng)關(guān)或TCP通道 CircuitLevelGatewaysorTCPTunnels 也有人將它歸于應用級網(wǎng)關(guān)一類 代理服務是針對數(shù)據(jù)包過濾和應用網(wǎng)關(guān)技術(shù)存在的缺點而引入的防火墻技術(shù) 其特點是將所有跨越防火墻的網(wǎng)絡通信鏈路分為兩段 防火墻內(nèi)外計算機系統(tǒng)間應用層的 鏈接 由兩個終止代理服務器上的 鏈接 來實現(xiàn) 外部計算機的網(wǎng)絡鏈路只能到達代理服務器 從而起到了隔離防火墻內(nèi)外計算機系統(tǒng)的作用 此外 代理服務也對過往的數(shù)據(jù)包進行分析 注冊登記 形成報告 同時當發(fā)現(xiàn)被攻擊跡象時會向網(wǎng)絡管理員發(fā)出警報 并保留攻擊痕跡 使用代理服務型防火墻的網(wǎng)絡結(jié)構(gòu)示意圖請見圖8 3 圖8 3代理服務型防火墻的網(wǎng)絡結(jié)構(gòu) 8 2 3防火墻體系結(jié)構(gòu) 1 雙重宿主主機體系結(jié)構(gòu) 雙重宿主主機體系結(jié)構(gòu)圍繞雙重宿主主機構(gòu)筑 雙重宿主主機至少有兩個網(wǎng)絡接口 這樣的主機可以充當與這些接口相連的網(wǎng)絡之間的路由器 能夠從一個網(wǎng)絡到另外一個網(wǎng)絡發(fā)送IP數(shù)據(jù)包 然而雙重宿主主機的防火墻體系結(jié)構(gòu)禁止這種發(fā)送 因此IP數(shù)據(jù)包并不是從一個網(wǎng)絡 如外部網(wǎng)絡 直接發(fā)送到另一個網(wǎng)絡 如內(nèi)部網(wǎng)絡 外部網(wǎng)絡能與雙重宿主主機通信 內(nèi)部網(wǎng)絡也能與雙重宿主主機通信 但是外部網(wǎng)絡與內(nèi)部網(wǎng)絡不能直接通信 它們之間的通信必須經(jīng)過雙重宿主主機的過濾和控制 如圖8 4 圖8 4雙重宿主主機體系結(jié)構(gòu) 2 被屏蔽主機體系結(jié)構(gòu) 雙重宿主主機體系結(jié)構(gòu)防火墻沒有使用路由器 而被屏蔽主機體系結(jié)構(gòu)防火墻則使用一個路由器把內(nèi)部網(wǎng)絡和外部網(wǎng)絡隔離開 如圖8 5 在這種體系結(jié)構(gòu)中 主要的安全由數(shù)據(jù)包過濾提供 例如 數(shù)據(jù)包過濾用于防止人們繞過代理服務器直接相連 圖8 5被屏蔽主機體系結(jié)構(gòu) 這種體系結(jié)構(gòu)涉及到堡壘主機 堡壘主機是因特網(wǎng)上的主機能連接到的唯一內(nèi)部網(wǎng)絡上的主機 任何外部的系統(tǒng)要訪問內(nèi)部的系統(tǒng)或服務都必須先連接到這臺主機 因此堡壘主機要保持更高等級的主機安全 3 被屏蔽子網(wǎng)體系結(jié)構(gòu) 被屏蔽子網(wǎng)體系結(jié)構(gòu)添加額外的安全層到被屏蔽主機體系結(jié)構(gòu) 即通過添加周邊網(wǎng)絡更進一步的把內(nèi)部網(wǎng)絡和外部網(wǎng)絡 通常是Internet 隔離開 被屏蔽子網(wǎng)體系結(jié)構(gòu)的最簡單的形式為 兩個屏蔽路由器 每一個都連接到周邊網(wǎng) 一個位于周邊網(wǎng)與內(nèi)部網(wǎng)絡之間 另一個位于周邊網(wǎng)與外部網(wǎng)絡 通常為Internet 之間 這樣就在內(nèi)部網(wǎng)絡與外部網(wǎng)絡之間形成了一個 隔離帶 為了侵入用這種體系結(jié)構(gòu)構(gòu)筑的內(nèi)部網(wǎng)絡 侵襲者必須通過兩個路由器 即使侵襲者侵入堡壘主機 他將仍然必須通過內(nèi)部路由器 如圖8 6 圖8 6被屏蔽子網(wǎng)體系結(jié)構(gòu) 8 2 4包過濾技術(shù) 包過濾 PacketFilter 技術(shù)是在網(wǎng)絡層中對數(shù)據(jù)包實施有選擇的通過 根據(jù)系統(tǒng)內(nèi)事先設定的過濾邏輯 檢查數(shù)據(jù)流中每個數(shù)據(jù)包后 根據(jù)數(shù)據(jù)包的源地址 目的地址 TCP UDP源端口號 TCP UDP目的端口號及數(shù)據(jù)包頭中的各種標志位等因素來確定是否允許數(shù)據(jù)包通過 其核心是安全策略即過濾算法的設計 例如 用于特定的因特網(wǎng)服務的服務器駐留在特定的端口號的事實 如TCP端口23用于Telnet連接 使包過濾器可以通過簡單的規(guī)定適當?shù)亩丝谔杹磉_到阻止或允許一定類型的連接的目的 并可進一步組成一套數(shù)據(jù)包過濾規(guī)則 包過濾技術(shù)作為防火墻的應用有三類 一是路由設備在完成路由選擇和數(shù)據(jù)轉(zhuǎn)發(fā)之外 同時進行包過濾 這是目前較常用的方式 二是在工作站上使用軟件進行包過濾 這種方式價格較貴 三是在一種稱為屏蔽路由器的路由設備上啟動包過濾功能 8 3使用Linux架構(gòu)包過濾防火墻 8 3 1包過濾型防火墻的一般概念 1 什么是包過濾 包過濾就是用一個軟件查看所流經(jīng)的數(shù)據(jù)包的包頭 header 由此決定整個數(shù)據(jù)包是否允許通過 它可能會決定丟棄 DROP 這個包 可能會接受 ACCEPT 這個包 讓這個包通過 也可能執(zhí)行其他更復雜的動作 在Linux系統(tǒng)下 包過濾功能是內(nèi)建于核心的 作為一個核心模塊 或者直接內(nèi)建 同時還有一些可以運用于數(shù)據(jù)包之上的技巧 不過最常用的依然是查看包頭以決定是否允許通過 2 包過濾防火墻的工作層次 包過濾防火墻示意圖如圖8 7所示 包過濾是一種內(nèi)置于Linux內(nèi)核路由功能之上的防火墻類型 其防火墻工作在網(wǎng)絡層 圖8 7包過濾防火墻示意圖 3 包過濾防火墻的工作原理 1 使用過濾器 數(shù)據(jù)包過濾用在內(nèi)部主機和外部主機之間 過濾系統(tǒng)是一臺路由器或是一臺主機 過濾系統(tǒng)根據(jù)過濾規(guī)則來決定是否讓數(shù)據(jù)包通過 如圖8 8所示 用于過濾數(shù)據(jù)包的路由器被稱為過濾路由器 圖8 8用過濾路由器過濾數(shù)據(jù)包 數(shù)據(jù)包過濾是通過對數(shù)據(jù)包的IP頭和TCP或UDP頭的檢查來實現(xiàn)的 主要信息有 IP源地址IP目的地址協(xié)議 TCP包 UDP包和ICMP包 TCP或UDP包的源端口TCP或UDP包的目的端口ICMP消息類型 TCP包頭中的ACK位數(shù)據(jù)包到達的端口數(shù)據(jù)包送出的端口 2 過濾器的實現(xiàn) 數(shù)據(jù)包過濾一般使用過濾路由器來實現(xiàn) 這種路由器與普通的路由器有所不同 普通的路由器只檢查數(shù)據(jù)包的目的地址 并選擇一個達到目的地址的最佳路徑 它處理數(shù)據(jù)包是以目的地址為基礎的 存在著兩種可能性 若路由器可以找到一條路徑到達目的地址則發(fā)送出去 若路由器不知道如何發(fā)送數(shù)據(jù)包則發(fā)送一個 數(shù)據(jù)不可達 的數(shù)據(jù)包給發(fā)送者 過濾路由器會進一步地檢查數(shù)據(jù)包 除了決定是否有到達目的地址的路徑外 還要決定是否應該發(fā)送數(shù)據(jù)包 應該與否 是由路由器的過濾策略決定并強行執(zhí)行的 路由器的過濾策略主要有 拒絕來自某主機或某網(wǎng)段的所有連接 允許來自某主機或某網(wǎng)段的所有連接 拒絕來自某主機或某網(wǎng)段的指定端口的連接 允許來自某主機或某網(wǎng)段的指定端口的連接 拒絕本地主機或本地網(wǎng)絡與其他主機或其他網(wǎng)絡的所有連接 允許本地主機或本地網(wǎng)絡與其他主機或其他網(wǎng)絡的所有連接 拒絕本地主機或本地網(wǎng)絡與其他主機或其他網(wǎng)絡的指定端口的連接 允許本地主機或本地網(wǎng)絡與其他主機或其他網(wǎng)絡的指定端口的連接 4 包過濾器操作的基本過程 下面給出包過濾器的操作流程圖 如圖8 9所示 圖8 9包過濾操作流程圖 8 3 2Netfilter iptables簡介 1 Linux下的包過濾防火墻管理工具 從1 1內(nèi)核開始 Linux就已經(jīng)具有包過濾功能了 隨著Linux內(nèi)核版本的不斷升級Linux下的包過濾系統(tǒng)經(jīng)歷了如下3個階段 在2 0的內(nèi)核中 采用ipfwadm來操作內(nèi)核包過濾規(guī)則 在2 2的內(nèi)核中 采用ipchains來控制內(nèi)核包過濾規(guī)則 在2 4的內(nèi)核中 采用一個全新的內(nèi)核包過濾管理工具 iptables 現(xiàn)在最新Linux內(nèi)核版本是2 4 1 在2 4內(nèi)核中不再使用ipchains 而是采用一個全新的內(nèi)核包過濾管理工具 iptables 這個全新的內(nèi)核包過濾工具將使用戶更易于理解其工作原理 更容易被使用 當然也將具有更為強大的功能 iptables作為一個管理內(nèi)核包過濾的工具 iptables可以加入 插入或刪除核心包過濾表格 鏈 中的規(guī)則 實際上真正來執(zhí)行這些過濾規(guī)則的是Netfilter Linux核心中一個通用架構(gòu) 及其相關(guān)模塊 如iptables模塊和nat模塊等 2 Netfilter的工作原理 Netfilter是Linux核心中的一個通用架構(gòu) 它提供了一系列的 表 tables 每個表由若干 鏈 chains 組成 而每條鏈中可以有一條或數(shù)條規(guī)則 rule 組成 因此 可以理解netfilter是表的容器 表是鏈的容器 而鏈又是規(guī)則的容器 如圖8 10所示 圖8 10Netfilter總體結(jié)構(gòu) 系統(tǒng)缺省的表為 filter 該表中包含了INPUT FORWARD和OUTPUT3個鏈 每一條鏈中可以有一條或數(shù)條規(guī)則 每一條規(guī)則都是這樣定義的 如果數(shù)據(jù)包頭符合這樣的條件 就這樣處理這個數(shù)據(jù)包 當一個數(shù)據(jù)包到達一個鏈時 系統(tǒng)就會從第一條規(guī)則開始檢查 看是否符合該規(guī)則所定義的條件 如果滿足 系統(tǒng)將根據(jù)該條規(guī)則所定義的方法處理該數(shù)據(jù)包 如果不滿足則繼續(xù)檢查下一條規(guī)則 最后 如果該數(shù)據(jù)包不符合該鏈中所有規(guī)則的話 系統(tǒng)就會根據(jù)該鏈預先定義的策略 policy 來處理該數(shù)據(jù)包 數(shù)據(jù)包在filter表中的流程如圖8 11所示 有數(shù)據(jù)包進入系統(tǒng)時 系統(tǒng)首先根據(jù)路由表決定將數(shù)據(jù)包發(fā)給哪一條鏈 則可能有三種情況 圖8 11數(shù)據(jù)包在Filter表中的流程圖 1 如果數(shù)據(jù)包的目的地址是本機 則系統(tǒng)將數(shù)據(jù)包送往INPUT鏈 如果通過規(guī)則檢查 則該包被發(fā)給相應的本地進程處理 如果沒通過規(guī)則檢查 系統(tǒng)就會將這個包丟棄 2 如果數(shù)據(jù)包的目的地址不是本機 也就是說 這個包將被轉(zhuǎn)發(fā) 則系統(tǒng)將數(shù)據(jù)包送往FORWARD鏈 如果通過規(guī)則檢查 則該包被發(fā)給相應的本地進程處理 如果沒通過規(guī)則檢查 系統(tǒng)就會將這個包丟掉 3 如果數(shù)據(jù)包是由本地系統(tǒng)進程產(chǎn)生的 則系統(tǒng)將其送往OUTPUT鏈 如果通過規(guī)則檢查 則該包被發(fā)給相應的本地進程處理 如果沒通過規(guī)則檢查 系統(tǒng)就會將這個包丟掉 RedHatlinux9使用2 4版本地內(nèi)核 并且內(nèi)核的編譯選項中包含對Netfilter地支持 同時iptables軟件包是默認安裝的 所以可以直接使用 另外 為了完成轉(zhuǎn)發(fā)功能 必須打開系統(tǒng)內(nèi)核的IP轉(zhuǎn)發(fā)功能 使Linux變成路由器 在RedHat中有兩種方法 1 修改內(nèi)核變量ip forward echo 1 proc sys net ipv4 ip forward 2 修改腳本 etc sysconfig network 將FORWARD IPV4 false改為FORWARD IPV4 true 3 iptables語法 iptables的語法通常可以簡化為下面的形式 iptables ttable CMD chain rule matcher jtarget iptables工具的調(diào)用語法如下 1 對鏈的操作 2 對規(guī)則的操作 3 指定源地址和目的地址 4 指定協(xié)議 5 指定網(wǎng)絡接口 6 指定IP碎片 7 指定非 8 TCP匹配擴展 9 mac匹配擴展 10 limit匹配擴展 11 LOG目標擴展 12 REJECT目標擴展 4 iptables與ipchains的區(qū)別 iptables的缺省鏈的名稱從小寫換成大寫 并且意義不再相同 INPUT和OUTPUT分別放置對目的地址是本機以及本機發(fā)出的數(shù)據(jù)包的過濾規(guī)則 i選項現(xiàn)在只代表輸入網(wǎng)絡接口 輸入網(wǎng)絡接口則使用 o選項 TCP和UDP端口現(xiàn)在需要用 source port或 sport 或 destination port dport 選項拼寫出來并且必須置于 ptcp 或 pudp 選項之后 因為分別是載入TCP和UDP擴展的 以前TCP的 y 標志現(xiàn)在改為 syn 并且必須置于 ptcp 之后 原來的DENY目標最后改為了DROP 可以在列表顯示單個鏈的同時將其清空 可以在清空內(nèi)建鏈的同時將策略計數(shù)器清零 列表顯示鏈時可顯示計數(shù)器的當前瞬時值 REJECT和LOG現(xiàn)在變成了擴展目標 即意味著成為獨立的內(nèi)核模塊 鏈名可以長達31個字符 MASQ現(xiàn)在改為MASQUERADE 并且使用不同的語法 REDIRECT保留原名稱 但也改變了所使用的語法 8 3 3包過濾防火墻配置實例 1 網(wǎng)絡結(jié)構(gòu) 本節(jié)要為如圖8 12所示的網(wǎng)絡結(jié)構(gòu)建立一個包過濾防火墻 這個網(wǎng)絡結(jié)構(gòu)假設內(nèi)部網(wǎng)有有效的Internet地址 為了將內(nèi)部網(wǎng)段192 168 80 0 24與Internet隔離 在內(nèi)部網(wǎng)絡和Internet之間使用了包過濾防火墻 防火墻的內(nèi)網(wǎng)接口是eth1 198 168 80 254 防火墻的Internet接口是eth0 198 199 37 254 另外 內(nèi)網(wǎng)中有3臺服務器對外提供服務 圖8 12包過濾防火墻結(jié)構(gòu)圖 WWW服務器 IP地址為198 168 80 251FTP服務器 IP地址為198 168 80 252E mail服務器 IP地址為198 168 80 253 2 防火墻的建立過程 本例主要是對內(nèi)部的各種服務器提供保護 下面采用編輯并執(zhí)行可執(zhí)行腳本的方法建立此防火墻 具體過程如下 1 在 etc rc d 目錄下用touch命令建立空的腳本文件 執(zhí)行chmod命令添加可執(zhí)行權(quán)限 touch etc rc d filter firewall chmodu x etc rc d filter firewall 2 編輯 etc rc d rc local文件 在末尾加上 etc rc d filter firewall以確保開機時能自動執(zhí)行該腳本 echo etc rc d filter firewall etc rc d rc local 3 使用文本編輯器編輯 etc rc d filter firewall文件 插入如下內(nèi)容 bin bash 在屏幕上顯示信息echo Startingiptablesrules 開啟內(nèi)核轉(zhuǎn)發(fā)功能echo 1 proc sys net ipv4 ip forward 定義變量IPT sbin iptablesWWW SERVER 198 168 80 251FTP SERVER 198 168 80 252EMAIL SERVER 198 168 80 253IP RANGE 198 168 80 0 24 刷新所有的鏈的規(guī)則 IPT F 首先禁止轉(zhuǎn)發(fā)任何包 然后再一步步設置允許通過的包 所以首先設置防火墻FORWARD鏈的策略為DROP IPT PFORWARDDROP 下面設置關(guān)于服務器的包過濾規(guī)則 由于服務器 客戶機交互是雙向的 所以不僅僅要設置數(shù)據(jù)包 出去的規(guī)則 還要設置數(shù)據(jù)包返回的規(guī)則 1 下面建立針對來自Internet數(shù)據(jù)包的過濾規(guī)則 1 WWW服務 服務端口為80 采用tcp或utp協(xié)議 規(guī)則為 eth0 允許目的為內(nèi)部網(wǎng)WWW服務器的包 IPT AFORWORD ptcp d WWW SERVER dportwww ieth0 jACCEPT 2 FTP服務 服務端口為 命令端口21 數(shù)據(jù)端口20 FTP服務采用tcp協(xié)議 規(guī)則為 eth0 允許目的為內(nèi)部網(wǎng)FTP服務器的包 IPT AF

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論