01_Linux安全应用-iptables防火墙(一)-v10

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

RHEL6__Linux安全应用轻舞飞扬第六章iptables防火墙(一)——理论部分熟悉Linux防火墙的表、链结构理解数据包匹配的基本流程学会编写iptables规则技能展示本章结构iptables防火墙(一)iptables的表、链结构数据包控制的匹配流程添加、查看、删除规则规则的匹配条件Linux防火墙基础基本语法、控制类型编写防火墙规则netfilter位于Linux内核中的包过滤功能体系称为Linux防火墙的“内核态”iptables位于/sbin/iptables,用来管理防火墙规则的工具称为Linux防火墙的“用户态”——上述2种称呼都可以表示Linux防火墙Linux包过滤防火墙概述2-1包过滤的工作层次主要是网络层,针对IP数据包体现在对包内的IP地址、端口等信息的处理上Linux包过滤防火墙概述2-2链路层网络层传输层应用代理链路层网络层传输层应用层链路层网络层传输层应用层外部网络网络层防火墙受保护网络规则链规则的作用:对数据包进行过滤或处理链的作用:容纳各种防火墙规则链的分类依据:处理数据包的不同时机默认包括5种规则链INPUT:处理入站数据包OUTPUT:处理出站数据包FORWARD:处理转发数据包POSTROUTING链:在进行路由选择后处理数据包PREROUTING链:在进行路由选择前处理数据包iptables的表、链结构3-1规则表表的作用:容纳各种规则链表的划分依据:防火墙规则的作用相似默认包括4个规则表raw表:确定是否对该数据包进行状态跟踪mangle表:为数据包设置标记nat表:修改数据包中的源、目标IP地址或端口filter表:确定是否放行该数据包(过滤)iptables的表、链结构3-2默认的表、链结构示意图iptables的表、链结构3-3filter表第1条规则第2条规则第3条规则……INPUT链……FORWARD链……OUTPUT链mangle表PREROUTING链……POSTROUTING链……INPUT链……OUTPUT链……FORWARD链……raw表PREROUTING链……OUTPUT链……nat表PREROUTING链……POSTROUTING链……OUTPUT链……规则表之间的顺序rawmanglenatfilter规则链之间的顺序入站:PREROUTINGINPUT出站:OUTPUTPOSTROUTING转发:PREROUTINGFORWARDPOSTROUTING规则链内的匹配顺序按顺序依次检查,匹配即停止(LOG策略例外)若找不到相匹配的规则,则按该链的默认策略处理数据包过滤的匹配流程2-1匹配流程示意图数据包过滤的匹配流程2-2本机的应用进程mangle:POSTROUTINGmangle:FORWARDraw:PREROUTINGraw:OUTPUTmangle:INPUT转发数据流向入站数据流向网络A网络Bmangle:PREROUTINGnat:PREROUTINGnat:POSTROUTINGfilter:INPUTmangle:OUTPUTnat:OUTPUTfilter:OUTPUT路由选择filter:FORWARD路由选择出站数据流向请思考:Linux防火墙默认包括哪几个表、哪几种链?对于转发的数据包,会经过哪几种链的处理?在同一个规则链内,规则匹配的特点是什么?小结语法构成iptables[-t表名]选项[链名][条件][-j控制类型]iptables的基本语法2-1[root@localhost~]#iptables-tfilter-IINPUT-picmp-jREJECTC:\Users\Administratorping192.168.4.254正在Ping192.168.4.254具有32字节的数据:来自192.168.4.254的回复:无法连到端口。来自192.168.4.254的回复:无法连到端口。……阻止ping测试几个注意事项不指定表名时,默认指filter表不指定链名时,默认指表内的所有链除非设置链的默认策略,否则必须指定匹配条件选项、链名、控制类型使用大写字母,其余均为小写数据包的常见控制类型ACCEPT:允许通过DROP:直接丢弃,不给出任何回应REJECT:拒绝通过,必要时会给出提示LOG:记录日志信息,然后传给下一条规则继续匹配iptables的基本语法2-2添加新的规则-A:在链的末尾追加一条规则-I:在链的开头(或指定序号)插入一条规则iptables的管理选项5-1[root@localhost~]#iptables-tfilter-AINPUT-ptcp-jACCEPT[root@localhost~]#iptables-IINPUT-pudp-jACCEPT[root@localhost~]#iptables-IINPUT2-picmp-jACCEPT-p用来指定协议查看规则列表-L:列出所有的规则条目-n:以数字形式显示地址、端口等信息-v:以更详细的方式显示规则信息--line-numbers:查看规则时,显示规则的序号iptables的管理选项5-2[root@localhost~]#iptables-LINPUT--line-numbersChainINPUT(policyACCEPT)numtargetprotoptsourcedestination1ACCEPTudp--anywhereanywhere2ACCEPTicmp--anywhereanywhere3REJECTicmp--anywhereanywherereject-withicmp-port-unreachable4ACCEPTtcp--anywhereanywhere[root@localhost~]#iptables-n-LINPUTChainINPUT(policyACCEPT)targetprotoptsourcedestinationACCEPTudp--0.0.0.0/00.0.0.0/0ACCEPTicmp--0.0.0.0/00.0.0.0/0REJECTicmp--0.0.0.0/00.0.0.0/0reject-withicmp-port-unreachableACCEPTtcp--0.0.0.0/00.0.0.0/0-n-L可合写为-nL删除、清空规则-D:删除链内指定序号(或内容)的一条规则-F:清空所有的规则iptables的管理选项5-3[root@localhost~]#iptables-DINPUT3[root@localhost~]#iptables-n-LINPUTChainINPUT(policyACCEPT)targetprotoptsourcedestinationACCEPTudp--0.0.0.0/00.0.0.0/0ACCEPTicmp--0.0.0.0/00.0.0.0/0ACCEPTtcp--0.0.0.0/00.0.0.0/0[root@localhost~]#iptables-F[root@localhost~]#iptables-tnat-F[root@localhost~]#iptables-tmangle-F[root@localhost~]#iptables-traw-F清空所有表的所有链设置默认策略-P:为指定的链设置默认规则iptables的管理选项5-4[root@localhost~]#iptables-tfilter-PFORWARDDROP[root@localhost~]#iptables-POUTPUTACCEPT默认策略要么是ACCEPT、要么是DROP常用管理选项汇总iptables的管理选项5-5类别选项用途添加新的规则-A在链的末尾追加一条规则-I在链的开头(或指定序号)插入一条规则查看规则列表-L列出所有的规则条目-n以数字形式显示地址、端口等信息-v以更详细的方式显示规则信息--line-numbers查看规则时,显示规则的序号删除、清空规则-D删除链内指定序号(或内容)的一条规则-F清空所有的规则设置默认策略-P为指定的链设置默认规则通用匹配可直接使用,不依赖于其他条件或扩展包括网络协议、IP地址、网络接口等条件隐含匹配要求以特定的协议匹配作为前提包括端口、TCP标记、ICMP类型等条件显式匹配要求以“-m扩展模块”的形式明确指出类型包括多端口、MAC地址、IP范围、数据包状态等条件规则的匹配条件5-1常见的通用匹配条件协议匹配:-p协议名地址匹配:-s源地址、-d目的地址接口匹配:-i入站网卡、-o出站网卡规则的匹配条件5-2[root@localhost~]#iptables-IINPUT-picmp-jDROP[root@localhost~]#iptables-AFORWARD-p!icmp-jACCEPT叹号!表示条件取反[root@localhost~]#iptables-AFORWARD-s192.168.1.11-jREJECT[root@localhost~]#iptables-IINPUT-s10.20.30.0/24-jDROP[root@localhost~]#iptables-AINPUT-ieth1-s192.168.0.0/16-jDROP[root@localhost~]#iptables-AINPUT-ieth1-s10.0.0.0/8-jDROP[root@localhost~]#iptables-AINPUT-ieth1-s172.16.0.0/12-jDROP外网接口常用的隐含匹配条件端口匹配:--sport源端口、--dport目的端口TCP标记匹配:--tcp-flags检查范围被设置的标记ICMP类型匹配:--icmp-typeICMP类型规则的匹配条件5-3[root@localhost~]#iptables-AFORWARD-s192.168.4.0/24-pudp--dport53-jACCEPT[root@localhost~]#iptables-AINPUT-ptcp--dport20:21-jACCEPT[root@localhost~]#iptables-IINPUT-ieth1-ptcp--tcp-flagsSYN,RST,ACKSYN-jDROP[root@localhost~]#iptables-IINPUT-ieth1-ptcp--tcp-flags!--syn-jACCEPT丢弃SYN请求包,放行其他包[root@localhost~]#iptables-AINPUT-picmp--icmp-type8-jDROP[root@localhost~]#iptables-AINPUT-picmp--icmp-type0-jACCEPT[root@localhost~]#iptables-AINPUT-picmp--icmp-type3-jACCEPT[root@localhost~]#iptables-AINPUT-picmp-jDROP8请求,0回显,3不可达常用的显式匹配条件多端口匹配:-mmultiport--sports源端口列表-mmultiport--dports目的端口列表IP范围匹配:-miprange--src-rangeIP范围MAC地址匹配:-mmac--mac-sourceMAC地址状态匹配:-mstate--state连接状态规则的匹配条件5-4[root@localhost~]#iptables-AINPUT-ptcp-mmultiport--dport25,80,110,143-jACCEPT[root@localhost~]#iptables-AFORWARD-ptcp-miprange--src-range192.16

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功