版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第9章
防火墻本章內(nèi)容要點(diǎn)防火墻的相關(guān)概念Netfilter/iptables架構(gòu)firewalld守護(hù)進(jìn)程和配置工具firewall-cmdiptables服務(wù)和配置工具lokkit使用iptabls命令工具配置包過(guò)濾和NAT2024年5月29日2CreativeCommonsLicense(BY-NC-SA)本章學(xué)習(xí)目標(biāo)理解防火墻、堡壘主機(jī)、DMZ、NAT等概念掌握過(guò)濾(狀態(tài)過(guò)濾)防火墻的工作原理掌握Netfilter/iptables的功能及用途理解數(shù)據(jù)包在Netfilter多表中的穿越流程掌握配置工具firewall-cmd的使用掌握配置工具lokkit的使用掌握iptables的命令語(yǔ)法學(xué)會(huì)閱讀和修改iptables的規(guī)則集文件學(xué)會(huì)編寫bash腳本配置包過(guò)濾和NAT2024年5月29日3CreativeCommonsLicense(BY-NC-SA)防火墻概述2024年5月29日4CreativeCommonsLicense(BY-NC-SA)什么是防火墻防火墻是架設(shè)在不同信任級(jí)別的計(jì)算機(jī)網(wǎng)絡(luò)之間的一種檢測(cè)和控制設(shè)備是一個(gè)控制和監(jiān)測(cè)的瓶頸點(diǎn)(chokepoint),不同級(jí)別網(wǎng)絡(luò)間的所有數(shù)據(jù)都必須經(jīng)過(guò)檢查,實(shí)現(xiàn)邊界防護(hù)(perimeterdefence)根據(jù)安全策略配置為允許、拒絕或代理數(shù)據(jù)的通過(guò)必要時(shí),提供NAT、VPN功能防火墻設(shè)備的種類硬件防火墻:專用的硬件或軟硬件結(jié)合的實(shí)現(xiàn)軟件防火墻:基于普通PC或Server硬件上的通用操作系統(tǒng)加防火墻軟件實(shí)現(xiàn)2024年5月29日CreativeCommonsLicense(BY-NC-SA)5防火墻的典型應(yīng)用架設(shè)在一個(gè)較低信任級(jí)別的互聯(lián)網(wǎng)和一個(gè)較高信任級(jí)別的內(nèi)部網(wǎng)絡(luò)之間,實(shí)現(xiàn)對(duì)內(nèi)部網(wǎng)絡(luò)的保護(hù)2024年5月29日CreativeCommonsLicense(BY-NC-SA)6防火墻的功能提供邊界防護(hù)控制內(nèi)外網(wǎng)之間網(wǎng)絡(luò)系統(tǒng)的訪問(wèn)提高內(nèi)部網(wǎng)絡(luò)的保密性和私有性對(duì)網(wǎng)絡(luò)服務(wù)的限制,保護(hù)易受攻擊的服務(wù)只有授權(quán)的流量才允許放行審計(jì)和監(jiān)控記錄網(wǎng)絡(luò)的使用狀態(tài),可以實(shí)現(xiàn)對(duì)異常行為的報(bào)警集中管理內(nèi)網(wǎng)的安全性,降低管理成本對(duì)網(wǎng)絡(luò)滲透的自身免疫保證防火墻自身的安全性2024年5月29日CreativeCommonsLicense(BY-NC-SA)7防火墻的局限性不能保護(hù)繞過(guò)防火墻的攻擊非授權(quán)的網(wǎng)絡(luò)連接(Modem,wireless,etc.)執(zhí)行CD/DVD/USB等介質(zhì)上惡意軟件不能保護(hù)被防火墻信任的攻擊被防火墻信任的組織的攻擊被防火墻信任的服務(wù)(如SSL/SSH)的攻擊不能防止內(nèi)部威脅心懷不滿的雇員的攻擊不能防止所有病毒感染的程序或文件的傳輸由于病毒類型甚多,由防火墻檢測(cè)它們將嚴(yán)重影響數(shù)據(jù)傳輸速度,應(yīng)交由專業(yè)的病毒檢測(cè)軟件處理2024年5月29日CreativeCommonsLicense(BY-NC-SA)8防火墻的分類傳統(tǒng)的包過(guò)濾器Traditionalpacketfilters過(guò)濾器通常與路由器相結(jié)合構(gòu)建防火墻狀態(tài)包過(guò)濾器StatefulPacketfilters應(yīng)用層網(wǎng)關(guān)/代理Application-Layergateways/Proxy2024年5月29日CreativeCommonsLicense(BY-NC-SA)9傳統(tǒng)的包過(guò)濾防火墻簡(jiǎn)介是最簡(jiǎn)單,最快的防火墻組件任何防火墻系統(tǒng)的基礎(chǔ)檢查每個(gè)IP數(shù)據(jù)包(無(wú)上下文),并根據(jù)規(guī)則允許或拒絕可能的默認(rèn)策略沒(méi)有明確允許就禁止沒(méi)有明確禁止就允許2024年5月29日CreativeCommonsLicense(BY-NC-SA)10傳統(tǒng)的包過(guò)濾防火墻
——工作過(guò)程2024年5月29日CreativeCommonsLicense(BY-NC-SA)11傳統(tǒng)的包過(guò)濾防火墻
——工作層次2024年5月29日CreativeCommonsLicense(BY-NC-SA)12傳統(tǒng)的包過(guò)濾防火墻
——數(shù)據(jù)包的檢測(cè)手段數(shù)據(jù)包的流向源IP地址(SA)目標(biāo)IP地址(DA)傳輸層協(xié)議名稱TCP,UDP,ICMPTCP/UDP端口號(hào)源端口(SP)目標(biāo)端口(DP)ICMP消息類型
(messagetype)TCPflagbits(SYN,ACK,FIN,RST,PSH,etc)SYN:初始連接包ACK:以建立連接的回應(yīng)包路由接口對(duì)不同接口的數(shù)據(jù)包實(shí)施放行或阻塞決定2024年5月29日CreativeCommonsLicense(BY-NC-SA)13傳統(tǒng)的包過(guò)濾防火墻
——過(guò)濾規(guī)則舉例2024年5月29日CreativeCommonsLicense(BY-NC-SA)14傳統(tǒng)的包過(guò)濾防火墻
——優(yōu)缺點(diǎn)優(yōu)點(diǎn)一個(gè)過(guò)濾路由器可以保護(hù)整個(gè)網(wǎng)絡(luò)若過(guò)濾規(guī)則簡(jiǎn)單,則過(guò)濾路由器的效率會(huì)很高獲得廣泛應(yīng)用。幾乎所有的路由器,甚至是Linux主機(jī)缺點(diǎn)有可能被攻擊不能執(zhí)行一些政策。例如,允許特定的用戶規(guī)則可以變得非常復(fù)雜和難以測(cè)試2024年5月29日CreativeCommonsLicense(BY-NC-SA)15傳統(tǒng)的包過(guò)濾防火墻
——過(guò)濾器的攻擊及解決方案IP地址欺騙假冒的源地址解決方法:認(rèn)證源路由攻擊攻擊者設(shè)置一個(gè)默認(rèn)以外的路由解決方法:阻塞源路由數(shù)據(jù)包IP碎片攻擊將頭信息分成了幾個(gè)微小的數(shù)據(jù)包解決方法:丟棄或在數(shù)據(jù)包重組前檢查2024年5月29日CreativeCommonsLicense(BY-NC-SA)16狀態(tài)包過(guò)濾防火墻傳統(tǒng)的包過(guò)濾器不檢查更高層上下文必須匹配返回的數(shù)據(jù)包輸出流(通常必須讓SP>1023的包通過(guò))解決這個(gè)問(wèn)題需要使用狀態(tài)包過(guò)濾器,它增加了更多的智能過(guò)濾器的決策過(guò)程狀態(tài)=記得過(guò)去的數(shù)據(jù)包在內(nèi)存中使用動(dòng)態(tài)更新的狀態(tài)表實(shí)現(xiàn)檢查每個(gè)IP數(shù)據(jù)包的上下文跟蹤客戶端-服務(wù)器的會(huì)話有效地檢查每一個(gè)數(shù)據(jù)包屬于哪個(gè)會(huì)話能夠更好地檢測(cè)斷章取義的假冒包2024年5月29日CreativeCommonsLicense(BY-NC-SA)17應(yīng)用層網(wǎng)關(guān)(代理服務(wù)器)針對(duì)特定的應(yīng)用程序的網(wǎng)關(guān)/代理具有完全訪問(wèn)協(xié)議用戶從代理服務(wù)器提出請(qǐng)求代理服務(wù)器根據(jù)訪問(wèn)策略驗(yàn)證客戶端的請(qǐng)求然后執(zhí)行請(qǐng)求的動(dòng)作,并將結(jié)果返回給用戶可以在應(yīng)用程序級(jí)別對(duì)通信流量實(shí)施日志/審計(jì)需要為每種服務(wù)單獨(dú)設(shè)置代理一些服務(wù)自然地支持代理另一些服務(wù)器對(duì)代理的支持則相對(duì)困難2024年5月29日CreativeCommonsLicense(BY-NC-SA)18應(yīng)用層網(wǎng)關(guān)(代理服務(wù)器)
——工作層次2024年5月29日CreativeCommonsLicense(BY-NC-SA)19應(yīng)用層網(wǎng)關(guān)
——代理的工作示意圖2024年5月29日CreativeCommonsLicense(BY-NC-SA)20應(yīng)用層網(wǎng)關(guān)
——緩存代理的工作示意圖常用于http和ftp協(xié)議2024年5月29日CreativeCommonsLicense(BY-NC-SA)21代理服務(wù)器Y數(shù)據(jù)緩存代理進(jìn)程遠(yuǎn)端服務(wù)器客戶端?N應(yīng)用層網(wǎng)關(guān)(代理服務(wù)器)
——優(yōu)缺點(diǎn)優(yōu)點(diǎn)代理可以記錄所有的連接代理可以提供緩存代理可以做基于內(nèi)容的智能過(guò)濾代理可以執(zhí)行用戶級(jí)身份驗(yàn)證缺點(diǎn)并非所有服務(wù)都支持代理可能需要為每種服務(wù)配置各自的代理服務(wù)器需要修改客戶端性能沒(méi)有包過(guò)濾器高2024年5月29日CreativeCommonsLicense(BY-NC-SA)22堡壘主機(jī)(BastionHost)高度安全的主機(jī)系統(tǒng)可能接觸到“敵對(duì)”的元素因此是安全的分界點(diǎn)禁用所有非必要的服務(wù);保持簡(jiǎn)單運(yùn)行應(yīng)用層網(wǎng)關(guān)安裝/修改你想要的服務(wù)或提供外部訪問(wèn)的服務(wù)2024年5月29日CreativeCommonsLicense(BY-NC-SA)23部署堡壘主機(jī)2024年5月29日CreativeCommonsLicense(BY-NC-SA)24屏蔽主機(jī)體系結(jié)構(gòu)(使用一個(gè)路由器)部署堡壘主機(jī)2024年5月29日CreativeCommonsLicense(BY-NC-SA)25屏蔽子網(wǎng)體系結(jié)構(gòu)(使用兩個(gè)路由器)DemilitarizedZone(DMZ)
非軍事區(qū)(DMZ)是位于不可信的互聯(lián)網(wǎng)和可信任的內(nèi)部網(wǎng)絡(luò)之間的一個(gè)中間級(jí)別的區(qū)域2024年5月29日CreativeCommonsLicense(BY-NC-SA)26DMZ的特點(diǎn)
從內(nèi)部和外部網(wǎng)絡(luò)到DMZ的連接是允許的允許DMZ的主機(jī)為內(nèi)部和外部網(wǎng)絡(luò)提供服務(wù)通常只允許外部網(wǎng)絡(luò)訪問(wèn)連接到DMZDMZ內(nèi)的主機(jī)可能無(wú)法連接到內(nèi)部網(wǎng)絡(luò)同時(shí)保護(hù)內(nèi)部網(wǎng)絡(luò)內(nèi)的入侵者危及DMZ中的主機(jī)2024年5月29日CreativeCommonsLicense(BY-NC-SA)27DMZ的應(yīng)用通常用于從外界訪問(wèn)內(nèi)網(wǎng)發(fā)布的公共域服務(wù),如FTP、Email、Web和DNS等2024年5月29日CreativeCommonsLicense(BY-NC-SA)28NAT概述2024年5月29日29CreativeCommonsLicense(BY-NC-SA)解決IPv4地址耗盡問(wèn)題長(zhǎng)遠(yuǎn)的解決方案使用IPv6短期解決方案(有效的使用現(xiàn)有的IPv4地址)無(wú)類域間路由
(ClasslessInterDomainRouting,CIDR)[RFC1518],[RFC1519]網(wǎng)絡(luò)地址轉(zhuǎn)換(NetworkAddressTranslation,NAT)
[RFC1631]2024年5月29日CreativeCommonsLicense(BY-NC-SA)30NAT簡(jiǎn)介NAT提供了將一個(gè)地址域映射到另一個(gè)地址域的標(biāo)準(zhǔn)方法(RFC1631)NAT是一種常用的廣域網(wǎng)接入技術(shù),將私有(保留)地址轉(zhuǎn)化為合法IP地址的轉(zhuǎn)換技術(shù)NAT可以在多重的Internet子網(wǎng)中使用相同的IP(私有地址),用來(lái)減少注冊(cè)IP地址的使用NAT不僅完美地解決了lPv4地址不足的問(wèn)題,而且還能夠有效地避免來(lái)自網(wǎng)絡(luò)外部的攻擊,隱藏并保護(hù)內(nèi)部網(wǎng)絡(luò)的計(jì)算機(jī)2024年5月29日CreativeCommonsLicense(BY-NC-SA)31~55/8~55/12~55/16NAT的分類源NAT(SourceNAT,SNAT)SNAT是指修改數(shù)據(jù)包的源IP地址和/或端口號(hào)會(huì)在包送出之前的最后一刻(出站路由之后)做好SNAT動(dòng)作IP偽裝(Masquerading)是SNAT的一種特殊形式目的NAT(DestinationNAT,DNAT)DNAT是指修改數(shù)據(jù)包的目標(biāo)地址和/或端口號(hào)會(huì)在包進(jìn)入之后(入站路由之前)立刻進(jìn)行DNAT動(dòng)作端口轉(zhuǎn)發(fā)、負(fù)載均衡都屬于DNAT2024年5月29日CreativeCommonsLicense(BY-NC-SA)32NAT的地址轉(zhuǎn)換模式
——四種模式對(duì)應(yīng)四種功能靜態(tài)地址轉(zhuǎn)換(StaticTranslation)實(shí)現(xiàn)兩個(gè)網(wǎng)域內(nèi)相同個(gè)數(shù)地址間的一一映射動(dòng)態(tài)地址轉(zhuǎn)換(DynamicTranslation)大量的內(nèi)部網(wǎng)絡(luò)地址共享一個(gè)外部地址負(fù)載均衡轉(zhuǎn)換(LoadBalancing)將一個(gè)外部傳入的地址分發(fā)到內(nèi)部的多個(gè)地址之一網(wǎng)絡(luò)冗余轉(zhuǎn)換(NetworkRedundancy)多個(gè)互聯(lián)網(wǎng)連接同時(shí)連接到NAT防火墻防火墻根據(jù)使用帶寬、擁塞度和可用性等選擇連接2024年5月29日CreativeCommonsLicense(BY-NC-SA)33靜態(tài)地址轉(zhuǎn)換實(shí)現(xiàn)兩個(gè)網(wǎng)域內(nèi)相同個(gè)數(shù)地址間的一一映射一系列外部地址映射到相同個(gè)數(shù)的內(nèi)部地址也稱一對(duì)一NAT(1:1)NAT防火墻只是對(duì)每個(gè)地址做了簡(jiǎn)單的翻譯端口轉(zhuǎn)發(fā)(Portforwarding)允許一個(gè)或幾個(gè)特定的端口通過(guò)防火墻,而不是所有端口用于僅向公共網(wǎng)絡(luò)暴露內(nèi)部網(wǎng)絡(luò)上的特定服務(wù)的情況2024年5月29日CreativeCommonsLicense(BY-NC-SA)34靜態(tài)地址轉(zhuǎn)換示例2024年5月29日CreativeCommonsLicense(BY-NC-SA)35動(dòng)態(tài)地址轉(zhuǎn)換網(wǎng)絡(luò)地址端口轉(zhuǎn)換AddressandPortTranslation,NAPT將多個(gè)內(nèi)部地址映射為一個(gè)合法公網(wǎng)地址通過(guò)轉(zhuǎn)換TCP或UDP協(xié)議端口號(hào)以及地址來(lái)提供并發(fā)性即:<內(nèi)部地址+內(nèi)部端口>
<外部地址+外部端口>NAT映射表是在內(nèi)部網(wǎng)絡(luò)計(jì)算機(jī)發(fā)起連接時(shí)動(dòng)態(tài)生成的理論上支持216個(gè)連接,但實(shí)際要少得多NAPT也被稱為多對(duì)一NAT(N:1)NAPT也稱地址超載(AddressOverloading)Linux世界里常稱為IP偽裝(IPMasquerading)可以將中小型的內(nèi)部網(wǎng)絡(luò)隱藏在一個(gè)合法的IP地址后面,防止外部主機(jī)直接連接到內(nèi)部主機(jī)2024年5月29日CreativeCommonsLicense(BY-NC-SA)36動(dòng)態(tài)地址轉(zhuǎn)換示例2024年5月29日CreativeCommonsLicense(BY-NC-SA)37InternetWebserverabcNAT0Connectionrequesttoport80from‘c‘to<webserver>source,port1025.,port1025mappedto0,port2000Connectionrequestfrom‘c’forwardedto<webserver>source0,port2000.Requestreceivedandaccepted.內(nèi)部Web客戶通過(guò)NAPT
訪問(wèn)外部Web服務(wù)的過(guò)程InsideIPInsidePortOutIPOutPort103402005102502000CreativeCommonsLicense(BY-NC-SA)2024年5月29日38InternetWebserverabcNATResponsesentto0,port2000.內(nèi)部Web客戶通過(guò)NAPT
訪問(wèn)外部Web服務(wù)的過(guò)程(續(xù))
InsideIPInsidePortOutIPOutPort103402005102502000Translate0,port2000toport1025CreativeCommonsLicense(BY-NC-SA)2024年5月29日39負(fù)載均衡轉(zhuǎn)換將一個(gè)外部請(qǐng)求動(dòng)態(tài)映射到本地網(wǎng)絡(luò)的一個(gè)克隆機(jī)(提供相同服務(wù))的地址池實(shí)現(xiàn)負(fù)載均衡通常用于非常繁忙的Web網(wǎng)站每個(gè)克隆機(jī)必須有一種方法通知其是防火墻的當(dāng)前負(fù)載,使防火墻可以選擇一個(gè)目標(biāo)服務(wù)器或防火墻只使用一種調(diào)度算法,如輪循調(diào)度算法僅適用于無(wú)狀態(tài)協(xié)議(如HTTP)2024年5月29日CreativeCommonsLicense(BY-NC-SA)40網(wǎng)絡(luò)冗余轉(zhuǎn)換可用于提供自動(dòng)故障修復(fù)服務(wù)或負(fù)載均衡防火墻被連接到多個(gè)ISP防火墻使用偽裝方法連接每個(gè)ISP,即:一對(duì)多NAT(1:N)選擇使用哪個(gè)ISP由客戶端負(fù)載決定實(shí)現(xiàn)了一種類似于“反向負(fù)載平衡”的技術(shù)一個(gè)宕機(jī)的ISP被視為滿載,客戶端將被路由到另一個(gè)ISP2024年5月29日CreativeCommonsLicense(BY-NC-SA)41NAT的攻擊及解決方案靜態(tài)地址轉(zhuǎn)換沒(méi)有提供內(nèi)部網(wǎng)絡(luò)主機(jī)的保護(hù)解決方案:同時(shí)實(shí)施包過(guò)濾通過(guò)NAT的源路由如果黑客知道內(nèi)部地址,他們可以使用源路由數(shù)據(jù)包連接到該主機(jī)解決方案:不允許源路由數(shù)據(jù)包通過(guò)防火墻2024年5月29日CreativeCommonsLicense(BY-NC-SA)42內(nèi)部主機(jī)的誘惑內(nèi)部主機(jī)連接外部黑客通過(guò)電子郵件附件種植木馬病毒點(diǎn)對(duì)點(diǎn)連接黑客運(yùn)行色情或賭博網(wǎng)站等解決方案:應(yīng)用層代理Netfilter/iptables架構(gòu)2024年5月29日43CreativeCommonsLicense(BY-NC-SA)Netfilter/iptables簡(jiǎn)介L(zhǎng)inux的防火墻系統(tǒng)Linux內(nèi)核2.4版本之后的防火墻解決方案netfilter
是內(nèi)核空間中實(shí)現(xiàn)防火墻的內(nèi)部架構(gòu)iptables是用戶空間中配置防火墻的命令工具Netfilter/iptables的主要功能包過(guò)濾(Packetfiltering)連接跟蹤(Connectiontracking)網(wǎng)絡(luò)地址轉(zhuǎn)換(NetworkAddressTranslation)重整包頭(Manglingpacketheaderfields)2024年5月29日CreativeCommonsLicense(BY-NC-SA)44NetfilterNetfilter是一種內(nèi)核中用于擴(kuò)展各種網(wǎng)絡(luò)功能的結(jié)構(gòu)化底層構(gòu)架Netfilter是內(nèi)核的網(wǎng)絡(luò)協(xié)議堆棧中的一系列“鉤子(hooks)”數(shù)據(jù)包在流經(jīng)網(wǎng)絡(luò)協(xié)議堆棧的任意時(shí)刻均可被“鉤住(hooked)”所謂鉤住,即允許特定的內(nèi)核模塊調(diào)用函數(shù)通過(guò)“查表”方法來(lái)處理(拒絕/放行/整型等)數(shù)據(jù)包被鉤子鉤住的時(shí)刻稱為“檢查點(diǎn)”2024年5月29日CreativeCommonsLicense(BY-NC-SA)45Netfilter默認(rèn)的檢查點(diǎn)2024年5月29日CreativeCommonsLicense(BY-NC-SA)46表(table)Netfilter在內(nèi)核運(yùn)行的內(nèi)存中維護(hù)一系列的表內(nèi)核模塊通過(guò)查表方法決定包的處理方式表的結(jié)構(gòu)iptables將表抽象為若干鏈(chain),鏈對(duì)應(yīng)Netfilter的檢查點(diǎn)鏈由若干決定特定數(shù)據(jù)包處理方式的規(guī)則(rule)構(gòu)成2024年5月29日CreativeCommonsLicense(BY-NC-SA)47Netfilter/iptables使用的表filter實(shí)現(xiàn)包過(guò)濾,是默認(rèn)的表Hooks:LOCAL_IN,LOCAL_OUT,FORWARD內(nèi)置鏈:INPUT、OUTPUT、FORWARDnat實(shí)現(xiàn)NATHooks:LOCAL_OUT,PRE_ROUTING,POST_ROUTING內(nèi)置鏈:
OUTPUT、PREROUTING、POSTROUTING2024年5月29日CreativeCommonsLicense(BY-NC-SA)48Netfilter/iptables使用的表-續(xù)mangle用于改寫包頭特定字段的內(nèi)容Hooks:LOCAL_IN,LOCAL_OUT,FORWARD,PRE_ROUTING,POST_ROUTING內(nèi)置鏈:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTINGraw用于使數(shù)據(jù)包繞過(guò)連接跟蹤Hooks:LOCAL_OUT,PRE_ROUTING內(nèi)置鏈:
OUTPUT、PREROUTING2024年5月29日CreativeCommonsLicense(BY-NC-SA)49iptables使用的鏈2024年5月29日CreativeCommonsLicense(BY-NC-SA)50專表專用、專鏈專用專表專用filter:專門用于過(guò)濾數(shù)據(jù)nat:用于地址轉(zhuǎn)換(只匹配初始連接數(shù)據(jù),隨后使用連接跟蹤)mangle:用于修改數(shù)據(jù)包頭的內(nèi)容raw:用于在連接追蹤前預(yù)處理數(shù)據(jù)專鏈專用PREROUTING:用于匹配最先接觸到的數(shù)據(jù)(raw,mangle,nat)INPUT:用于匹配到達(dá)本機(jī)的數(shù)據(jù)(mangle,filter)FORWARD:用于匹配穿越本機(jī)的數(shù)據(jù)(mangle,filter)OUTPUT:用于匹配從本機(jī)發(fā)出的數(shù)據(jù)(raw,mangle,nat,filter)POSTROUTING:用于匹配最后離開(kāi)的數(shù)據(jù)(mangle,nat)2024年5月29日CreativeCommonsLicense(BY-NC-SA)51iptables命令工具iptables只是一個(gè)配置防火墻規(guī)則的用戶管理工具,實(shí)際真正執(zhí)行規(guī)則的是內(nèi)核中的Netfilter及其相關(guān)模塊iptables的功能向鏈中追加、插入或刪除規(guī)則設(shè)置預(yù)定義(默認(rèn)/內(nèi)置)鏈策略生成自定義鏈查看鏈中的規(guī)則2024年5月29日CreativeCommonsLicense(BY-NC-SA)52使用iptables命令設(shè)置規(guī)則設(shè)置規(guī)則的iptables命令應(yīng)該包含5個(gè)要素表(table):可以是filter、nat、mangle或raw。命令(command):包括添加、刪除、更新規(guī)則;創(chuàng)建自定義鏈和對(duì)內(nèi)置鏈設(shè)置鏈策略等。鏈(chains):針對(duì)不同用途指定要操作的鏈。匹配器(matcher):可以指定各種規(guī)則匹配,如IP地址、端口、包類型等。目標(biāo)(target):當(dāng)規(guī)則匹配一個(gè)包時(shí)執(zhí)行的動(dòng)作。例如:接受或拒絕。目標(biāo)是可選的,但是每條規(guī)則最多只能有一個(gè)目標(biāo),如沒(méi)有目標(biāo),就默認(rèn)使用鏈的策略。2024年5月29日CreativeCommonsLicense(BY-NC-SA)53iptables命令語(yǔ)法2024年5月29日CreativeCommonsLicense(BY-NC-SA)54iptables[-ttable]cmd[chain][matches][target]iptables命令的基本匹配規(guī)則2024年5月29日CreativeCommonsLicense(BY-NC-SA)55使用iptables命令設(shè)置規(guī)則例向過(guò)濾表(filter)的INPUT鏈尾追加(-A)一條規(guī)則,拒絕所有源地址是的包所有的表名使用小寫字母,所有的鏈名使用大寫字母,所有的規(guī)則匹配使用小寫字母,所有的目標(biāo)動(dòng)作使用大寫字母2024年5月29日CreativeCommonsLicense(BY-NC-SA)56傳統(tǒng)過(guò)濾器的規(guī)則設(shè)置方法2024年5月29日57CreativeCommonsLicense(BY-NC-SA)主機(jī)過(guò)濾防火墻一塊網(wǎng)卡連接網(wǎng)絡(luò)2024年5月29日CreativeCommonsLicense(BY-NC-SA)58過(guò)濾只涉及兩個(gè)鏈下面的例子假定防火墻的默認(rèn)策略為拒絕一切包舉例1:ssh的入站過(guò)濾協(xié)議類型:TCP入站包目的端口為22源端口號(hào)為>1023的隨機(jī)值入站連接建立的第一個(gè)數(shù)據(jù)包沒(méi)有ACK標(biāo)志設(shè)置隨后的數(shù)據(jù)包均包含ACK標(biāo)志設(shè)置出站包(回應(yīng)請(qǐng)求)源端口為22(運(yùn)行在防火墻上的SSH服務(wù))目的端口是入站包使用的隨機(jī)端口所有的出站包均包含ACK標(biāo)志設(shè)置2024年5月29日CreativeCommonsLicense(BY-NC-SA)59防火墻上的sshd對(duì)外提供服務(wù)舉例1:ssh的入站過(guò)濾規(guī)則DirProtoSASPDADPACK?ActionINTCP0>102322*AcceptOUTTCP220>1023YesAccept2024年5月29日CreativeCommonsLicense(BY-NC-SA)60#iptables-IINPUT-ieth0-ptcp\-s0--sport1024:65535\-d--dport22\-jACCEPT#iptables-IOUTPUT-oeth0-ptcp!--syn\-s--sport22\-d0--dport1024:65535\-jACCEPT舉例2:telnet的出站過(guò)濾協(xié)議類型:TCP出站包目的端口為23源端口號(hào)為>1023的隨機(jī)值出站連接建立的第一個(gè)數(shù)據(jù)包沒(méi)有ACK標(biāo)志設(shè)置隨后的數(shù)據(jù)包均包含ACK標(biāo)志設(shè)置入站包(回應(yīng)請(qǐng)求)源端口為23(運(yùn)行在其他主機(jī)上的Telnet服務(wù))目的端口是出站包使用的隨機(jī)端口所有的入站包均包含ACK標(biāo)志設(shè)置2024年5月29日CreativeCommonsLicense(BY-NC-SA)61防火墻訪問(wèn)其他主機(jī)的telnet服務(wù)舉例2:telnet的出站過(guò)濾規(guī)則2024年5月29日CreativeCommonsLicense(BY-NC-SA)62DirProtoSASPDADPACK?ActionOUTTCP>1023*23*AcceptINTCP*23>1023YesAccept#iptables-IOUTPUT-oeth0-ptcp\-s--sport1024:65535\--dport23\-jACCEPT#iptables-IINPUT-ieth0-ptcp!--syn\--sport23\-d--dport1024:65535\-jACCEPT舉例3:smtp的入站和出站過(guò)濾2024年5月29日CreativeCommonsLicense(BY-NC-SA)63DirProtoSASPDADPACK?ActionINTCP*>102325*AcceptOUTTCP25*>1023YesAcceptOUTTCP>1023*25*AcceptINTCP*25>1023YesAccept防火墻上的smtp對(duì)外提供服務(wù),也可訪問(wèn)其他主機(jī)的smtp服務(wù)#iptables-IINPUT-ptcp--sport1024:65535\-d--dport25-jACCEPT#iptables-IOUTPUT-ptcp!--syn-s--sport25\--dport1024:65535-jACCEPT#iptables-IOUTPUT-ptcp-s--sport1024:65535\--dport25-jACCEPT#iptables-IINPUT-ptcp!--syn--sport25\-d--dport1024:65535-jACCEPT舉例4:DNS的入站和出站過(guò)濾2024年5月29日CreativeCommonsLicense(BY-NC-SA)64DirProtoSASPDADPACK?ActionINUDP*>102353AcceptOUTUDP53*>1023AcceptOUTUDP>1023*53AcceptINUDP*53>1023Accept防火墻上的DNS對(duì)外提供服務(wù),也可訪問(wèn)其他主機(jī)的DNS服務(wù)#iptables-IINPUT-pudp--sport1024:65535\-d--dport53-jACCEPT#iptables-IOUTPUT-pudp-s--sport53\--dport1024:65535-jACCEPT#iptables-IOUTPUT-pudp-s--sport1024:65535\--dport53-jACCEPT#iptables-IINPUT-pudp--sport53\-d--dport1024:65535-jACCEPT網(wǎng)絡(luò)過(guò)濾防火墻(1)至少兩塊網(wǎng)卡連接不同網(wǎng)絡(luò)2024年5月29日CreativeCommonsLicense(BY-NC-SA)65eth0eth1下面的例子假定防火墻的默認(rèn)策略為拒絕一切包#echo“1”>/proc/sys/net/ipv4/ip_forward網(wǎng)絡(luò)過(guò)濾防火墻(2)2024年5月29日CreativeCommonsLicense(BY-NC-SA)66涉及三個(gè)鏈(下面重點(diǎn)討論轉(zhuǎn)發(fā)包的過(guò)濾)舉例5:內(nèi)網(wǎng)訪問(wèn)外網(wǎng)
ssh服務(wù)的過(guò)濾規(guī)則DirProtoSASPDADPACK?Action內(nèi)
外TCP/24>1023*22*Accept外
內(nèi)TCP*22/24>1023YesAccept2024年5月29日CreativeCommonsLicense(BY-NC-SA)67#iptables-IFORWARD-ieth0-oeth1-ptcp\-s/24--sport1024:65535\--dport22-jACCEPT#iptables-IFORWARD-ieth1-oeth0-ptcp!--syn\--sport22\-d/24--dport1024:65535\-jACCEPT舉例6:外網(wǎng)訪問(wèn)內(nèi)網(wǎng)
telnet服務(wù)的過(guò)濾規(guī)則2024年5月29日CreativeCommonsLicense(BY-NC-SA)68DirProtoSASPDADPACK?Action外
內(nèi)TCP*>1023/2423*Accept內(nèi)
外TCP/2423*>1023YesAccept#iptables-IFORWARD-ieth1-oeth0-ptcp\--sport1024:65535\-d/24--dport23\-jACCEPT#iptables-IFORWARD-ieth0-oeth1-ptcp!--syn\-s/24--sport23\--dport1024:65535\-jACCEPT舉例7:smtp的內(nèi)外轉(zhuǎn)發(fā)過(guò)濾2024年5月29日CreativeCommonsLicense(BY-NC-SA)69DirProtoSASPDADPACK?Action內(nèi)
外TCP/24>1023*25*Accept外
內(nèi)TCP*25/24>1023YesAccept外
內(nèi)TCP*>1023/2425*Accept內(nèi)
外TCP/2425*>1023YesAccept防火墻允許內(nèi)網(wǎng)訪問(wèn)外網(wǎng)的smtp服務(wù),也允許外網(wǎng)訪問(wèn)內(nèi)網(wǎng)的smtp服務(wù)#iptables-IFORWARD-ptcp-s/24--sport1024:65535\--dport25-jACCEPT#iptables-IFORWARD-ptcp!--syn--sport25\-d/24--dport1024:65535-jACCEPT#iptables-IFORWARD-ptcp--sport1024:65535\-d/24--dport25-jACCEPT#iptables-IFORWARD-ptcp!--syn-s/24--sport25\--dport1024:65535-jACCEPT舉例8:DNS的內(nèi)外轉(zhuǎn)發(fā)過(guò)濾2024年5月29日CreativeCommonsLicense(BY-NC-SA)70DirProtoSASPDADPACK?Action內(nèi)
外UDP/24>1023*53Accept外
內(nèi)UDP*53/24>1023Accept外
內(nèi)UDP*>1023/2453Accept內(nèi)
外UDP/2453*>1023Accept#iptables-IFORWARD-pudp-s/24--sport1024:65535\--dport53-jACCEPT#iptables-IFORWARD-pudp--sport53\-d/24--dport1024:65535-jACCEPT#iptables-IFORWARD-pudp--sport1024:65535\-d/24--dport53-jACCEPT#iptables-IFORWARD-pudp-s/24--sport53\--dport1024:65535-jACCEPT防火墻允許內(nèi)網(wǎng)訪問(wèn)外網(wǎng)的DNS服務(wù),也允許外網(wǎng)訪問(wèn)內(nèi)網(wǎng)的DNS服務(wù)傳統(tǒng)包過(guò)濾的缺陷規(guī)則復(fù)雜,過(guò)濾規(guī)則必須成對(duì)出現(xiàn)必須為入站請(qǐng)求的回應(yīng)包打開(kāi)隨機(jī)端口(1024-65535)必須為出站請(qǐng)求的回應(yīng)包打開(kāi)隨機(jī)端口(1024-65535)必須為轉(zhuǎn)發(fā)請(qǐng)求的回應(yīng)包打開(kāi)隨機(jī)端口(1024-65535)對(duì)于UDP協(xié)議包無(wú)法檢查是請(qǐng)求還是回應(yīng)對(duì)于FTP協(xié)議,由于存在主動(dòng)和被動(dòng)之分,規(guī)則配置更復(fù)雜2024年5月29日CreativeCommonsLicense(BY-NC-SA)71對(duì)傳統(tǒng)包過(guò)濾的改進(jìn)
——Netfilter支持狀態(tài)過(guò)濾為數(shù)據(jù)包在IP層重建連接保存包的連接狀態(tài)即使UDP沒(méi)有ACK標(biāo)志,也可以通過(guò)已經(jīng)記住的UDP包狀態(tài)構(gòu)建相關(guān)聯(lián)的回應(yīng)連接可以使用一條規(guī)則跟蹤回應(yīng)包,而不必為每個(gè)服務(wù)的連接單獨(dú)開(kāi)放回應(yīng)可以檢查應(yīng)用層報(bào)文可以通過(guò)檢查FTP應(yīng)用層協(xié)議的PASV/PORT命令數(shù)據(jù)流找到FTP數(shù)據(jù)流需要的返回端口2024年5月29日CreativeCommonsLicense(BY-NC-SA)72連接跟蹤和狀態(tài)防火墻2024年5月29日73CreativeCommonsLicense(BY-NC-SA)連接跟蹤和狀態(tài)防火墻概述Netfilter/iptables可以配置有狀態(tài)的防火墻在Netfilter中使用連接跟蹤表跟蹤包狀態(tài)在iptables中使用狀態(tài)實(shí)現(xiàn)指定類型的包匹配Netfilter的連接跟蹤檢查每個(gè)IP數(shù)據(jù)包的上下文由ip_conntrack.ko
和ip_conntrack_*.ko模塊實(shí)現(xiàn)內(nèi)存中維護(hù)著連接跟蹤狀態(tài)的表/proc/net/ip_conntrackiptables為用戶空間提供了連接跟蹤的匹配狀態(tài)NEW:初始連接包ESTABLISHED:連接的回應(yīng)包RELATED:由某個(gè)已經(jīng)建立的連接所建立的新連接INVALID:不能被識(shí)別屬于哪個(gè)連接或沒(méi)有任何狀態(tài)2024年5月29日CreativeCommonsLicense(BY-NC-SA)74iptables的狀態(tài)匹配擴(kuò)展首先使用一條規(guī)則來(lái)允許連接應(yīng)答包然后對(duì)每個(gè)允許的服務(wù)的新連接設(shè)置一條規(guī)則最后使用一條規(guī)則來(lái)阻止所有其它進(jìn)入的連接2024年5月29日CreativeCommonsLicense(BY-NC-SA)75-mstate--state[!]<state>[,<state>,<state>,<state>]iptables-AINPUT-mstate–stateESTABLISHED,RELATED-jACCEPTiptables-AINPUT-mstate–stateNEW-ptcp–dport22-jACCEPTiptables-AINPUT-mstate–stateNEW-ptcp–dport80-jACCEPTiptables-AINPUT-mstate–stateNEW-jDROPiptables的狀態(tài)匹配擴(kuò)展舉例使用狀態(tài)匹配設(shè)置轉(zhuǎn)發(fā)規(guī)則2024年5月29日CreativeCommonsLicense(BY-NC-SA)76#iptables-AFORWARD\-i<internalinterface>-o<externalinterface>\-s/24--sport1024:65535\
-mstate--stateNEW,ESTABLISHED,RELATED\-jACCEPT#iptables-AFORWARD\-i<externalinterface>-o<internalinterface>\
-mstate--stateESTABLISHED,RELATED\-jACCEPTNEW狀態(tài)與TCP標(biāo)志位為了使備份防火墻在接管工作時(shí)不丟失數(shù)據(jù)傳輸狀態(tài)NEW會(huì)允許幾乎所有的TCP連接進(jìn)入,而不管是否經(jīng)過(guò)了3次握手在不使用備份防火墻的系統(tǒng)中應(yīng)該同時(shí)檢查SYN或?qū)⑺袥](méi)有設(shè)置SYN標(biāo)志位的NEW狀態(tài)的數(shù)據(jù)包視為攻擊包,將其納入系統(tǒng)日志并丟棄2024年5月29日CreativeCommonsLicense(BY-NC-SA)77iptables-AINPUT-ptcp!--syn-mstate--stateNEW\-jLOG--log-prefix"NewbutnoSYN:"iptables-AINPUT-ptcp!--syn-mstate--stateNEW-jDROPiptables-AINPUT-ptcp--syn-mstate–stateNEW-ptcp–dport22-jACCEPTiptables-AINPUT-ptcp--syn-mstate–stateNEW-ptcp–dport80-jACCEPT連接跟蹤的優(yōu)缺點(diǎn)優(yōu)點(diǎn)提高效率:連接跟蹤加快了已建立連接的后續(xù)數(shù)據(jù)包的放行簡(jiǎn)化規(guī)則設(shè)計(jì):可以使用一條規(guī)則跟蹤所有連接的回應(yīng)包提高安全性:可以只開(kāi)放那些有應(yīng)答數(shù)據(jù)的端口,無(wú)需打開(kāi)1024以上的所有端口來(lái)放行應(yīng)答數(shù)據(jù)包缺點(diǎn)需要使用更多的物理內(nèi)存/proc/sys/net/ipv4/ip_conntrack_max2024年5月29日CreativeCommonsLicense(BY-NC-SA)78對(duì)連接跟蹤進(jìn)行調(diào)優(yōu)指定連接跟蹤最大連接數(shù)/etc/sysctl.conffilter.nf_conntrack_max=500000指定連接跟蹤模塊加載時(shí)使用的cache大小/etc/modprobe.confoptionsip_conntrackhashsize=2000002024年5月29日CreativeCommonsLicense(BY-NC-SA)79繞過(guò)連接跟蹤避免遭遇“連接跟蹤表滿丟棄數(shù)據(jù)包”的錯(cuò)誤數(shù)據(jù)包的非跟蹤處理引入raw表,使用目標(biāo)NOTRACK標(biāo)記非跟蹤包PREROUTING鏈:對(duì)進(jìn)入防火墻的數(shù)據(jù)包進(jìn)行OUTPUT鏈:對(duì)防火墻生成的數(shù)據(jù)包進(jìn)行引入新的狀態(tài)UNTRACKED用于標(biāo)識(shí)被raw表設(shè)置了“NOTRACK”的數(shù)據(jù)包Netfilter處理表的順序是最先處理raw表所以在對(duì)其他表(如filter)的操作中總能使用狀態(tài)UNTRACKED匹配那些被raw表設(shè)置了NOTRACK的數(shù)據(jù)包2024年5月29日CreativeCommonsLicense(BY-NC-SA)80使用非連接跟蹤的情況鑒于連接跟蹤的諸多優(yōu)點(diǎn),應(yīng)該盡量使用在使用連接跟蹤的同時(shí),為避免連接跟蹤表滿丟棄數(shù)據(jù)包的情況,通常只對(duì)防火墻的部分流量實(shí)施非連接跟蹤,例如:對(duì)一個(gè)重負(fù)荷的路由器防火墻,只對(duì)防火墻自身的入站包和出站包使用連接跟蹤,而對(duì)被路由的轉(zhuǎn)發(fā)流量則不用。對(duì)一個(gè)大流量的Web服務(wù)器,只對(duì)Web服務(wù)的80端口實(shí)施非連接跟蹤,而對(duì)其他的服務(wù)依舊使用連接跟蹤的方便性。2024年5月29日CreativeCommonsLicense(BY-NC-SA)81非連接跟蹤配置舉例對(duì)目標(biāo)端口為80的數(shù)據(jù)包標(biāo)記NOTRACK放行訪問(wèn)本地的所有回應(yīng)包和關(guān)聯(lián)包,同時(shí)放行已經(jīng)被raw表標(biāo)記為NOTRACK的非跟蹤狀態(tài)包允許連接本地FTP服務(wù)和SSH服務(wù)拒絕其他所有對(duì)本地的連接2024年5月29日CreativeCommonsLicense(BY-NC-SA)82iptables-raw-APREROUTING-ptcp-mtcp--dport80-jNOTRACKiptables-AINPUT-mstate--stateESTABLISHED,RELATED,UNTRACKED-jACCEPTiptables-AINPUT-mstate--stateNEW-ptcp--dport21-jACCEPTiptables-AINPUT-mstate--stateNEW-ptcp--dport22-jACCEPTiptables-AINPUT-jDROPNetfilter的工作流程2024年5月29日83CreativeCommonsLicense(BY-NC-SA)表和鏈的處理順序Netfilter的相關(guān)模塊按順序查詢多個(gè)表和鏈在檢查點(diǎn)上,表的查詢順序?yàn)椋簉aw
mangle
nat
filter如:如果INPUT鏈上即有mangle表也有filter表,那么先處理mangle表,然后再處理filter表。不同鏈的匹配順序?yàn)椋喝胝景繕?biāo)地址為防火墻自身):PREROUTING
INPUT出站包(源地址為防火墻自身):OUTPUT
POSTROUTING轉(zhuǎn)發(fā)包(目標(biāo)地址和源地址均不是防火墻自身):PREROUTING
FORWARD
POSTROUTING2024年5月29日CreativeCommonsLicense(BY-NC-SA)84鏈內(nèi)規(guī)則的匹配順序自上而下按規(guī)則的出現(xiàn)順序依次進(jìn)行匹配檢查檢測(cè)到完全匹配的規(guī)則就按規(guī)則目標(biāo)行事(或允許或拒絕或改寫包頭)并忽略鏈中后續(xù)規(guī)則的匹配(LOG目標(biāo)除外)若包與本條規(guī)則不匹配,則依次與鏈中的下一條規(guī)則進(jìn)行比較最后,如果包與鏈中的任何規(guī)則都不匹配,那么內(nèi)核將參考該鏈的默認(rèn)策略來(lái)決定如何處理該包2024年5月29日CreativeCommonsLicense(BY-NC-SA)85規(guī)則的順序相當(dāng)重要filter表和包過(guò)濾流程2024年5月29日CreativeCommonsLicense(BY-NC-SA)86本地進(jìn)程本地進(jìn)程入站出站轉(zhuǎn)發(fā)nat表和網(wǎng)絡(luò)地址轉(zhuǎn)換2024年5月29日CreativeCommonsLicense(BY-NC-SA)87DNATSNAT本地進(jìn)程DNATmangle表和包頭處理2024年5月29日CreativeCommonsLicense(BY-NC-SA)88在DNAT前處理在SNAT前處理在nat和filter表處理前處理在filter表處理前處理在filter表處理前處理本地進(jìn)程本地進(jìn)程raw表和非跟蹤處理2024年5月29日CreativeCommonsLicense(BY-NC-SA)89對(duì)入站包標(biāo)記非跟蹤狀態(tài)對(duì)出站包標(biāo)記非跟蹤狀態(tài)本地進(jìn)程數(shù)據(jù)流向2024年5月29日CreativeCommonsLicense(BY-NC-SA)902024年5月29日CreativeCommonsLicense(BY-NC-SA)91RHEL/CentOS7的防火墻2024年5月29日92CreativeCommonsLicense(BY-NC-SA)CentOS7的防火墻系統(tǒng)組成2024年5月29日CreativeCommonsLicense(BY-NC-SA)93兩種互斥的防火墻系統(tǒng)CentOS7的動(dòng)態(tài)防火墻系統(tǒng)引入了與netfilter交互的firewalld系統(tǒng)firewalld:配置和監(jiān)控系統(tǒng)防火墻規(guī)則的守護(hù)進(jìn)程與守護(hù)進(jìn)程交互的管理程序可以通過(guò)DBus消息系統(tǒng)與firewalld通信,從而動(dòng)態(tài)管理防火墻規(guī)則Firewall-cmd:與firewalld交互的管理程序向下兼容的靜態(tài)防火墻系統(tǒng)iptables服務(wù):負(fù)責(zé)防火墻規(guī)則的持久性管理工具:lokkit/system-config-firewall-tui2024年5月29日CreativeCommonsLicense(BY-NC-SA)94firewalld的區(qū)域firewalld將所有網(wǎng)絡(luò)流量分為多個(gè)區(qū)域,從而簡(jiǎn)化防火墻管理。根據(jù)數(shù)據(jù)包的源IP地址或傳入網(wǎng)絡(luò)接口等條件,流量將轉(zhuǎn)入相應(yīng)區(qū)域的防火墻規(guī)則,對(duì)于流入系統(tǒng)的每個(gè)數(shù)據(jù)包,將首先檢查其源地址。若此源地址關(guān)聯(lián)到特定的區(qū)域,則會(huì)執(zhí)行該區(qū)域的規(guī)則。若此源地址未關(guān)聯(lián)到某區(qū)域,則使用傳入網(wǎng)絡(luò)接口的區(qū)域并執(zhí)行區(qū)域規(guī)則。若網(wǎng)絡(luò)接口未與某區(qū)域關(guān)聯(lián),則使用默認(rèn)區(qū)域并執(zhí)行區(qū)域規(guī)則。2024年5月29日CreativeCommonsLicense(BY-NC-SA)95firewalld的預(yù)定義區(qū)域publicinternelexternaldmztrustedworkhomeblockdrop2024年5月29日CreativeCommonsLicense(BY-NC-SA)96firewall-cmd
——獲取預(yù)定義信息顯示預(yù)定義的區(qū)域#firewall-cmd--get-zones顯示預(yù)定義的服務(wù)#firewall-cmd--get-services顯示預(yù)定義的ICMP阻塞類型#firewall-cmd--get-icmptypes2024年5月29日CreativeCommonsLicense(BY-NC-SA)97firewall-cmd——區(qū)域管理顯示默認(rèn)區(qū)域#firewall-cmd--get-default-zone顯示已激活的所有區(qū)域#firewall-cmd--get-active-zones顯示默認(rèn)區(qū)域的所有規(guī)則#firewall-cmd--list-all顯示網(wǎng)絡(luò)接口eno33554960對(duì)應(yīng)的區(qū)域#firewall-cmd--get-zone-of-interface=eno33554960更改網(wǎng)絡(luò)接口eno33554960對(duì)應(yīng)的區(qū)域#firewall-cmd--zone=internal--change-interface=eno335549602024年5月29日CreativeCommonsLicense(BY-NC-SA)98firewall-cmd
——管理區(qū)域中的服務(wù)為默認(rèn)區(qū)域設(shè)置允許訪問(wèn)的服務(wù)或端口號(hào)#firewall-cmd--add-service=http#firewall-cmd--list-services#firewall-cmd--add-port=8888/tcp#firewall-cmd--list-ports為指定區(qū)域設(shè)置允許訪問(wèn)的服務(wù)或端口號(hào)#firewall-cmd--zone=internal--add-service=mysql#firewall-cmd--zone=internal--remove-service=samba-client#firewall-cmd--zone=internal--list-services#firewall-cmd--zone=internal--add-port=8080/tcp#firewall-cmd--zone=internal--list-ports2024年5月29日CreativeCommonsLicense(BY-NC-SA)99firewall-cmd
——IP偽裝和端口轉(zhuǎn)發(fā)為默認(rèn)區(qū)域開(kāi)啟IP偽裝#firewall-cmd--add-masquerade#firewall-cmd--query-masquerade為默認(rèn)區(qū)域設(shè)置端口轉(zhuǎn)發(fā)#firewall-cmd--add-forward-port=port=80:proto=tcp:toport=3128#firewall-cmd--add-forward-port=port=22166:proto=tcp:toport=22:toaddr=66#firewall-cmd--list-forward-ports2024年5月29日CreativeCommonsLicense(BY-NC-SA)100firewall-cmd
——兩種配置模式運(yùn)行時(shí)模式(Runtimemode)表示當(dāng)前內(nèi)存中運(yùn)行的防火墻配置持久性模式(Permanentmode)表示重啟防火墻或重新加載防火墻規(guī)則時(shí)的配置與配置模式相關(guān)的選項(xiàng)--reload--permanent--runtime-to-permanent2024年5月29日CreativeCommonsLicense(BY-NC-SA)101firewall-cmd
——同時(shí)配置運(yùn)行時(shí)規(guī)則和持久性規(guī)則方法1:獨(dú)立設(shè)置運(yùn)行時(shí)規(guī)則和持久性規(guī)則#firewall-cmd--add-service=https#firewall-cmd--add-service=https--permanent方法2:設(shè)置持久性規(guī)則,而后重新加載配置使之成為運(yùn)行時(shí)規(guī)則#firewall-cmd--add-service=https--permanent#firewall-cmd--reload方法3:設(shè)置運(yùn)行時(shí)規(guī)則,而后將其寫入配置文件使之成為持久化規(guī)則#firewall-cmd--add-service=https#firewall-cmd--runtime-to-permanent2024年5月29日CreativeCommonsLicense(BY-NC-SA)102firewall-cmd
——高級(jí)配置使用復(fù)雜規(guī)則(RichRule)使用--add-rich-rule='rule'選項(xiàng)指定復(fù)雜規(guī)則'rule'需要使用特定的語(yǔ)法man5firewalld.richlanguage使用直接接口(DirectInterface)firewalld提供了直接接口使用--direct選項(xiàng)可以直接使用iptables、ip6tables和ebtables的命令語(yǔ)法使用firewall-cmd--permanent--direct命令配置的規(guī)則將寫入單獨(dú)的配置文件/etc/firewalld/direct.xml2024年5月29日CreativeCommonsLicense(BY-NC-SA)103iptables服務(wù)安裝iptables服務(wù)#yum-yinstalliptables-services#yum-yinstallsystem-config-firewall-{base,tui}屏蔽firewalld服務(wù)并開(kāi)啟iptables服務(wù)#systemctlstopfirewalld#systemctlmaskfirewalld#systemctlstartiptables#systemctlenableiptables2024年5月29日CreativeCommonsLicense(BY-NC-SA)104管理iptables服務(wù)CentOS7中iptables服務(wù)已由Systemd管理#systemctlstartiptables#systemctlstopiptables#systemctlrestartiptables#systemctlenableiptables#systemctldisableiptables執(zhí)行systemctl命令管理iptables服務(wù)時(shí)會(huì)調(diào)用iptables服務(wù)的INIT腳本/usr/libexec/iptables/iptables.init2024年5月29日CreativeCommonsLicense(BY-NC-SA)105iptables的INIT腳本的任務(wù)腳本實(shí)現(xiàn)如下任務(wù)加載防火墻配置文件/etc/sysconfig/iptables-config在啟用/停用時(shí)加載/卸載相關(guān)的內(nèi)核模塊使用iptables-restore命令通過(guò)規(guī)則集文件/etc/sysconfig/iptables加載防火墻規(guī)則使用iptables-save命令存儲(chǔ)當(dāng)前的防火墻規(guī)則到規(guī)則集文件/etc/sysconfig/iptables清除防火墻規(guī)則;設(shè)置最嚴(yán)格的防火墻規(guī)則等2024年5月29日CreativeCommonsLicense(BY-NC-SA)106iptables無(wú)需運(yùn)行守護(hù)進(jìn)程,因?yàn)镹etfilter是Linux內(nèi)核提供的功能防火墻配置文件/etc/sysconfig/iptables-config用于控制Netfilter/iptables的行為加載額外的iptables內(nèi)核模塊,多個(gè)模塊以空格間隔IPTABLES_MODULES="ip_conntrack_netbios_nsip_conntrack_ftp"在執(zhí)行serviceiptablesrestart|stop時(shí)是否卸載已加載的內(nèi)核模塊IPTABLES_MODULES_UNLOAD="yes“…………2024年5月29日CreativeCommonsLicense(BY-NC-SA)107防火墻規(guī)則持續(xù)性iptables-save將規(guī)則集文件保存到指定的文件#/sbin/iptables-save-c>/root/iptables-20150211參數(shù)-c的用于是保存包和字節(jié)計(jì)數(shù)器的值,使重啟防火墻后不丟失對(duì)包和字節(jié)的統(tǒng)計(jì)。若希望將當(dāng)前規(guī)則存入iptablesINIT管理腳本調(diào)用的默認(rèn)規(guī)則集文件,執(zhí)行如下命令即可#/usr/libexec/iptables/iptables.initsaveiptables-restore將指定文件中的規(guī)則裝載到內(nèi)存
#/sbin/iptables-restore-c</root/iptables-201502112024年5月29日CreativeCommonsLicense(BY-NC-SA)108默認(rèn)規(guī)則集文件
/etc/sysconfig/iptables規(guī)則集文件具有特殊的格式以“#”開(kāi)始的行為注釋。以“*”開(kāi)始的行指定某表中的鏈和規(guī)則的開(kāi)始(*<filter|nat|mangle|raw>)。以“:”開(kāi)始的行指定表中的鏈策略(:<鏈名><鏈策略>[<包計(jì)數(shù)器>:<字節(jié)計(jì)數(shù)器>])。這兩個(gè)計(jì)數(shù)器和“iptables-L-v”命令輸出中用到的計(jì)數(shù)器是一樣的。以“-”開(kāi)始的行指定表中的規(guī)則。關(guān)鍵字為“COMMIT”的行表示一個(gè)表的結(jié)束,說(shuō)明此時(shí)就要將此表的規(guī)則裝入內(nèi)核了。管理員可以直接修改規(guī)則集文件來(lái)配置防火墻2024年5月29日CreativeCommonsLicense(BY-NC-SA)109規(guī)則集文件舉例2024年5月29日CreativeCommonsLicense(BY-NC-SA)110*filter:INPUTACCEPT[0:0]:FORWARDACCEPT[0:0]:OUTPUTACCEPT[0:0]:RH-Firewall-1-INPUT-[0:0]-AINPUT-jRH-Firewall-1-INPUT-AFORWARD-jRH-Firewall-1-INPUT-ARH-Firewall-1-INPUT-ilo-jACCEPT-ARH-Firewall-1-INPUT-picmp--icmp-typeany-jACCEPT-ARH-Firewall-1-INPUT-mstate--stateESTABLISHED,RELATED-jACCEPT-ARH-Firewall-1-INPUT-mstate--stateNEW-mudp-pudp--dport67-jACCEPT-ARH-Firewall-1-INPUT-mstate--stateNEW-mudp-pudp--dport69-jACCEPT-ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT-ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT-ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp--dport21-jACCEPT-ARH-Firewall-1-INPUT-jREJECT--reject-withicmp-host-prohibitedCOMMIT使用lokkit命令工具
配置基于iptables服務(wù)的防火墻啟用防火墻#lokkit--enabled設(shè)置防火墻缺省類型#lokkit--default=server為某個(gè)服務(wù)或端口打開(kāi)防火墻#lokkit-shttp-shttps-sftp-sdns#lokkit-p67:udp-p69:udp-p8080:tcp2024年5月29日CreativeCommonsLicense(BY-NC-SA)111Iptables命令使用進(jìn)階2024年5月29日112CreativeCommonsLicense(BY-NC-SA)使用iptables命令
構(gòu)建防火墻的步驟清除所有規(guī)則為了避免新建的防火墻與系統(tǒng)中已經(jīng)運(yùn)行的防火墻相互干擾,一般應(yīng)該先清除所有規(guī)則。設(shè)置防火墻策略設(shè)置當(dāng)數(shù)據(jù)包沒(méi)有匹配到鏈中的規(guī)則時(shí)應(yīng)該如何對(duì)待(是拒絕還是放行)。設(shè)置防火墻規(guī)則設(shè)置數(shù)據(jù)包的匹配規(guī)則以及匹配后的處理動(dòng)作(指定目標(biāo))。2024年5月29日CreativeCommonsLicense(BY-NC-SA)113清除防火墻規(guī)則
-F或--flush清除指定鏈和表中的所有規(guī)則。若沒(méi)有指定鏈,則清空所有鏈。-X或--delete-chain刪除指定的用戶自定義鏈。必須保證鏈中的規(guī)則都不在使用時(shí)才能刪除鏈。若沒(méi)有指定鏈,則刪除所有的用戶自定義鏈。-Z或--zero對(duì)鏈中所有的包計(jì)數(shù)器和字節(jié)計(jì)數(shù)器清零。2024年5月29日CreativeCommonsLicense(BY-NC-SA)114語(yǔ)法:iptables[-ttable][-FXZ][chain]清除防火墻規(guī)則舉例iptables-Fiptables-FFORWORDiptables-nat
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年電子商務(wù)企業(yè)法人股權(quán)轉(zhuǎn)讓及合作運(yùn)營(yíng)協(xié)議3篇
- 2024年中國(guó)滾針保持架組件市場(chǎng)調(diào)查研究報(bào)告
- 二零二五年度廣域房地產(chǎn)開(kāi)發(fā)項(xiàng)目預(yù)售許可證及房屋買賣合同3篇
- 2024年貨架商品購(gòu)銷合同
- 二零二五年度房地產(chǎn)抵押合同及抵押物資產(chǎn)評(píng)估合同3篇
- 2024至2030年搖攝手柄項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年抗熱輻射阻燃防護(hù)服項(xiàng)目投資價(jià)值分析報(bào)告
- 二零二五年度房地產(chǎn)項(xiàng)目土地使用權(quán)出讓合同3篇
- 2024至2030年平面刮刀項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年大滴管項(xiàng)目投資價(jià)值分析報(bào)告
- 檢驗(yàn)試劑實(shí)施方案范文
- 2024-2029年中國(guó)人工骨行業(yè)發(fā)展分析及發(fā)展前景與趨勢(shì)預(yù)測(cè)研究報(bào)告
- 2024年度保密知識(shí)教育考試及參考答案(考試直接用)
- 保險(xiǎn)公司維修協(xié)議書模板
- 【講座】2024屆高三英語(yǔ)詞匯教學(xué)微講座課件
- 口腔科牙科臨床技術(shù)操作規(guī)范大全
- 河道開(kāi)挖專項(xiàng)方案
- 2024年公安部直屬事業(yè)單位招聘筆試參考題庫(kù)附帶答案詳解
- 高中數(shù)學(xué)練習(xí)-函數(shù)零點(diǎn)問(wèn)題
- 公安機(jī)關(guān)面向社會(huì)招錄網(wǎng)絡(luò)安全技術(shù)職位專業(yè)測(cè)試考試大綱
- 2023-2024學(xué)年重慶市一中九年級(jí)物理第一學(xué)期期末達(dá)標(biāo)檢測(cè)試題含解析
評(píng)論
0/150
提交評(píng)論