您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 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链……规则表之间的顺序rawmanglenatfilter规则链之间的顺序入站:PREROUTINGINPUT出站:OUTPUTPOSTROUTING转发:PREROUTINGFORWARDPOSTROUTING规则链内的匹配顺序按顺序依次检查,匹配即停止(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
本文标题:01_Linux安全应用-iptables防火墙(一)-v10
链接地址:https://www.777doc.com/doc-1244249 .html