Linux安全应用-iptables防火墙(-30张)课件.ppt
RHEL6_Linux安全应用,轻舞飞扬,RHEL6_Linux安全应用轻舞飞扬,第六章 iptables防火墙(一), 理论部分,第六章 iptables防火墙(一) 理论部分,熟悉Linux防火墙的表、链结构理解数据包匹配的基本流程学会编写iptables规则,技能展示,熟悉Linux防火墙的表、链结构技能展示,本章结构,iptables防火墙(一),iptables的表、链结构,数据包控制的匹配流程,添加、查看、删除规则,规则的匹配条件,Linux防火墙基础,基本语法、控制类型,编写防火墙规则,本章结构iptables防火墙(一)iptables的表、链,netfilter位于Linux内核中的包过滤功能体系称为Linux防火墙的“内核态”iptables位于/sbin/iptables,用来管理防火墙规则的工具称为Linux防火墙的“用户态” 上述2种称呼都可以表示Linux防火墙,Linux包过滤防火墙概述2-1,netfilterLinux包过滤防火墙概述2-1,包过滤的工作层次主要是网络层,针对IP数据包体现在对包内的IP地址、端口等信息的处理上,Linux包过滤防火墙概述2-2,链路层,网络层,传输层,应用代理,链路层,网络层,传输层,应用层,链路层,网络层,传输层,应用层,外部网络,网络层防火墙,受保护网络,包过滤的工作层次Linux包过滤防火墙概述2-2链路层网络层,规则链规则的作用:对数据包进行过滤或处理链的作用:容纳各种防火墙规则链的分类依据:处理数据包的不同时机默认包括5种规则链INPUT:处理入站数据包OUTPUT:处理出站数据包FORWARD:处理转发数据包POSTROUTING链:在进行路由选择后处理数据包PREROUTING链:在进行路由选择前处理数据包,iptables的表、链结构3-1,规则链iptables的表、链结构3-1,规则表表的作用:容纳各种规则链表的划分依据:防火墙规则的作用相似默认包括4个规则表raw表:确定是否对该数据包进行状态跟踪mangle表:为数据包设置标记nat表:修改数据包中的源、目标IP地址或端口filter表:确定是否放行该数据包(过滤),iptables的表、链结构3-2,规则表iptables的表、链结构3-2,默认的表、链结构示意图,iptables的表、链结构3-3,filter 表,第1条规则第2条规则第3条规则,INPUT 链,FORWARD 链,OUTPUT 链,mangle 表,PREROUTING 链,POSTROUTING 链,INPUT 链,OUTPUT 链,FORWARD 链,raw 表,PREROUTING 链,OUTPUT 链,nat 表,PREROUTING 链,POSTROUTING 链,OUTPUT 链,默认的表、链结构示意图iptables的表、链结构3-3fi,规则表之间的顺序rawmanglenatfilter规则链之间的顺序入站:PREROUTINGINPUT出站:OUTPUTPOSTROUTING转发:PREROUTINGFORWARDPOSTROUTING规则链内的匹配顺序按顺序依次检查,匹配即停止(LOG策略例外)若找不到相匹配的规则,则按该链的默认策略处理,数据包过滤的匹配流程2-1,规则表之间的顺序数据包过滤的匹配流程2-1,匹配流程示意图,数据包过滤的匹配流程2-2,匹配流程示意图数据包过滤的匹配流程2-2本机的应用进程man,请思考:Linux防火墙默认包括哪几个表、哪几种链?对于转发的数据包,会经过哪几种链的处理?在同一个规则链内,规则匹配的特点是什么?,小结,请思考:小结,语法构成iptables -t 表名 选项 链名 条件 -j 控制类型,iptables的基本语法2-1,rootlocalhost # iptables -t filter -I INPUT -p icmp -j REJECT,C:UsersAdministrator ping 192.168.4.254正在 Ping 192.168.4.254 具有 32 字节的数据:来自 192.168.4.254 的回复: 无法连到端口。来自 192.168.4.254 的回复: 无法连到端口。,阻止ping测试,几个注意事项不指定表名时,默认指filter表不指定链名时,默认指表内的所有链除非设置链的默认策略,否则必须指定匹配条件选项、链名、控制类型使用大写字母,其余均为小写,语法构成iptables的基本语法2-1rootloca,数据包的常见控制类型ACCEPT:允许通过DROP:直接丢弃,不给出任何回应REJECT:拒绝通过,必要时会给出提示LOG:记录日志信息,然后传给下一条规则继续匹配,iptables的基本语法2-2,数据包的常见控制类型iptables的基本语法2-2,添加新的规则-A:在链的末尾追加一条规则-I:在链的开头(或指定序号)插入一条规则,iptables的管理选项5-1,rootlocalhost # iptables -t filter -A INPUT -p tcp -j ACCEPTrootlocalhost # iptables -I INPUT -p udp -j ACCEPTrootlocalhost # iptables -I INPUT 2 -p icmp -j ACCEPT,-p 用来指定协议,添加新的规则iptables的管理选项5-1rootlo,查看规则列表-L:列出所有的规则条目-n:以数字形式显示地址、端口等信息-v:以更详细的方式显示规则信息-line-numbers:查看规则时,显示规则的序号,iptables的管理选项5-2,rootlocalhost # iptables -L INPUT -line-numbersChain INPUT (policy ACCEPT)num target prot opt source destination1 ACCEPT udp - anywhere anywhere2 ACCEPT icmp - anywhere anywhere3 REJECT icmp - anywhere anywhere reject-with icmp-port-unreachable4 ACCEPT tcp - anywhere anywhere,rootlocalhost # iptables -n -L INPUTChain INPUT (policy ACCEPT)target prot opt source destinationACCEPT udp - 0.0.0.0/0 0.0.0.0/0ACCEPT icmp - 0.0.0.0/0 0.0.0.0/0REJECT icmp - 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachableACCEPT tcp - 0.0.0.0/0 0.0.0.0/0,-n -L 可合写为 -nL,查看规则列表iptables的管理选项5-2rootlo,删除、清空规则-D:删除链内指定序号(或内容)的一条规则-F:清空所有的规则,iptables的管理选项5-3,rootlocalhost # iptables -D INPUT 3rootlocalhost # iptables -n -L INPUTChain INPUT (policy ACCEPT)target prot opt source destinationACCEPT udp - 0.0.0.0/0 0.0.0.0/0ACCEPT icmp - 0.0.0.0/0 0.0.0.0/0ACCEPT tcp - 0.0.0.0/0 0.0.0.0/0,rootlocalhost # iptables -Frootlocalhost # iptables -t nat -Frootlocalhost # iptables -t mangle -Frootlocalhost # iptables -t raw -F,清空所有表的所有链,删除、清空规则iptables的管理选项5-3rootl,设置默认策略-P:为指定的链设置默认规则,iptables的管理选项5-4,rootlocalhost # iptables -t filter -P FORWARD DROProotlocalhost # iptables -P OUTPUT ACCEPT,默认策略要么是ACCEPT、要么是DROP,设置默认策略iptables的管理选项5-4rootlo,常用管理选项汇总,iptables的管理选项5-5,常用管理选项汇总iptables的管理选项5-5,通用匹配可直接使用,不依赖于其他条件或扩展包括网络协议、IP地址、网络接口等条件隐含匹配要求以特定的协议匹配作为前提包括端口、TCP标记、ICMP类型等条件显式匹配要求以“-m 扩展模块”的形式明确指出类型包括多端口、MAC地址、IP范围、数据包状态等条件,规则的匹配条件5-1,通用匹配规则的匹配条件5-1,常见的通用匹配条件协议匹配:-p 协议名地址匹配:-s 源地址、-d 目的地址接口匹配:-i 入站网卡、-o 出站网卡,规则的匹配条件5-2,rootlocalhost # iptables -I INPUT -p icmp -j DROProotlocalhost # iptables -A FORWARD -p ! icmp -j ACCEPT,叹号 ! 表示条件取反,rootlocalhost # iptables -A FORWARD -s 192.168.1.11 -j REJECTrootlocalhost # iptables -I INPUT -s 10.20.30.0/24 -j DROP,rootlocalhost # iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP rootlocalhost # iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROProotlocalhost # iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP,外网接口,常见的通用匹配条件规则的匹配条件5-2rootlocal,常用的隐含匹配条件端口匹配:-sport 源端口、-dport 目的端口TCP标记匹配:-tcp-flags 检查范围 被设置的标记ICMP类型匹配:-icmp-type ICMP类型,规则的匹配条件5-3,rootlocalhost # iptables -A FORWARD -s 192.168.4.0/24 -p udp -dport 53 -j ACCEPTrootlocalhost # iptables -A INPUT -p tcp -dport 20:21 -j ACCEPT,rootlocalhost # iptables -I INPUT -i eth1 -p tcp -tcp-flags SYN,RST,ACK SYN -j DROProotlocalhost # iptables -I INPUT -i eth1 -p tcp -tcp-flags ! -syn -j ACCEPT,丢弃SYN请求包,放行其他包,rootlocalhost # iptables -A INPUT -p icmp -icmp-type 8 -j DROProotlocalhost # iptables -A INPUT -p icmp -icmp-type 0 -j ACCEPTrootlocalhost # iptables -A INPUT -p icmp -icmp-type 3 -j ACCEPTrootlocalhost # iptables -A INPUT -p icmp -j DROP,8 请求,0 回显,3 不可达,常用的隐含匹配条件规则的匹配条件5-3rootlocal,常用的显式匹配条件多端口匹配:-m multiport -sports 源端口列表 -m multiport -dports 目的端口列表IP范围匹配:-m iprange -src-range IP范围MAC地址匹配:-m mac -mac-source MAC地址状态匹配:-m state -state 连接状态,规则的匹配条件5-4,rootlocalhost # iptables -A INPUT -p tcp -m multiport -dport 25,80,110,143 -j ACCEPTrootlocalhost # iptables -A FORWARD -p tcp -m iprange -src-range 192.168.4.21-192.168.4.28 -j ACCEPTrootlocalhost # iptables -A INPUT -m mac -mac-source 00:0c:29:c0:55:3f -j DROP,rootlocalhost # iptables -P INPUT DROProotlocalhost # iptables -I INPUT -p tcp -m multiport -dport 80 -j ACCEPTrootlocalhost # iptables -I INPUT -p tcp -m state -state ESTABLISHED,RELATED -j ACCEPT,常用的显式匹配条件规则的匹配条件5-4rootlocal,常见匹配条件汇总,规则的匹配条件5-5,常见匹配条件汇总规则的匹配条件5-5,本章总结,iptables防火墙(一),iptables的表、链结构,数据包控制的匹配流程,添加、查看、删除规则,规则的匹配条件,Linux防火墙基础,基本语法、控制类型,编写防火墙规则,本章总结iptables防火墙(一)iptables的表、链,第六章 iptables防火墙(一), 上机部分,第六章 iptables防火墙(一) 上机部分,实验环境为网关、Web服务器配置防火墙规则,实验案例:基于IP、端口的控制4-1,局域网段192.168.1.0/24,网站服务器192.168.1.5,Internet,Internet测试用机172.16.16.172,网关服务器eth0: 192.168.1.1eth1: 172.16.16.1,实验环境实验案例:基于IP、端口的控制4-1局域网段网站服务,需求描述为Web主机编写入站规则,允许ping,开放80端口为网关编写转发规则,允许基本的上网访问实现思路Web主机:在filter表的INPUT链添加入站规则Linux网关:在filter表的FORWARD链添加转发规则,实验案例:基于IP、端口的控制4-2,需求描述实验案例:基于IP、端口的控制4-2,学员练习1为网站服务器编写入站规则、默认策略测试入站访问控制的效果,实验案例:基于IP、端口的控制4-3,30分钟完成,学员练习1实验案例:基于IP、端口的控制4-330分钟完成,学员练习2为网关服务器编写转发规则、默认策略测试转发控制的效果,实验案例:基于IP、端口的控制4-4,50分钟完成,学员练习2实验案例:基于IP、端口的控制4-450分钟完成,