1、Page,*,/33,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第三部分:网络与安全管理,第十八章:防火墙设置,本章目标,了解,Linux,防火墙,并掌握,Linux,防火墙配置工具,iptables,的一般应用。,防火墙分类(一),软件防火墙(个人防火墙):,如:天网、各杀毒软件厂商的个人防火墙软件等,硬件防火墙(,PC,架构,依赖于小型化的,OS,系统):,如:首创前锋红旗防火墙等,芯片级防火墙(基于,ASIC,芯片):,如:,NetScreen,、,Cisco PIX,、,Cisco ASA,等,包过滤防火墙:,包过滤防火墙不检查数据区,
2、包过滤防火墙不建立连接状态表,前后报文无关,应用层控制很弱。,应用网关防火墙:,不检查,IP,、,TCP,报头,不建立连接状态表,网络层保护比较弱。,状态检测防火墙:,不检查数据区,建立连接状态表,前后报文相关,应用层控制很弱。,复合型防火墙:,可以检查整个数据包内容,根据需要建立连接状态表,网络层保护强,应用层控制细,会话控制较弱。,防火墙分类(二),防火墙术语(一),网关:,防火墙可以起到网关的作用。,DMZ,(,Demilitarized Zone,),:,内部网中需要向外提供服务的服务器往往放在一个单独的网段,这个网段便是非军事化区。防火墙一般配备三块网卡,在配置时一般分别连接内部网,
3、internet,和,DMZ,。,吞吐量:,防火墙对数据包的处理要耗费资源。吞吐量是指在不丢包的情况下单位时间内通过防火墙的数据包数量。这是测量防火墙性能的重要指标。,最大连接数:,和吞吐量一样,数字越大越好。最大连接数更贴近实际网络情况,网络中大多数连接是指所建立的一个虚拟通道。防火墙对每个连接的处理也好耗费资源,因此最大连接数成为考验防火墙这方面能力的指标。,防火墙术语(二),数据包转发率:,防火墙对数据流量的处理速度。,SSL,:,Secure Sockets Layer,是由,Netscape,公司开发的一套,Internet,数据安全协议,当前版本为,3.0,。广泛地用于,Web,
4、浏览器与服务器之间的身份认证和,加密,数据传输。,SSL,协议位于,TCP/IP,协议与各种应用层协议之间,为数据通讯提供安全支持。,网络地址转换:,网络地址转换(,NAT,)是一种将一个,IP,地址域映射到另一个,IP,地址域技术,可为主机提供透明路由。,NAT,常用于私有地址域与公用地址域的转换以解决,IP,地址匮乏问题,。,堡垒主机:,一种被强化的可以防御进攻的计算机,被暴露于因特网之上,作为进入内部网络的一个检查点,以达到把整个网络的安全问题集中在某个主机上解决,从而省时省力,不用考虑其它主机的安全的目的。,防火墙默认策略,防火墙用于实现访问控制策略。,设置默认防火墙策略的两个基本方法
5、默认禁止一切,明确地允许被选择的数据包通过。,默认接受一切,明确地禁止被选择的数据包通过。,netfilter/iptables,的典型应用,netfilter/iptables,的典型应用,作为主机防火墙实现外部网络与主机之间的访问控制,作为网络防火墙提供外部网络与内部网络的访问控制,作为网关服务器实现(,NAT,)功能,实现内部网络共享上网,netfilter/iptables,可以在,Linux,系统中实现网络防火墙的各种常用功能,检查防火墙安装,检查,iptables,是否安装:,#rpm-qa|grep iptables“,如果安装,则显示:,iptables-1.2.11-3.
6、1.RHEL4,iptables,(,2.4.x&2.6.x,)是“,IPv4,包过滤和,NAT,的管理工具”,习惯性指代,Linux,的防火墙。,Netfilter,是用来实现,Linux,内核中防火墙的,Linux,内核空间程序代码段。(直接编译进内核,或成为内核的模块),官方网站:,filter.org/,ipfwadm,(,2.0.x,)和,ipchains,(,2.2.x,)是早期的,IPFW,(,IP,防火墙)管理工具,iptables,软件包中的管理命令,/sbin/iptables,是主要的管理命令,对网络防火墙功能的管理都是通过,iptables,命令实现的,/sbin/ip
7、tables-save,命令可以将当前系统中的防火墙设置进行保存,/sbin/iptables-restore,命令可以将使用,iptables-save,命令保存的防火墙策略配置恢复到当前系统中,iptables,服务的启动与停止,iptables,服务启动脚本,/etc/rc.d/init.d/iptables,iptables,配置文件与策略设置文件,iptables,配置文件,/etc/sysconfig/iptables-config,策略设置文件,/etc/sysconfig/iptables,iptables,服务的启动与停止,#chkconfig iptables off/on
8、service iptables start/stop/restart,策略保存,iptables命令的设置在系统中即时生效,使用iptables命令手工进行的防火墙策略设置如果不进行保存将在系统下次启动时丢失,保存,策略,:,iptables-save命令缺省只将配置信息显示到标准输出,#iptables-save,如果保存输出,可进行输出重定向,#iptables-save iptables.v1.0,策略恢复,iptables-restore命令从标准输入或输入重定向获取设置,#iptables-restore,iptables,.v1.0,iptables-restore命令可快速
9、恢复指定版本的防火墙配置,#iptables-restore,iptables,.v1.0,#iptables-restore,iptables,.v2.0,/etc/sysconfig/iptables,在保存防火墙当前配置前应先将原有配置进行备份,#cp/etc/sysconfig/iptables iptables.bak,iptables脚本的save命令可以保存防火墙配置,#service iptables save,内容将保存,在,“/etc/sysconfig/iptables”,原内容被覆盖,iptables,规则链,PREROUTING,FORWARD,POSTROUTING
10、INPUT,OUTPUT,上层应用程序,(,接收或发送网络数据,),iptables,缺省具有,5,条规则链,iptables,规则表,iptables,缺省具有,3,个规则表,Filter,:用于设置包过滤,NAT,:用于设置地址转换,Mangle,:用于设置网络流量整形等应用,不同的规则表由不同的规则链组成,:,Filter,:,INPUT,、,FORWARD,、,OUTPUT,NAT,:,PREROUTING,、,POSTROUTING,、,OUTPUT,Mangle,:,PREROUTING,、,POSTROUTING,、,INPUT,、,OUTPUT,、,FORWARD,查看防火墙
11、当前配置,使用,iptables,命令查看防火墙当前配置,#iptables-L,使用,service,命令查看防火墙当前配置,#service iptables status,iptables,命令的操作对象,Page,18,/47,规则表(,table,),:,由规则链的集合组成,不同的规则表用于实现不同类型的功能,规则链(,chain,),:,由规则的集合组成,保存在规则表中;在规则表中不同的规则链代表了不同的数据包流向,规则(,rule,),:,是最基本的设置项,用于对防火墙的策略进行设置;流经某个数据链的数据将按照先后顺序经过规则的“过滤”,iptables,命令格式,iptable
12、s,命令格式:,iptables-t table-AD chain rule-specification options,iptables-t table-I chain rulenum rule-specification options,iptables-t table-R chain rulenum rule-specification options,iptables-t table-D chain rulenum options,iptables-t table-LFZ chain options,iptables-t table-N chain,iptables-t table-X
13、 chain,iptables-t table-P chain target options,iptables-t table-E old-chain-name new-chain-name,iptables,命令选项,iptables,命令选项:,-t,指定规则表,-L chain,显示规则链中的规则,-F chain,清空规则链(或指定)中的规则,-N,创建用户自定义规则链,-X chain,删除规则链(或指定),-P ,设置规则链的默认规则,-E ,重命名规则链,-A chain rule-specification,指定规则链中添加规则,-D chain rule-specificat
14、ion,指定规则链中删除规则,-I chain rulenum rule-specification,指定规则链中插入规则,-R chain rulenum rule-specification,指定规则链中替换规则,iptables,命令参数,iptables,命令参数:,-p!protocol,指定协议,-s!address/mask,指定源,IP,地址,-d!address/mask,指定目标,IP,地址,-j target,指定跳转目标(动作,/,自定义规则链),-i!name,指定进接口,-o!name,指定出接口,-sport port,指定源端口,-dport port,指定目标
15、端口,-sports port,port,port.,指定多个源端口,-dports port,port,port.,指定多个目录端口,-ports port,port,port.,指定多个双向端口,-icmp-type!typename,指定,icmp,类型,-mac-source!address,指定源,MAC,地址,-tcp-flags!mask comp,指定,TCP,协议标志,iptables,命令的使用(一),查看规则表的内容,基本语法,:,iptables-t table-L chain options,不指定表名称时查看,filter,表的内容,#iptables-L,查看指定
16、的规则表,#iptables-t filter-L,#iptables-t nat-L,#iptables-t mangle-L,iptables,命令的使用(二),清空表中的规则,命令格式:,iptables-t table-F chain options,清空,filter,表中的所有规则,#iptables-F,清空指定表中的所有规则,#iptables-t filter-F,#iptables-t nat-F,#iptables-t mangle-F,iptables,命令的使用(三),删除表中的自定义规则链,命令格式:,iptables-t table-X chain,删除,filt
17、er,表中的规则链,#iptables-X,删除指定表中的规则链,#iptables-t filter-X,#iptables-t nat-X,#iptables-t mangle-X,iptables,命令的使用(四),设置默认规则:,#iptables-t filter-P INPUT DROP,#iptables-t filter-P FORWARD ACCEPT,#iptables-t filter-P OUTPUT ACCEPT,#iptables-t nat-P PREROUTING ACCEPT,#iptables-t mangle-P PREROUTING ACCEPT,只有内
18、建规则链才能够设置“缺省策略”,将,filter,表的,INPUT,缺省策略设置为“,DROP”,,比较严谨,数据包的过滤由上至下进行,前允许后拒绝两条规则都有效,前拒绝后允许后条规则无效,iptables,命令的使用(五),添加规则:,命令格式:,iptables-t table-A chain rule-specification options,在,INPUT,规则链中添加规则,允许来自“,lo”,网络接口中所有数据包,#iptables-A INPUT-i lo-j ACCEPT,在,INPUT,规则链中添加规则,允许“,eth0”,网络接口中来自“,192.168.1.0/24”,子
19、网的所有数据包,#iptables-A INPUT-i eth0-s 192.168.1.0/24-j ACCEPT,iptables,命令的使用(六),删除规则:,命令格式:,iptables-t table-D chain rule-specification options,删除规则的,iptables,命令与添加规则的命令格式类似,删除,INPUT,规则表中已有的规则,#iptables-D INPUT-i eth0-s 192.168.1.0/24-j ACCEPT,实例,2-1,#iptables-F,#iptables-X,#iptables-Z,#iptables-P INPU
20、T DROP,#iptables-A INPUT-i lo-j ACCEPT,#iptables-A INPUT-i eth0-p tcp-dport 22-j ACCEPT,#iptables-A INPUT-i eth0-p tcp-dport 80-j ACCEPT,#iptables-A INPUT-i eth0-p tcp-dport 3128-j ACCEPT,#service iptables save,防火墙配置实例,2-2,设置,Linux,作为网关服务器,:,配置需求,:,eth0,网络接口与公司的内部网络相连,IP,地址为,192.168.0.1/24,ppp0,是,li
21、nux,主机的拨号网络接口,与互联网相通,局域网中主机通过,Linux,网关服务器与外部互联网进行通信,关键配置命令:,#iptables-t nat-A POSTROUTING-s 192.168.1.0/24-o ppp0-j MASQUERADE,配置需求,:,eth1,网络接口与公司的内部网络相连,IP,地址为,192.168.0.1/24,eth0,是,linux,主机的外网接口,与互联网相通,局域网中主机通过,Linux,网关服务器与外部互联网进行通信,关键配置命令,:,#iptables-t nat-A POSTROUTING-s 192.168.1.0/24-o eth0-j MASQUERADE,本章总结,Linux,防火墙,Netfilter,具有强大的功能,使用,Linux,防火墙配置工具,iptables,可以配置具有复杂功能的防火墙,用以保护服务器、保护其它服务器、使局域网主机共享上网等。,






