版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
CIW平安課程之
基于IPTABLES的
包過濾防火墻王世宏金鋮計算機學(xué)校包過濾防火墻簡介所謂包過濾就是由一個軟件查看所流經(jīng)的數(shù)據(jù)包的包頭,由此決定整個數(shù)據(jù)包的命運。它可能會決定是丟棄〔DROP〕還是接受〔ACCEPT〕也可能執(zhí)行更為復(fù)雜的動作。在LINUX系統(tǒng)中包過濾是基于內(nèi)核的包過濾的工作層次是在網(wǎng)絡(luò)層。〔因為防火墻是基于路由的所以在第三層〕包過濾防火墻的工作原理使用過濾器,數(shù)據(jù)包的過濾用在內(nèi)部主機和外部主機之間,而過濾系統(tǒng)是一臺路由器或是一臺主機。過濾系統(tǒng)根據(jù)過濾規(guī)那么來決定是否讓數(shù)據(jù)包通過。而用于過濾數(shù)據(jù)包的路由器被稱作過濾路由器。internet過濾路由器內(nèi)部網(wǎng)絡(luò)數(shù)據(jù)包過濾是通過對數(shù)據(jù)包的IP頭和TCP或UDP頭的檢查來實現(xiàn)的。其檢查的對象主要包括:IP源地址IP目標(biāo)地址協(xié)議〔TCP包、UDP包和ICMP包〕TCP和UDP包的源端口TCP和UDP包的目標(biāo)端口ICMP消息類型TCP包頭中的SYN位數(shù)據(jù)包到達的接口數(shù)據(jù)包出去的接口過濾路由器與普通路由器的區(qū)別過濾路由器在在提供普通路徑選擇的同時還要仔細的查看數(shù)據(jù)包,以決定是否應(yīng)該發(fā)送這個數(shù)據(jù)包。當(dāng)然是由自己的決策所限制的〔由管理員設(shè)定〕另外過濾路由器〔防火墻〕又被稱作是包過濾網(wǎng)關(guān),主要因為它涉及到了傳輸層。路由器的過濾決策主要有:拒絕來自某主機或某網(wǎng)段的所有連接允許來自某主機或某網(wǎng)段的所有連接拒絕來自某網(wǎng)段和某主機的指定端口的連接允許來自某網(wǎng)段和某主機的指定端口的連接拒絕本地主機或網(wǎng)段與其他主機或網(wǎng)段的所有連接允許本地主機或網(wǎng)段與其他主機或網(wǎng)段的所有連接拒絕本地主機或網(wǎng)段與其他主機或網(wǎng)段的指定端口連接允許本地主機或網(wǎng)段與其他主機或網(wǎng)段的指定端口連接包過濾的操作流程其實包過濾的流程與華為路由器中的ACL的過程差不多少。是是否是存儲包過濾規(guī)那么分析包頭字段IP、UDP、TCP應(yīng)用下一個包規(guī)那么包規(guī)那么是否允許包規(guī)那么是否阻塞是否是最后一個包規(guī)那么阻塞包允許包Netfilter/iptables架構(gòu)其實架構(gòu)就是指一套能在LINUX系統(tǒng)中方便用戶完成防火墻配置及管理的工具。從內(nèi)核版本為1.1的時候LINUX就有了包過濾的功能了,隨內(nèi)核版本的升級,LINUX下的包過濾經(jīng)歷了如下的階段:1、在內(nèi)核為2.0的時候,采用ipfwadm來操作內(nèi)核包過濾規(guī)那么2、在內(nèi)核為2.2時,采用ipchains3、在內(nèi)核為2.4以后采用一個全新的內(nèi)核包過濾管理工具iptables其中,IPTABLES較前兩種工具而言更具優(yōu)先性和易用性。####注意####netfilter/iptables系統(tǒng)的含意為:在linux2.4內(nèi)核中netfilter是新的用來實現(xiàn)防火墻的過濾器,iptables是用來指定netfilter規(guī)那么的用戶工具。Iptables只是一個管理內(nèi)核包過濾的工具,它為用戶配置防火墻規(guī)那么提供了方便。Iptables可以參加、插入、或刪除核心包過濾表格、鏈中的規(guī)那么,實際上真正執(zhí)行這些規(guī)那么的是netfilter及相應(yīng)模塊〔NAT等〕。Netfilter/iptables的用途建立internet防火墻用NAT和偽裝共享上網(wǎng)〔偽裝是NAT的一種〕用NAT實現(xiàn)透明代理復(fù)雜一點的能夠?qū)崿F(xiàn)QOS路由Netfilter/iptables的內(nèi)核空間和用戶空間實際上Netfilter/iptables看似一個實體,但是由兩種組件組成,即:1、內(nèi)核空間:即Netfilter組件,是內(nèi)核的一局部。由一些表〔TABLE〕組成,每個表由假設(shè)干鏈〔CHAINS〕組成,每個鏈中又可以參加假設(shè)干規(guī)那么〔RULE〕Netfilter/iptables用戶空間用戶空間:即iptables組件,它是一種工具,使插入、修改或者除去過濾表中的規(guī)那么變的簡單。本章相關(guān)重點1LINUX系統(tǒng)中默認有三張表格即:filter(包過濾〕NAT、mangle.每個表〔內(nèi)核空間〕中又有默認的鏈。其中mangle表不常使用,還在進一步開發(fā)中。本單元重點講FILTER表?!睳AT表將在下一單元詳述〕內(nèi)核各表中包含的鏈iptables根據(jù)不同的數(shù)據(jù)包處理功能使用不同的規(guī)那么表。filter——filter表是默認的表。它包含真正的防火墻過濾規(guī)那么。內(nèi)建的規(guī)那么鏈包括:·INPUT·OUTPUT·FORWARDnat——nat表包含源和目的地址和端口轉(zhuǎn)換使用的規(guī)那么。這些規(guī)那么在功能上不同于防火墻過濾規(guī)那么。內(nèi)建的規(guī)那么鏈包括:·PREROUTING(DNAT/REDIRECT)·OUTPUT(DNAT/REDIRECT)·POSTROUTING(SNAT/MASQUERADE)mangle——mangle表包含用于設(shè)置特殊的數(shù)據(jù)包路由標(biāo)志的規(guī)那么。這些標(biāo)志隨后被filter表中的規(guī)那么檢查。內(nèi)建的規(guī)那么鏈包括:·PREROUTING(被路由的數(shù)據(jù)包)·INPUT(到達防火墻并通過PREROUTING規(guī)那么鏈的數(shù)據(jù)包)·FORWARD(修改通過防火墻路由出去的數(shù)據(jù)包)·POSTROUTING(在數(shù)據(jù)包通過OUTPUT規(guī)那么鏈之后但離開防火墻之前修改數(shù)據(jù)包)·OUTPUT(本地產(chǎn)生的數(shù)據(jù)包)本章相關(guān)重點2在包過濾防火墻的配置中,我們可以把一些規(guī)那么納入到filter表中的各鏈。Filter表中默認有三個鏈,分別是:1、INPUT〔存放入站信息包規(guī)那么〕2、OUTPUT〔存放出站信息包規(guī)那么〕3、FORWARD〔存放正在轉(zhuǎn)發(fā)的信息包的規(guī)那么〕具體的過濾實現(xiàn)原理的步驟見下:過濾原理及步驟當(dāng)用戶用IPTABLES往鏈中添加完規(guī)那么之后,內(nèi)核空間接管過濾的工作。####包過濾工作經(jīng)過如下步驟###1、路由,當(dāng)信息包到達防火墻時,內(nèi)核先檢查包頭信息,尤其是目標(biāo)IP。2、根據(jù)情況將數(shù)據(jù)包送往過濾表〔filter)的不同鏈如果信息包源自外界并且數(shù)據(jù)包的目的地是本機,且防火墻是翻開的,那么內(nèi)核將其放入INPUT鏈。如果信息包源自本機或系統(tǒng)所連接的內(nèi)部網(wǎng)上的其他源,并且想前往另一個外部系統(tǒng),那么內(nèi)核將其送往OUTPUT鏈。如果信息包源自外部系統(tǒng)并前往外部系統(tǒng),剛被傳遞到FORWARD鏈3、規(guī)那么檢查,將信息包的頭信息與它所傳遞到的鏈中的每條規(guī)那么進行比較,看是否與某條規(guī)那么完全匹配。配置RULE的那么按規(guī)那么中指定操作進行。如:ACCEPT或DROP、REJECT如果不匹配當(dāng)前規(guī)那么那么繼續(xù)往下一條規(guī)那么匹配。最后如果信息包與鏈中的任何規(guī)那么都不匹配,那么內(nèi)核一般丟棄該包。數(shù)據(jù)包穿越FILTER表的流程圖入站包出站包路由FORWARDINPUT本地處理進程OUTPUTRHEL4中的netfilter/iptables在此系統(tǒng)中該架構(gòu)的軟件包是被自動安裝的??芍苯邮褂谩A硗鉃榱艘瓿赊D(zhuǎn)發(fā)也就是說讓LINUX系統(tǒng)成為路由器,所以必須翻開內(nèi)核轉(zhuǎn)發(fā)功能。有兩種方法:1、修改內(nèi)核變量echo“1”>/proc/sys/net/ipv4/ip_forward2、修改腳本/etc/sysconfig/network將FORWARD_IPV4=false(將false改為true)相關(guān)的TCP/IP知識TCP通過三次握手建立通信假設(shè)A和B通信,1、首先A向B發(fā)一個SYN標(biāo)記的包請求聯(lián)接,只有對方接到這個包才可建立聯(lián)接?!矒Q句話說如果你的防火墻丟棄所有SYN包,那么你將不能與外網(wǎng)的任何主機建立連接〕2、接著B會對A發(fā)一個確認SYN的包SYN/ACK,繼續(xù)握手操作3、A會再往B發(fā)一個確認包,至此通信建立。Iptables語法Iptables規(guī)那么根本上應(yīng)該包含5個要素。1、指定表〔table)<防火墻只使用filter>2、指定操作命令〔CMD〕<包括添加、刪除、更新>3、指定鏈〔chains)<前文所講的三個>4、指定規(guī)那么匹配器〔matcher)<可指定多種匹配如:IP、端口、包類型。5、指定目標(biāo)動作〔target)<此項為重要內(nèi)容,如果沒有此項內(nèi)容鏈的操作將無意義,主要包括這些:ACCEPT表示允許包通過DROP丟棄。REJECT表示拒絕包,給發(fā)送者發(fā)送沒有接受的通知。通??梢詫憺槿缦碌暮喕蝿輎ptables[-ttable]CMD[chain][rule-matcher][-jtarget]****操作命令****-A在所選鏈鏈尾參加一條或多條規(guī)那么-D從所選鏈中刪除一條或多條匹配的規(guī)那么-R在所選鏈中替換一條匹配的規(guī)那么-L列出指定鏈中所有的規(guī)那么-F去除指定鏈和表中的所有規(guī)那么-N以給定的名字建立一個用戶自定義鏈對鏈的操作列表命令帶有額外的選項常用的創(chuàng)立和刪除規(guī)那么鏈中規(guī)那么的命令規(guī)那么匹配器參數(shù)TCP頭部匹配
udp頭部匹配ICMP頭部匹配主要支持的ICMP類型名和數(shù)值如下所示:·echo-reply(0)·destination-unreachable(3)·network-unreachable·host-unreachable·protocol-unreachable·port-unreachable·fragmentation-needed·network-unknown·host-unknown·network-prohibited#網(wǎng)絡(luò)被禁止·host-prohibited#主機被禁止·source-quench(4)#源抑制〔可能是發(fā)包太快會收到此消息警告〕·redirect(5)#重定向·echo-request(8)#PING請求·time-exceeded(11)#超時·parameter-problem(10)#參數(shù)問題其他的ICMP支持iptables支持一些其他不常見或路由專用的ICMP消息類型和子類型。用下面的iptables幫助命令可以查看其整個列表:iptables-Picmp-h
filter表目標(biāo)擴展目標(biāo)動作除了DROP與ACCEPT外還有如下擴展目標(biāo)動作:-jLOG目標(biāo)動作除了DROP與ACCEPT外還有如下擴展目標(biāo)動作:-jREJECT
filter表匹配擴展filter表的匹配擴展提供了對TCP、UDP和ICMP頭部的訪問,和一些可在iptables中進行匹配的特性,像維持連接的狀態(tài)、端口列表、訪問硬件的MAC源地址和IP的TOS字段。
匹配擴展要求-m或--match命令來裝載模塊,后面跟著任何相關(guān)的匹配選項
1.multiportfilter表匹配擴展每個multiport端口列表最多可以包括15個端口。不允許有空格。命令和端口值之間可以沒有空格。列表中不能使用端口范圍。另外,-mmultiport命令必須緊跟在-P<protocol>定義的后面。多端口匹配例子multiport的語法比較靈活。這里有一些例子和本卷須知。下面的這個規(guī)那么阻塞到達接口eth0的入站數(shù)據(jù)包,這些數(shù)據(jù)包的目的地址為與NetBIOS和SMB有關(guān)的UDP端口或微軟Windows計算機常用的但已成為蠕蟲攻擊目標(biāo)的端口:iptables-AINPUT-iethO-pudp\-mmultiport--destination-port135,136,137,138,139-jDROP下一個規(guī)那么阻塞從eth0接口發(fā)送到與TCP效勞NFS、socks和squid相關(guān)的高端端口的連接請求:iptables-AOUTPUT-oeth0-ptcp\-mmultiport--destination-port2049,1080,3128--syn-jREJECT本例中需要注意的是多端口命令必須緊跟在協(xié)議定義的后面。如果--syn放在-Ptcp和-mmultiport之間,就會有語法錯誤產(chǎn)生。limitfilter表匹配擴展頻率限制數(shù)據(jù)包的接受也是可能的。當(dāng)一秒內(nèi)收到5個echo-requests,下面的兩個規(guī)那么一起限制對入站ping數(shù)據(jù)包的接受到每秒一個。iptables-AINPUT-iethO\-picmp--icmp-typeecho-request\-mlimit--limit1/second-jACCEPTiptables-AINPUT-iethO\-picmp--icmp-typeecho-request-jDROP峰值定義了通過初始匹配的數(shù)據(jù)包的數(shù)量,默認值是5。當(dāng)?shù)竭_了限制值,后面的匹配就會受到頻率限制。默認的頻率限制是每小時3次匹配。可選的時間幀定義包括/second、/minute、/hour和/day。換句話說,默認情況下,當(dāng)時間限制內(nèi)的5次匹配初始峰值到達后,下一個小時中最大有三個數(shù)據(jù)包被匹配,每20分鐘一個,而不管收到了多少個數(shù)據(jù)包。如果在頻率限制內(nèi)一個也沒有匹配,那么峰值變?yōu)?。下面例子限制用來響應(yīng)被丟棄的ICMPredirect消息的日志消息的數(shù)量。當(dāng)在20分鐘內(nèi)5個初始消息被記錄,那么后一個小時內(nèi)最多產(chǎn)生3個日志消息,每20分鐘一個:
iptables-AINPUT-iethO\-picmp--icmp-typeredirect\-mlimit-jLOGmac匹配擴展的可行選項記住,MAC地址不能越過路由邊界(或網(wǎng)絡(luò)段)。也要記住,只有源地址可以被指定。Mac擴展僅僅用在in-interface,像INPUT、PREROUTING和FORWARD規(guī)那么鏈。
下面的規(guī)那么允許來自一臺本地主機的入站SSH連接:iptables-AINPUT-i<localinterface>-ptop\-mmac--mac-sourcexx:xx:xx:xx:xx:xx\--source-port1024:65535\-d<IPADDR>--dport22-jACCEPT特殊匹配擴展介紹TOSUIDMARKlength通過使用iprange匹配,你可以指定任意的IP地址范圍來進行匹配。iprange匹配也可以進行否認匹配。表3-22列出了iprange匹配命令。Iptables命令使用舉例鏈的根本操作一般在配置包過濾防火墻這初要去除所有規(guī)那么,重新配置,以免原有規(guī)那么影響新的設(shè)定。使用如下命令執(zhí)行:1、去除預(yù)設(shè)表filter中所有鏈中的規(guī)那么iptables–F2、去除使用者自定義鏈中的規(guī)那么iptables–X3、將指定鏈中所有規(guī)那么的包字節(jié)記數(shù)器清零設(shè)置鏈的默認策略,即每個鏈中的最后一個限制條目,一般有兩種方式:1、沒有拒絕的都允許?!泊朔绞綄τ脩舳院莒`活,但容易引起平安問題〕初始化命令為:iptables–PINPUTACCEPTiptables–POUTPUTACCEPTiptables–PFORWARDACCEPT
2、沒有明確允許的都被拒絕,這種方法最平安,但不太方便。為了使系統(tǒng)有足夠的平安性一般采用此策略。初始化命令為:把上面的例子中的ACCEPT換成DROP3、iptables–L列出表/鏈中的所有規(guī)那么。4、向鏈中添加規(guī)那么,用于開放網(wǎng)絡(luò)接口iptables–AINPUT–ilo–jACCEPTiptables–AOUTPUT–olo–jACCEPTiptables–AINPUT–i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年玻璃雕銑機項目發(fā)展計劃
- 小學(xué)一年級作文有趣的課間十分鐘
- ?小學(xué)一年級小學(xué)生讀后感作文(20篇)
- 小學(xué)二年級暑假周記250字(10篇)
- 第5課《秋天的懷念》教學(xué)設(shè)計 統(tǒng)編版語文七年級上冊
- 100以內(nèi)加減法同步練習(xí) 二年級上冊數(shù)學(xué)人教版
- Tarenflurbil-Standard-生命科學(xué)試劑-MCE
- S-WJM992-生命科學(xué)試劑-MCE
- Sulfachloropyridazine-Standard-生命科學(xué)試劑-MCE
- 初中英語教學(xué)方法總結(jié)教學(xué)拓展
- 2024-2030年中國母乳低聚糖(HMO)行業(yè)發(fā)展形勢與未來前景展望報告
- 《江城子-密州出獵》1省名師課賽課獲獎?wù)n件市賽課一等獎?wù)n件
- 人員、設(shè)備、資金等方面具有相應(yīng)的履約能力的承諾書
- 人教版數(shù)學(xué)二年級上冊第4單元 表內(nèi)乘法一解決問題 第2課時說課稿
- 2024年常州信息職業(yè)技術(shù)學(xué)院高職單招筆試歷年職業(yè)技能測驗典型例題與考點解析含答案
- DB11T 2292-2024 市政工程施工組織設(shè)計管理規(guī)程
- 科研可行性報告格式及范文
- 2024-2030年中國烏雞產(chǎn)品曬市場營銷模式與投資策略規(guī)劃研究研究報告
- 研究生(博士)中期考核
- 骨科??谱o士培訓(xùn)ICU患者監(jiān)護要點
- 【正版授權(quán)】 ISO 15835-3:2018 EN Steels for the reinforcement of concrete - Reinforcement couplers for mechanical splices of bars - Part 3: Conformity assessment scheme
評論
0/150
提交評論