1、1目录(CONTENTS)防火墙的基本原理001防火墙技术010防火墙的配置方案011WAF100防火墙(firewall)是位于两个(或多个)网络间实施网间访问控制的组件的集合满足以下条件:内网和外网的所有网络数据流必须经过防火墙只有符合安全策略的数据流才能通过防火墙防火墙自身对渗透(penetration)是免疫的例如,在企业网络与Internet之间加一道防护2防火墙的基本原理防火墙通常是单独的计算机、路由器或专有硬件设备,充当访问网络的唯一入口点只有来自授权主机的连接请求才会被处理,其他连接请求被丢弃主要用于保护内部网络免受外部不安全网络的侵害防火墙也可用于Intranet各部门网络之
2、间(内部防火墙)财务部与教务部之间3防火墙的基本原理Internet1.企业内部网企业内部网2.部门子网部门子网3.分公司网络分公司网络4防火墙示意图防火墙实现数据流控制通过预先设定安全规则来实现安全规则由匹配条件和处理方式两部分组成:如果满足某种条件,将执行某种动作规则根据组织的访问控制策略来制订大多数防火墙规则中的处理方式包括:Accept:允许数据包或信息通过Reject:拒绝数据包或信息通过,并且通知信息源该信息被禁止Drop:直接将数据包或信息丢弃,不通知信息源5防火墙的基本原理防火墙常采用以下两种基本策略之一:“默认允许”原则:没有明确禁止的都是允许的p主要由Reject或Drop
3、规则组成p信息逐条与规则匹配,一旦匹配就会被防火墙丢弃或禁止,如果不能与任何规则匹配,则通过防火墙“默认拒绝”原则:没有明确允许的都是禁止的p主要由Accept规则构成p信息逐条与规则匹配,只要与其中一条匹配,则允许通过;如果不能与任何规则匹配则信息不能通过防火墙6防火墙的基本策略按照使用对象可分为:个人防火墙:一般以软件服务的形式实现,为个人计算机提供简单的防火墙功能。可能会随操作系统附带,价格较低企业防火墙:隔离本地网络与外界网络的一道防御系统。可以使企业内部网与Internet或与其他外部网络互相隔离、限制网络互访来保护内部网络。实现形式:软件、硬件 7防火墙的分类从技术上,防火墙可以分
4、为:包过滤防火墙(Packet Filtering)p静态包过滤防火墙p动态包过滤防火墙(状态检测防火墙)代理技术p应用层代理(应用网关,代理服务器)p电路级网关混和型防火墙8防火墙的分类包过滤防火墙:工作在网络层和传输层。设定访问控制列表ACL(Access Control List),检查所有通过的数据包,并按照给定的规则进行访问控制和过滤如果防火墙设定某一IP地址的站点为不宜访问,那么来自这个地址的所有信息都会被防火墙屏蔽掉可在路由器中实现:许多路由器产品都可以实现包过滤功能,如Cisco、华为、H3C、DEC、IBM、锐捷等路由器产品 9包过滤防火墙华为 AR3200-S商业旗舰级系列
5、企业路由器包过滤防火墙的操作方式:1.对包过滤装置的端口设置包过滤规则2.数据包到达过滤端口时,对数据包头部进行分析。大多数包过滤装置只检查IP、TCP/UDP头部字段3.包过滤规则按一定的顺序存储。当包到达时,按过滤规则的存储顺序对包进行检查4.如果一条规则禁止接收包,则不允许该数据包通过5.如果一条规则允许接收包,则允许该数据包通过6.如果一个数据包不满足任何规则,则该包被阻塞或允许通过,(由防火墙默认规则决定)Remark:规则顺序非常重要否则有可能将本要拒绝的数据包通过10包过滤防火墙包过滤技术的发展:第一代:静态包过滤防火墙p只在OSI模型的网络层工作,能够准许或阻止IP地址和端口等
6、p一个纯静态包过滤防火墙根据如下信息过滤:u源IP地址、目标IP地址u源端口、目标端口u包类型:ICMP/EGP/TCP/UDPuTCP选项标志:SYN、ACK、FIN、RST第二代:动态包过滤防火墙(状态检测)p除有静态包过滤防火墙的能力外,还跟踪连接状态;并根据需要可动态的在过滤规则中增加或更新条目11包过滤防火墙12静态包过滤原理规则序号操作源IP目的IP源端口目的端口协议1丢弃*23*TCP2丢弃*23TCP13例1:阻止Telnet访问Telnet使用TCP端口23建立如下规则:静态包过滤规则建立举例例2:FTP客户端包过滤允许FTP访问FTP协议使用双向的多个连接,而且使用的端口很
7、难预计 p一个控制连接(control connection):传递客户端的命令和服务器对命令的响应。使用服务器的21端口,生存期是整个FTP会话时间p几个数据连接(data connection):传输文件和其它数据。在需要数据传输时建立,数据传输完毕就关闭。每次使用的端口不一定相同FTP的两种运行模式:p主动模式(Active Mode)数据连接由服务器发起(默认模式)p被动模式(Passive Mode)数据连接由客户端发起14包过滤规则建立举例15包过滤规则建立举例 主动模式 被动模式端口20数据端口21命令端口4998命令端口4999数据端口20数据端口21命令端口4998命令端口4
8、999数据客户端以一个随机高端口向FTP服务器的端口21初始化连接FTP服务器回应服务器从端口20用PORT命令指定的端口初始化连接客户端回应并开始传输数据客户端以一个随机高端口向FTP服务器的端口21初始化连接FTP服务器回应客户端以一个不同的高端口向服务器指定高端口的连接服务器回应并开始传输数据端口3266数据规则序号操作源IP目的IP源端口目的端口协议1允许192.168.10.0/24*102321TCP2允许*192.168.10.0/24211023TCP3允许*192.168.10.0/24201023TCP4允许192.168.10.0/24*102320TCP16主动模式(假
9、定网络的IP网段为192.168.10.0/24)包过滤规则建立举例规则序号操作源IP目的IP源端口目的端口协议1允许192.168.10.0/24*102321TCP2允许*192.168.10.0/24211023TCP3允许192.168.10.0/24*10231023TCP4允许*192.168.10.0/2410231023TCP17被动模式(假定网络的IP网段为192.168.10.0/24)包过滤规则建立举例优点:通用性强,速度快,性能高对应用程序透明设备和软件比较成熟,价格低廉可以直接在路由器上实现缺点:不能区分好包与坏包(不检查包内数据)p不能对付某些类型的攻击,如包损坏或
10、syn泛滥过滤规则比较死板,不能很好的适应网络环境的变化18静态包过滤防火墙的优缺点状态防火墙可以跟踪序列号(关键)p如果攻击者没有猜对序列号,即使他能成功欺骗其余的四个字段,攻击者也无法插入到一个已建立的会话中根据需要打开关闭端口常有内建的TCP SYN泛洪保护当服务器达到一定的半开连接限制时进行保护总之,在对包进行过滤时,不仅依据规则表,还要考虑数据包状态是否符合会话所处的状态;会话状态信息是临时的,当会话结束时,有关该会话的信息及相应的过滤规则就被删除19状态检测防火墙状态表(State Table):状态监测防火墙则记录一台计算机与其它计算机的连接情况每个当前建立的连接都要在状态信息表
11、里面有相应的条目。只有当数据包符合某条目时,包过滤器才允许相应的流量通过20状态检测防火墙源地址源地址源端口源端口目的地址目的地址目的端口目的端口连接状接状态192.168.1.110110219.219.21.17980已建立192.168.1.1231098219.219.21.17980已建立210.88.77.663456211.201.200.1225已建立211.34.34.545643211.201.200.12138已建立192.168.23.341232222.221.100.380已建立192.168.23.342344219.219.21.18080已建立21状态检测防火
12、墙Cisco PIX()WinRoute()Check Point FireWall(动态包过滤防火墙)()Linux操作系统自带的防火墙工具iptables(版本2.3及以后版本)22常见包过滤防火墙和路由器产品优点:逻辑简单,价格便宜,对网络性能的影响较小,有较强的透明性与应用层无关,无需改动任何客户机和主机上的应用程序,易于安装和使用缺点:需要对IP、TCP、UDP等协议有深入了解,否则容易出现因配置不当而带来问题过滤判别的只有网络层和传输层的有限信息,所以各种安全要求难以得到充分满足数据包的地址及端口号都在数据包的头部,因而不能彻底防止地址欺骗,不提供用户的鉴别机制23包过滤防火墙的优
13、缺点应用层代理/代理服务器通过在主机上运行代理服务程序,直接对特定的应用层进行服务,因此也称应用型防火墙/应用级网关核心是运行于防火墙主机上的代理服务器程序代理服务器通常运行在两个网络之间,对于客户来说像是一台真的服务器,而对于服务器来说,它又是一台客户机代理服务器接收到用户的访问请求后会检查该请求是否符合规定,如果规则允许用户访问,代理服务器像一个客户一样去站点取回所需信息再转发给客户24应用层代理/代理服务器针对不同应用程序,代理服务器需要不同的代理模块代理服务可以实现用户认证、详细日志、审计跟踪和数据加密等功能,并实现对具体协议及应用的过滤能完全控制网络信息的交换,控制会话过程,具有灵活
14、性和安全性,但影响网络的性能,对用户不透明,且对每一种服务都要设计一个代理模块,建立对应的网关层,实现起来比较复杂25代理服务器型防火墙代理服务器通常都有高速缓存,存储着用户经常访问的站点内容,在用户访问同一站点时,服务器直接将缓存内容发出即可,既节约时间也节约网络资源代理服务器像一堵墙一样挡在内部用户与外界之间,从外部只能看到该代理服务器而无法获知任何的内部资源,诸如用户的IP地址等26代理服务器型防火墙客户服务器代理服务器服务器客户应答请求应答请求自适应代理防火墙是在商业防火墙中广泛应用的防火墙类型。结合代理防火墙的安全性和包过滤防火墙的高速度等优点,在不损失安全的基础上将代理防火墙的性能
15、提高10倍以上组成这种类型防火墙的基本要素有两个:自适应代理服务器(Adaptive Proxy Server)动态包过滤器(Dynamic Packet Filter)自适应代理服务器与动态包过滤之间存在一个控制通道。配置防火墙时,仅将所需要的服务类型、安全级别等信息通过代理服务器的管理界面进行设置即可。自适应代理根据配置信息,决定是使用代理服务从应用层代理请求还是从网络层转发包如果是后者,它将动态地通知包过滤器增减过滤规则,满足用户对速度和安全性的双重要求27自适应代理防火墙易于配置,界面友好不允许内外网主机的直接连接可以提供比包过滤更详细的日志记录,例如在一个HTTP连接中,包过滤只能记
16、录单个的数据包,而应用网关还可以记录文件名,URL等信息可以隐藏用户内部IP地址可以给单个用户授权可以为用户提供透明的加密机制可以与认证、授权等安全手段方便的集成28代理防火墙的优点最大缺点:速度相对比较慢,当用户对内外部网络网关的吞吐量要求比较高时,代理防火墙就会成为内外部网络之间的瓶颈代理防火墙需要为不同的网络服务建立专门的代理服务,用户不能使用代理防火墙不支持的服务 29代理防火墙的缺点按照代理服务器工作的层次不同可以将其分为应用级网关/应用级代理(Application Proxy)电路级网关/电路级代理(Circuit-level Proxy)30代理防火墙的缺点应用级网关起到应用级
17、中继器的作用。用户使用TCP/IP协议连接到网关,网关要求用户提供要访问的远程主机名。当用户应答并提供有效用户ID和认证信息后,网关会代理用户连接远程主机并在用户和服务器之间中继包含应用程序数据的TCP报文。如果网关没有为特定应用程序实现代理代码,则该应用程序不被支持,并且不能通过防火墙转发。因工作在应用层,可设置为只支持应用程序中被认可的部分功能比包过滤器防火墙更安全。网关只需要审查几个合法的应用程序,而不需要尝试处理TCP和IP级上的允许和禁止规则。在应用级上可以很容易地实现入站流量的记录,以方便审计不足:带来了对每条连接的额外处理开销。终端之间的连接有原来的一条变为两条接合连接,网关起到
18、中间人的作用,要对所有双向的流量进行检查和转发HTTP代理服务器是最常用的应用层网关,端口通常为80或8080。浏览器可以利用HTTP代理浏览网页31应用级网关电路级网关/电路级代理:监控受信任的客户或服务器与不受信任的主机间的TCP握手信息,以决定会话是否合法在TCP握手过程中,检查SYN、ACK和序列数据是否为合理逻辑,以判断会话是否合法。认为会话合法,就为双方建立连接网关仅复制、传递数据,而不进行过滤通用代理服务器,工作于OSI模型的会话层或TCP/IP协议的TCP层适用于多个协议,但不能识别在同一个协议栈上运行的不同应用,也就不需要对不同的应用设置不同的代理模块remark:电路级网关
19、并非作为独立的产品存在,通常与其他应用级网关结合在一起,它在会话层上过滤数据包,无法检查应用层的数据包 32电路级网关网络地址转换(NAT,Network Address Translation):属接入广域网技术,一种将私有IP地址转化为合法广域网IP地址的转换技术电路级网关通常具备该功能解决lPv4地址不足的问题能够有效地避免来自网络外部的攻击,隐藏并保护网络内部主机网络地址转换NAT对用户是透明的33电路级网关Q:所有返回数据包目的IP都是200.200.200.200,防火墙如何识别并送回真正主机?方法:防火墙记住所有发送包的目的端口防火墙记住所有发送包的TCP序列号NATNAT类型:
20、静态NAT(Static NAT)动态NAT(Dynamic NAT)端口转换NAPT(Network Address Port Translation)34网络地址转换静态NAT:内部网络的每个私有IP地址都被永久转换为某个公有IP地址,是一对一固定不变的动态NAT:将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定、随机的。在外部网络中定义一系列的合法IP地址,采用动态分配的方法映射到内部网络当ISP提供的合法IP地址略少于内部网络计算机时网络端口地址转换NAPT:将多个内部地址映射为一个合法公网地址,但以不同的协议端口号与不同的内部地址相对应。即与之间的转换 35NAT的类型
21、静态NAT:把内部网络中的每个主机都永久映射成外部网络中的某个合法的地址36网络地址转换动态NAT:在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络 37网络地址转换什么时候用NAPT?缺乏全局IP地址;甚至没有专门申请的全局IP地址,只有一个连接ISP的全局IP地址内部网要求上网的主机数很多提高内网的安全性NAPT可分为:静态NAPTp需要向外网络提供信息服务的主机p永久的一对一“IP地址+端口”映射关系动态NAPTp只访问外网服务,不提供信息服务的主机p临时的一对一“IP地址 端口”映射关系38网络地址转换39NAPT示例为更好地实现网络安全,需要将几种防火墙技术组合起
22、来构建防火墙系统。目前比较流行的几种防火墙配置方案:屏蔽路由器最简单的防火墙配置,直接在内网和外网之间加装一个包过滤路由器或者应用网关双宿主机模式屏蔽主机模式屏蔽子网模式40防火墙的配置方案双宿主机结构采用主机替代路由器执行安全控制功能,类似于包过滤防火墙,是外部网络用户进入内部网络的唯一通道双宿主机用两个网络适配器分别连接两个网络,又称堡垒主机堡垒主机运行防火墙软件,可转发数据,提供服务等41双宿主机模式双宿主机可以在内网和外网之间进行寻径,内/外网都可以执行由它提供的网络应用,如果允许的话,它们可以共享数据如果寻径被禁止,则可以隔离内网和外网之间的通信,内网和外网节点可通过双宿主机上的共享
23、数据传递信息,但内网与外网之间不能传递信息,从而达到保护内网的作用特点:主机的路由功能被禁止,两个网络之间的通信通过双宿主机来完成致命弱点:一旦侵入堡垒主机并使该主机具有路由功能,则任何用户均可以随便访问有保护的内部网络42双宿主机模式43双宿主机模式内部网络内部网络外部网络禁止内外网络之间直接通信禁止内外网络之间直接通信双宿主机v 通过应用代理通过应用代理vv 通过登陆到双宿主主机上获得服务通过登陆到双宿主主机上获得服务缺点:如何保护双宿主缺点:如何保护双宿主机本身的安全机本身的安全 所有的通信必须经过双宿主主机所有的通信必须经过双宿主主机屏蔽主机模式:包过滤路由器连接外网,堡垒主机安装在内
24、网在路由器上设立过滤规则,并使堡垒主机成为从外网唯一可直达的主机,确保内网不受未被授权的外部用户的攻击实现了网络层和应用层的安全,比单独的包过滤或应用网关更安全44屏蔽主机模式过滤路由器是否配置正确是安全与否的关键45屏蔽主机模式进行规则配置,只允许外部主机与堡垒主机通讯互联网互联网互联网互联网对内部其他主机的访问必须经过堡垒主机o缺点:缺点:n堡垒主机与其他主机在同一个子网n一旦堡垒主机被攻破或被越过,整个内网和 堡垒主机之间就再也没有任何阻挡不允许外部主机直接访问除堡垒主机之外的其他主机过滤器堡垒主机屏蔽子网防火墙:较流行的一种结构,采用两个包过滤路由器和一个堡垒主机,在内外网络之间建立一
25、个被隔离的子网,称为DMZ(非军事区、隔离区,demilitarized zone)46屏蔽子网模式DMZ:为解决安装防火墙后外网不能访问内网服务器的问题而设立的一个非安全系统与安全系统之间的缓冲区,位于企业内部网络和外部网络之间的小网络区域内,放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器等DMZ区域更加有效地保护了内部网络,因为对攻击者来说又多了一道关卡两个包过滤路由器放在子网两端,一个控制Intranet 数据流,一个控制Internet数据流,Intranet和Internet均可访问屏蔽子网,但禁止它们穿过屏蔽子网通信47屏蔽子网模式48屏蔽子网模式可根据需要在屏蔽子
26、网中安装堡垒主机,为内部网络和外部网络的互相访问提供代理服务,但来自两网络的访问都必须通过两个包过滤路由器的检查即使堡垒主机被入侵者控制,内部网仍受到内部包过滤路由器的保护这种结构的防火墙安全性能高,具有很强的抗攻击能力,但需要的设备多,造价高49屏蔽子网模式50屏蔽子网模式内部网络外部网络堡垒主机内部筛选路由器外部筛选路由器禁止内外网络直接进行通讯内外部网络之间的通信都经过堡垒主机防火墙的主要功能:网络安全的屏障 强化网络安全策略 对网络存取和访问进行监控审计 防止内部信息的外泄 51防火墙的主要功能52防火墙的主要功能v 安全内核v访问控制v 内容安全v IP与MAC绑定v 安全远程管理v
27、 多种管理方式v 灵活接入v 授权认证v 双机热备v 安全审计v 加密v 端口映射v 流量控制v 规则模拟测试v 入侵检测v 本地&远程管理v NAT转换&IP复用v 多端口结构v 安全联动v 双系统v 网络管理v 基于源地址、目的地址v 基于源端口、目的端口v 基于用户v 基于时间v 基于流量v 基于时间的控制v 用户级权限控制防火墙防火墙Netfilter/Iptables可称为Linux的第三代防火墙(前两代是Ipfwadm和IP chains)53防火墙实例Netfilter/IptablesShell Iptables Netfilter Source CodeLinux Kerne
28、l Source Code http:/www.kernel.orghttp:/filter.orgIptables是防火墙管理人员的规则编辑管理工具Netfilter的工作的位置54防火墙实例Netfilter/Iptables应用程序应用程序Kernel硬件硬件Netfiltereth0eth1Netfilter的功能模块:Filter:是Netfilter最为重要的机制,任务是执行封包的过滤动作NAT:网络地址转换Mangle:修改经过防火墙的封包内容RAW:加快封包穿越防火墙的速度,借此提高防火墙的性能55防火墙实例Netfilter/IptablesTableChainFilterI
29、NPUTFORWARDOUTPUTNatPREROUTINGPOSTROUTINGOUTPUTManglePREROUTINGINPUTFORWARDOUTPUTPOSTROUTINGRAWPREROUTINGOUTPUT56防火墙实例Netfilter/Iptables表间的优先顺序:RAWmanglenatfilter链内的匹配规则:自上向下按顺序依次检查,找到相匹配的规则即停止(LOG选项表示记录相关日志)若在链内找不到相关规则,则按照默认规则执行,(未修改的情况下,默认规则为允许)57防火墙实例Netfilter/Iptables58防火墙实例Netfilter/Iptablesser
30、vice iptables start/stop/restartchkconfig iptables on/offiptables是配置规则的工具,其语法格式大致如下:iptables t 表名 管理选项 链名 条件匹配-j 目标动作或跳转其中内部分为可选项。表名即为filter、nat、mangle、raw四个表之一,不指定默认为filter表59防火墙实例Netfilter/Iptables选项(区分大小写)(区分大小写)说明明-L列出表的内容-F清除表的内容-A添加规则-P设定默认规则-I插入新规则-R取代规则-D删除规则60防火墙实例Netfilter/Iptablesiptables
31、 t filter A INPUT p icmp j ACCEPTiptables t filter P FORWARD DROP#把FORWARD链的默认规则设为DROPiptables t filter D INPUT 2#删除filter表中INPUT链里的第2条规则remark:-p:protocol将192.168.181.1送到本机的ICMP数据包丢弃拒绝192.168.181.1主机通过本机的DNS服务来执行域名解析 remark:-dport:目标端口 -sport:源端口 -dprot或-sport参数前一定要指明是TCP还是UDP协议61防火墙实例Netfilter/Ipt
32、ablesiptables A INPUT p icmp s 192.168.181.1 j DROPiptables A INPUT p udp s 192.168.181.1-dport 53 j REJECT根据企业的安全策略,需要实现如下的访问规则:任何主机都可以正常访问192.168.181.129上SSH及Telnet以外的服务网络上只有192.168.181.130的主机可以正常访问192.168.181.129上的所有服务62防火墙实例Netfilter/Iptablesiptables P INPUT DROPiptables A INPUT p tcp d 192.168.
33、181.129-dport 25 j ACCEPTiptables A INPUT p tcp d 192.168.181.129-dport 80 j ACCEPTiptables A INPUT p tcp d 192.168.181.129-dport 110 j ACCEPTiptables A INPUT p tcp s 192.168.181.130 d 192.168.181.129-dport 22 j ACCEPTiptables A INPUT p tcp s 192.168.181.130 d 192.168.181.129-dport 23 j ACCEPT63防火墙实
34、例Netfilter/IptablesWAF(Web应用防火墙,Web应用防护系统):通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护工作在应用层对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护WAF分类:硬件WAF软件WAF云WAF代码级WAF(网站系统内置的WAF)64WAF(Web Application Firewall)WAF产品举例:硬件WAFpNSFOCUS Web Application Firewallp梭子鱼Web应用防火墙软件WAFpModSecurity(Ap
35、ache的模块)代码级WAFp就PHP Web应用来说,可以在php.ini中修改,配置指令指向那些在每个请求的PHP脚本执行之前和之后才执行的PHP文件;Automatically add files before PHP document.;auto-prepend-fileauto_prepend_file=;Automatically add files after PHP document.;auto-append-fileauto_append_file=pOWASP Stinger:开源的J2EE过滤器pSecurity Parameter Filter(SPF):ASP.NET
36、 HttpModule65WAF(Web Application Firewall)WAF的特性:异常检测协议增强的输入验证及时补丁:任何时候,遵循安全编码规范,并进行严格的代码审计基于规则的保护和基于异常的保护状态管理URL策略/页面层策略p页面覆写pURL重写(Apache的mod_rewrite模块,.NET框架的urlMappings元素)66WAF(Web Application Firewall)WAF的部署方式:串联防护部署模式旁路防护部署模式67WAF(Web Application Firewall)串联防护部署模式旁路防护部署模式防火墙的工作原理防火墙技术包过滤防火墙代理服务器电路级网关(NAT)混合型防火墙防火墙配置方案屏蔽路由器双宿主机模式屏蔽主机模式屏蔽子网模式WAF68Summary感谢聆听感谢聆听BitSec(张立江)中国矿业大学 网络空间安全系69