1、 2006工程兵工程学院 计算机教研室第十一章 本章主要内容本章主要内容n防火墙防火墙概述;概述;n分组过滤器;分组过滤器;n电路层代理;电路层代理;n应用层网关;应用层网关;n三种防火墙的特点。三种防火墙的特点。 本讲主要内容本讲主要内容n引出防火墙的原因;引出防火墙的原因;n防火墙定义和工作机制;防火墙定义和工作机制;n防火墙分类;防火墙分类;n防火墙功能;防火墙功能;n防火墙的局限性。防火墙的局限性。 安全的网络系统既要能够保障正常的数据交换过程,又安全的网络系统既要能够保障正常的数据交换过程,又要能够阻止用于实施攻击的数据交换过程。要能够阻止用于实施攻击的数据交换过程。 防火墙一是能够
2、检测出用于实施攻击的信息流,并阻断防火墙一是能够检测出用于实施攻击的信息流,并阻断这样的信息流。二是能够允许正常信息流通过。这样的信息流。二是能够允许正常信息流通过。 网络中的防火墙是一种位于网络之间,或者用户终端与网络中的防火墙是一种位于网络之间,或者用户终端与网络之间,对网络之间,或者网络与用户终端之间传输的信网络之间,对网络之间,或者网络与用户终端之间传输的信息流实施控制的设备。息流实施控制的设备。 防火墙的作用是控制网络防火墙的作用是控制网络1 1与网络与网络2 2之间传输的信息流,之间传输的信息流,所谓控制是指允许网络所谓控制是指允许网络1 1与网络与网络2 2之间传输某种类型的信息
3、流,之间传输某种类型的信息流,阻断另一种类型的信息流网络阻断另一种类型的信息流网络1 1与网络与网络2 2之间的传输过程。允之间的传输过程。允许和阻断操作的依据是为防火墙配置的安全策略。许和阻断操作的依据是为防火墙配置的安全策略。防火墙分类防火墙分类1 1个人防火墙个人防火墙n个人防火墙只保护单台计算机,用于对进出计算机的信个人防火墙只保护单台计算机,用于对进出计算机的信息流实施控制,因此,个人防火墙通常是分组过滤器;息流实施控制,因此,个人防火墙通常是分组过滤器;n分组过滤器分为有状态分组过滤器和无状态分组过滤器分组过滤器分为有状态分组过滤器和无状态分组过滤器两种类型,无状态分组过滤器只根据
4、单个两种类型,无状态分组过滤器只根据单个IPIP分组携带的分组携带的信息确定是否过滤掉该信息确定是否过滤掉该IPIP分组。而有状态分组过滤器不分组。而有状态分组过滤器不仅根据仅根据IPIP分组携带的信息,而且还根据分组携带的信息,而且还根据IPIP分组所属的会分组所属的会话的状态确定是否过滤掉该话的状态确定是否过滤掉该IPIP分组。分组。2 2网络防火墙网络防火墙(1 1)分组过滤器)分组过滤器 网络防火墙中的分组过滤器同样分为有状态分组过网络防火墙中的分组过滤器同样分为有状态分组过滤器和无状态分组过滤器两种类型。网络防火墙中的分滤器和无状态分组过滤器两种类型。网络防火墙中的分组过滤器能够根据
5、用户制定的安全策略对内网和外网间组过滤器能够根据用户制定的安全策略对内网和外网间传输的信息流实施控制,它对信息流的发送端和接收端传输的信息流实施控制,它对信息流的发送端和接收端是透明的,因此,分组过滤器的存在不需要改变终端访是透明的,因此,分组过滤器的存在不需要改变终端访问网络的方式。问网络的方式。2 2网络防火墙网络防火墙(2 2)电路层代理)电路层代理 终端先和电路层代理建立终端先和电路层代理建立TCPTCP连接,电路层代理在完连接,电路层代理在完成对终端用户的身份鉴别后,和服务器建立成对终端用户的身份鉴别后,和服务器建立TCPTCP连接,并连接,并将这两个将这两个TCPTCP连接绑定在一
6、起。连接绑定在一起。 先认证用户身份,确定是授权用户先认证用户身份,确定是授权用户发起的发起的TCP连接时,再与服务器建连接时,再与服务器建立立TCP连接。连接。2 2网络防火墙网络防火墙(3 3)应用层网关)应用层网关 对相互交换的对相互交换的FTPFTP消息,必须根消息,必须根据据FTPFTP规范检测其合理性,包括请求规范检测其合理性,包括请求和响应消息中的各个字段值是否正确?和响应消息中的各个字段值是否正确?请求消息和响应消息是否匹配?文件请求消息和响应消息是否匹配?文件内容是否包含禁止传播的非法内容或内容是否包含禁止传播的非法内容或病毒等。应用层网关必须支持病毒等。应用层网关必须支持F
7、TPFTP,才能中继才能中继FTPFTP消息,因此,应用层网消息,因此,应用层网关是应用层相关的。关是应用层相关的。 n服务服务控制控制不同网络间只允许传输与特定服务相关的信息流。不同网络间只允许传输与特定服务相关的信息流。n方向控制方向控制不同网络间只允许传输与由特定网络中终端发起的会话不同网络间只允许传输与由特定网络中终端发起的会话相关的信息流。相关的信息流。n用户控制用户控制不同网络间只允许传输与授权用户合法访问网络资源相不同网络间只允许传输与授权用户合法访问网络资源相关的信息流。关的信息流。n行为控制行为控制不同网络间只允许传输与行为合理的网络资源访问过程不同网络间只允许传输与行为合理
8、的网络资源访问过程相关的信息流。相关的信息流。n无法防御网络内部终端发起的攻击;无法防御网络内部终端发起的攻击;n无法阻止病毒传播;无法阻止病毒传播;n无法防御利用防火墙安全策略允许的信息传输过无法防御利用防火墙安全策略允许的信息传输过程实施的攻击行为。程实施的攻击行为。本讲主要内容本讲主要内容n无状态分组过滤器;无状态分组过滤器;n有状态分组过滤器。有状态分组过滤器。 分组过滤器,顾名思义就是从一个网络进入分组过滤器,顾名思义就是从一个网络进入另一个网络的全部另一个网络的全部IPIP分组中筛选出符合用户指定分组中筛选出符合用户指定特征的一部分特征的一部分IPIP分组,并对这一部分分组,并对这
9、一部分IPIP分组的网分组的网络间传输过程实施控制。无状态是指实施筛选和络间传输过程实施控制。无状态是指实施筛选和控制操作时,每一个控制操作时,每一个IPIP分组都是独立的,不考虑分组都是独立的,不考虑IPIP分组之间的关联性。分组之间的关联性。 过滤规则过滤规则 规则由一组属性值和操作组成,如果某个规则由一组属性值和操作组成,如果某个IPIP分组携带的信息和分组携带的信息和构成规则的一组属性值匹配,意味着该构成规则的一组属性值匹配,意味着该IPIP分组和该规则匹配,对该分组和该规则匹配,对该IPIP分组实施规则指定的操作。分组实施规则指定的操作。 构成规则的属性值通常由下述字段组成:构成规则
10、的属性值通常由下述字段组成:n源源IPIP地址,用于匹配地址,用于匹配IPIP分组分组IPIP首部中的源首部中的源IPIP地址字段值。地址字段值。n目的目的IPIP地址,用于匹配地址,用于匹配IPIP分组分组IPIP首部中的目的首部中的目的IPIP地址字段值。地址字段值。n源和目的端口号,用于匹配作为源和目的端口号,用于匹配作为IPIP分组净荷的传输层报文首部中源分组净荷的传输层报文首部中源和目的端口号字段值。和目的端口号字段值。n协议类型,用于匹配协议类型,用于匹配IPIP分组首部中的协议字段值。分组首部中的协议字段值。 一个过滤器可以由多个规则构成,一个过滤器可以由多个规则构成,IPIP分
11、组只分组只有和当前规则不匹配时,才继续和后续规则进行有和当前规则不匹配时,才继续和后续规则进行匹配操作,如果和过滤器中的所有规则都不匹配,匹配操作,如果和过滤器中的所有规则都不匹配,对对IPIP分组进行默认操作。一旦和某个规则匹配,分组进行默认操作。一旦和某个规则匹配,则对其进行规则指定的操作,不再和其他规则进则对其进行规则指定的操作,不再和其他规则进行匹配操作。行匹配操作。 禁止网络禁止网络193.1.1.0/24193.1.1.0/24中的终端用中的终端用TelnetTelnet访问网访问网络络193.1.2.0/24193.1.2.0/24中中IPIP地址为地址为193.1.2.5193
12、.1.2.5的服务器。的服务器。路由器路由器R1R1接口接口1 1输入方向上的分组过滤器的规则是:输入方向上的分组过滤器的规则是:n协议类型协议类型=TCP =TCP ;n源源IPIP地址地址=193.1.1.0/24=193.1.1.0/24;n目的目的IPIP地址地址=193.1.2.5/32 =193.1.2.5/32 ;n目的端口号目的端口号=23=23;n对和规则匹配的对和规则匹配的IPIP分组采取的动作是:丢弃。分组采取的动作是:丢弃。 如果只是需要过滤掉所有与如果只是需要过滤掉所有与LAN 1LAN 1中的终端用中的终端用TelnetTelnet访问访问LAN 2LAN 2中的服
13、务器的操作相关的中的服务器的操作相关的IPIP分组,分组,允许其他允许其他IPIP分组继续传输,则完整的过滤器如下:分组继续传输,则完整的过滤器如下: n协议类型协议类型=TCP=TCP,源,源IPIP地址地址=193.1.1.0/24=193.1.1.0/24,目的,目的IPIP地址地址=193.1.2.5/32=193.1.2.5/32,目的端口号,目的端口号=23=23;丢弃。;丢弃。n协议类型协议类型= =* * ,源,源IPIP地址地址=any=any,目的,目的IPIP地址地址=any=any;正常转发。正常转发。3 3两种过滤规则集设置方法两种过滤规则集设置方法(1 1)黑名单)
14、黑名单 黑名单方法是列出所有禁止传输的黑名单方法是列出所有禁止传输的IPIP分组类型,没有明分组类型,没有明确禁止的确禁止的IPIP分组类型都是允许传输的。分组类型都是允许传输的。(2 2)白名单)白名单 白名单方法与黑名单方法相反,列出所有允许传输的白名单方法与黑名单方法相反,列出所有允许传输的IPIP分组类型,没有明确允许传输的分组类型,没有明确允许传输的IPIP分组类型都是禁止传输的。分组类型都是禁止传输的。 写出作用于路由器写出作用于路由器R1R1接口接口1 1输入方向,路由器输入方向,路由器R2R2接口接口2 2输输入方向,实现只允许终端入方向,实现只允许终端A A访问访问WebWe
15、b服务器,终端服务器,终端B B访问访问FTPFTP服服务器,禁止其他一切网络间通信过程的安全策略的过滤规则务器,禁止其他一切网络间通信过程的安全策略的过滤规则集。集。路由器路由器R1R1接口接口1 1输入方向的过滤规则集如下。输入方向的过滤规则集如下。协议类型协议类型TCPTCP,源,源IPIP地址地址192.1.1.1/32192.1.1.1/32,源端口号,源端口号* *,目的目的IPIP地址地址192.1.2.7/32192.1.2.7/32,目的端口号,目的端口号8080;正常转发。;正常转发。协议类型协议类型TCPTCP,源,源IPIP地址地址192.1.1.7/32192.1.1
16、.7/32,源端口号,源端口号2121,目的目的IPIP地址地址192.1.2.1/32192.1.2.1/32,目的端口号,目的端口号* *;正常转发。;正常转发。协议类型协议类型TCPTCP,源,源IPIP地址地址192.1.1.7/32192.1.1.7/32,源端口号,源端口号2020,目的目的IPIP地址地址192.1.2.1/32192.1.2.1/32,目的端口号,目的端口号* *;正常转发。;正常转发。协议类型协议类型* *,源,源IPIP地址地址anyany,目的,目的IPIP地址地址anyany;丢弃。;丢弃。路由器路由器R2R2接口接口2 2输入方向的过滤规则集如下。输入
17、方向的过滤规则集如下。协议类型协议类型TCPTCP,源,源IPIP地址地址192.1.2.1/32192.1.2.1/32,源端口号,源端口号* *,目的目的IPIP地址地址192.1.1.7/32192.1.1.7/32,目的端口号,目的端口号2121;正常转发。;正常转发。协议类型协议类型TCPTCP,源,源IPIP地址地址192.1.2.1/32192.1.2.1/32,源端口号,源端口号* *,目的目的IPIP地址地址192.1.1.7/32192.1.1.7/32,目的端口号,目的端口号2020;正常转发。;正常转发。协议类型协议类型TCPTCP,源,源IPIP地址地址192.1.2
18、.7/32192.1.2.7/32,源端口号,源端口号8080,目的目的IPIP地址地址192.1.1.1/32192.1.1.1/32,目的端口号,目的端口号* *;正常转发。;正常转发。协议类型协议类型* *,源,源IPIP地址地址anyany,目的,目的IPIP地址地址anyany;丢弃。;丢弃。 路由器路由器R1R1接口接口1 1只允许输入输出与终端只允许输入输出与终端A A访问访问WebWeb服务器的服务器的操作有关的操作有关的IPIP分组,禁止输入输出其他一切类型的分组,禁止输入输出其他一切类型的IPIP分组。分组。路由器路由器R1R1接口接口1 1输入方向的过滤规则集如下。输入方
19、向的过滤规则集如下。协议类型协议类型TCPTCP,源,源IPIP地址地址192.1.1.1/32192.1.1.1/32,源端口号,源端口号* *,目的目的IPIP地址地址192.1.2.7/32192.1.2.7/32,目的端口号,目的端口号8080;正常转发。;正常转发。协议类型协议类型* *,源,源IPIP地址地址anyany,目的,目的IPIP地址地址anyany;丢弃。;丢弃。路由器路由器R1R1接口接口1 1输出方向的过滤规则集如下。输出方向的过滤规则集如下。协议类型协议类型TCPTCP,源,源IPIP地址地址192.1.2.7/32192.1.2.7/32,源端口号,源端口号80
20、80,目的目的IPIP地址地址192.1.1.1/32192.1.1.1/32,目的端口号,目的端口号* *;正常转发。;正常转发。协议类型协议类型* *,源,源IPIP地址地址anyany,目的,目的IPIP地址地址anyany;丢弃。;丢弃。 匹配路由器匹配路由器R1R1接口接口1 1输出方向过滤规则的输出方向过滤规则的IPIP分组未必就分组未必就是封装是封装WebWeb服务器用于响应终端服务器用于响应终端A A访问请求的响应报文的访问请求的响应报文的IPIP分分组。原因是,响应报文不是固定的,而是根据请求报文动态组。原因是,响应报文不是固定的,而是根据请求报文动态变化的。变化的。 为了实
21、现路由器为了实现路由器R1R1接口接口1 1只允许输入输出与终端只允许输入输出与终端A A发起访问发起访问webweb服务器的操作有关的服务器的操作有关的IPIP分组,禁止输入输出其他一切类型分组,禁止输入输出其他一切类型的的IPIP分组的安全策略,必须做到:分组的安全策略,必须做到:只允许由终端只允许由终端A A发起建立与发起建立与WebWeb服务器之间的服务器之间的TCPTCP连接。连接。只允许属于由终端只允许属于由终端A A发起建立的与发起建立的与WebWeb服务器之间的服务器之间的TCPTCP连接的连接的TCPTCP报文沿着报文沿着WebWeb服务器至终端服务器至终端A A方向传输。方
22、向传输。必须在路由器必须在路由器R1R1接口接口1 1输入终端输入终端A A发送给发送给WebWeb服务器的请求报文服务器的请求报文后,才允许路由器后,才允许路由器R1R1接口接口1 1输出输出WebWeb服务器返回给终端服务器返回给终端A A的响应的响应报文。报文。 为实现上述控制过程,路由器为实现上述控制过程,路由器R1R1接口接口1 1输入输出方向的过输入输出方向的过滤器必须具备以下功能。滤器必须具备以下功能。终端终端A A至至WebWeb服务器传输方向上的过滤规则允许传输与终端服务器传输方向上的过滤规则允许传输与终端A A发发起访问起访问WebWeb服务器的操作有关的服务器的操作有关的
23、TCPTCP报文。报文。初始状态下,初始状态下,WebWeb服务器至终端服务器至终端A A传输方向上的过滤规则拒绝传输方向上的过滤规则拒绝一切一切IPIP分组传输。分组传输。只有当终端只有当终端A A至至WebWeb服务器传输方向上传输了与终端服务器传输方向上传输了与终端A A发起访问发起访问WebWeb服务器的操作有关的服务器的操作有关的TCPTCP报文后,报文后,WebWeb服务器至终端服务器至终端A A传输传输方向才允许传输作为对应的响应报文的方向才允许传输作为对应的响应报文的TCPTCP报文。报文。 为实现上述控制过程,路由器为实现上述控制过程,路由器R1R1接口接口1 1输入输出方向
24、的过输入输出方向的过滤器必须具备以下功能。滤器必须具备以下功能。终端终端A A至至WebWeb服务器传输方向上的过滤规则允许传输与终端服务器传输方向上的过滤规则允许传输与终端A A发发起访问起访问WebWeb服务器的操作有关的服务器的操作有关的TCPTCP报文。报文。初始状态下,初始状态下,WebWeb服务器至终端服务器至终端A A传输方向上的过滤规则拒绝传输方向上的过滤规则拒绝一切一切IPIP分组传输。分组传输。只有当终端只有当终端A A至至WebWeb服务器传输方向上传输了与终端服务器传输方向上传输了与终端A A发起访问发起访问WebWeb服务器的操作有关的服务器的操作有关的TCPTCP报
25、文后,报文后,WebWeb服务器至终端服务器至终端A A传输传输方向才允许传输作为对应的响应报文的方向才允许传输作为对应的响应报文的TCPTCP报文。报文。 193.1.1.0/24 193.1.2.0/24 193.1.3.1 1 2 3 非信任区非信任区 193.1.2.254 193.1.1.254 LAN 1 信任区信任区 LAN 2 非军事区非军事区 193.1.2.5 Web服务器服务器 Internet 193.1.2.6 邮件服务器邮件服务器 193.1.3.2 防火墙防火墙 193.1.1.1 动态分组检测的第一动态分组检测的第一步是将网络划分成三步是将网络划分成三个区,然后
26、对区间进个区,然后对区间进行的访问过程全程监行的访问过程全程监控控。所谓全程监控是所谓全程监控是根据访问策略确根据访问策略确定信息流顺序,定信息流顺序,然后对每一次信然后对每一次信息流传输操作进息流传输操作进行监控,看其是行监控,看其是否符合策略规定否符合策略规定的顺序和动作。的顺序和动作。访问策略访问策略从信任区到非军事区从信任区到非军事区 源源IPIP地址地址=193.1.1.0/24 =193.1.1.0/24 目的目的IPIP地址地址=193.1.2.5/32 HTTP=193.1.2.5/32 HTTP服务;服务;从信任区到非军事区从信任区到非军事区 源源IPIP地址地址=193.1
27、.1.0/24 =193.1.1.0/24 目的目的IPIP地址地址=193.1.2.6 SMTP+POP3=193.1.2.6 SMTP+POP3服务;服务;从信任区到非信任区从信任区到非信任区 源源IPIP地址地址=193.1.1.0/24 =193.1.1.0/24 目的目的IPIP地址地址=0.0.0.0 =0.0.0.0 HTTP+FTP GETHTTP+FTP GET服务;服务;从非军事区到非信任区从非军事区到非信任区 源源IPIP地址地址=193.1.2.6/32 =193.1.2.6/32 目的目的IPIP地址地址=0.0.0.0 SMTP=0.0.0.0 SMTP服务;服务;
28、从非信任区到非军事区从非信任区到非军事区 源源IPIP地址地址=0.0.0.0 =0.0.0.0 目的目的IPIP地址地址=193.1.2.5/32 HTTP GET=193.1.2.5/32 HTTP GET服务;服务;从非信任区到非军事区从非信任区到非军事区 源源IPIP地址地址=0.0.0.0 =0.0.0.0 目的目的IPIP地址地址=193.1.2.6/32 SMTP=193.1.2.6/32 SMTP服务。服务。 访问策略和分组过滤不同,不是定访问策略和分组过滤不同,不是定义了允许或不允许传输的义了允许或不允许传输的IPIP分组,分组,而是定义了整个服务过程。如第一而是定义了整个服
29、务过程。如第一项策略表示允许进行由信任区中终项策略表示允许进行由信任区中终端发起的,对非军事区中的端发起的,对非军事区中的WEBWEB服服务器的访问。它允许符合这个访问务器的访问。它允许符合这个访问过程的过程的IPIP分组在信任区和非军事区分组在信任区和非军事区之间传输。之间传输。策略对应的信息交换过策略对应的信息交换过程,由于是允许信任区中程,由于是允许信任区中终端发起对非信任区中终端发起对非信任区中WEBWEB服务器的访问,因此,服务器的访问,因此,首先允许通过的是符合信首先允许通过的是符合信任区中终端发起建立任区中终端发起建立TCPTCP连接的过程的连接的过程的IPIP分组。然分组。然后
30、允许通过的是和读取后允许通过的是和读取WEBWEB内容有关的内容有关的IPIP分组。分组。最后,允许通过的是释放最后,允许通过的是释放TCPTCP连接有关的连接有关的IPIP分组。分组。 SYN,SEQ=X SYN,SEQ=Y,ACK=X+1 ACK=Y+1 HTTP 请求请求 HTTP 响应响应 FIN,SEQ=U ACK=U+1 FIN,SEQ=V ACK=V信任区内的终端信任区内的终端 非军事区内的非军事区内的 Web 服务器服务器 193.1.2.0/24 Internet SYN SYN,ACK SYN SYN,ACK SYN SYN,ACK Web服务器服务器 TCP 连接连接表表
31、 防火墙防火墙 193.1.1.0/24 SYN SYN,ACK TCP 连接表连接表 建立建立 TCP 连接请求报文阈值连接请求报文阈值 ACK SYN SYN,ACK ACK 防火墙通过只中继正防火墙通过只中继正常的建立常的建立TCPTCP连接请求,连接请求,来避免服务器遭受来避免服务器遭受SYNSYN泛滥攻击。泛滥攻击。 193.1.2.0/24 Internet SYN SYN,ACK SYN SYN,ACK SYN,SEQ=X SYN,ACK=X+1,SEQ=Z1 Web 服务器服务器 TCP 连接表连接表 防火墙防火墙 193.1.1.0/24 SYN,SEQ=Y SYN,ACK=
32、Y+1,SEQ=Z2 建立建立 TCP 连接请求报文阈值连接请求报文阈值 SEQ=Y+1,ACK=Z2+1 SYN,SEQ=Y SYN,ACK=Y+1,SEQ=U ACK=U+1,SEQ=Y+1 Z1、Z2=MD5(请求报文源请求报文源 IP 地址目的地址目的 IP 地址地址 源端口号目的端口号发送序号)源端口号目的端口号发送序号) 通过通过COOKIECOOKIE技术避技术避免防火墙被免防火墙被SYNSYN泛泛滥阻塞。滥阻塞。 在防火墙连接非信任区的端口启动防御在防火墙连接非信任区的端口启动防御IPIP地址扫描机制,并设置时地址扫描机制,并设置时间间隔和阈值。端口在每一个时间段检测具有相同源
33、间间隔和阈值。端口在每一个时间段检测具有相同源IPIP地址、不同目的地址、不同目的IPIP地址的地址的ICMP ECHOICMP ECHO请求报文,允许前请求报文,允许前1010个具有上述特征的个具有上述特征的ICMP ECHOICMP ECHO请请求报文通过端口继续转发,丢弃后续具有上述特征的求报文通过端口继续转发,丢弃后续具有上述特征的ICMP ECHOICMP ECHO请求报文,请求报文,直到下一个时间段开始。直到下一个时间段开始。本讲主要内容本讲主要内容nSocksSocks和电路层代理实现原理;和电路层代理实现原理;n电路层代理应用环境;电路层代理应用环境;n电路层代理安全功能。电路
34、层代理安全功能。 假定源主机是终端假定源主机是终端B B,目的主机是,目的主机是WebWeb服服务器,源主机与目的务器,源主机与目的主机之间无法直接建主机之间无法直接建立立TCPTCP连接。连接。 源主机首先建立与电路层代理之间的源主机首先建立与电路层代理之间的TCPTCP连接,建立连接,建立TCPTCP连接时,电路层代理一端的端口号是连接时,电路层代理一端的端口号是Socksv5Socksv5的著名端口号的著名端口号10801080。完成。完成TCPTCP连接建立过程后,电路层代理根据配置的用连接建立过程后,电路层代理根据配置的用户身份鉴别机制要求源主机提供用户名和密码,源主机要求户身份鉴别
35、机制要求源主机提供用户名和密码,源主机要求用户输入用户名用户用户输入用户名用户A A和密码和密码PASSAPASSA,并将用户输入的用户名,并将用户输入的用户名和密码发送给电路层代理,电路层代理根据用户名用户和密码发送给电路层代理,电路层代理根据用户名用户A A和和密码密码PASSAPASSA确定是注册用户后,向源主机发送身份鉴别成功确定是注册用户后,向源主机发送身份鉴别成功消息。消息。 源主机向电路层代理发送请求建立电路层代理与目的主源主机向电路层代理发送请求建立电路层代理与目的主机之间的机之间的TCPTCP连接的请求消息,请求消息中给出目的主机的连接的请求消息,请求消息中给出目的主机的IP
36、IP地址地址192.1.2.7192.1.2.7,和该,和该TCPTCP连接的目的端口号连接的目的端口号8080。电路层代。电路层代理建立与理建立与IPIP地址为地址为192.1.2.7192.1.2.7的目的主机之间的的目的主机之间的TCPTCP连接,并连接,并建立源主机与电路层代理之间的建立源主机与电路层代理之间的TCPTCP连接和电路层代理与目连接和电路层代理与目的主机之间的的主机之间的TCPTCP连接之间的映射。连接之间的映射。 内部网络分配私有内部网络分配私有IPIP地址,对连接在地址,对连接在InternetInternet上的终端上的终端是不可见的。是不可见的。 通过三种技术实现
37、远程终端访问内部网络的过程,这三通过三种技术实现远程终端访问内部网络的过程,这三种技术分别是静态端口映射、虚拟专用网(种技术分别是静态端口映射、虚拟专用网(VPNVPN)和电路层)和电路层代理。代理。 建立用全球端口号建立用全球端口号8080唯一标识内部网络私有唯一标识内部网络私有IPIP地址地址192.168.1.7192.168.1.7的地址转换项。远程终端可以用目的的地址转换项。远程终端可以用目的IPIP地址地址7.7.7.77.7.7.7和目的端口号和目的端口号8080访问内部网络中的访问内部网络中的WebWeb服务器。服务器。全球全球IPIP地址地址全球端口号全球端口号本地本地IPI
38、P地址地址本地端口号本地端口号7.7.7.780192.168.1.780 边界路由器边界路由器R R作为作为L2TPL2TP网络服务器(网络服务器(LNSLNS),远程终端通),远程终端通过接入控制过程接入内部网络,分配私有过接入控制过程接入内部网络,分配私有IPIP地址,通过分配地址,通过分配的私有的私有IPIP地址完成对内部网络的访问过程。地址完成对内部网络的访问过程。Internet TCP连接连接内部网络内部网络TCP连接连接远程终端插口远程终端插口电路层代理插口电路层代理插口电路层代理插口电路层代理插口WebWeb服务器插口服务器插口3.3.3.3:13273.3.3.3:1327
39、7.7.7.7:10807.7.7.7:1080192.168.1.1:7321192.168.1.1:7321192.168.1.7:80192.168.1.7:80 假定假定WebWeb服务器的访问权限对源终端的服务器的访问权限对源终端的IPIP地址作了限制,地址作了限制,如只允许如只允许IPIP地址属于地址属于192.1.2.0/24192.1.2.0/24的终端访问的终端访问WebWeb服务器。服务器。 可以通过两种规避访问限制的技术实现终端可以通过两种规避访问限制的技术实现终端A A访问访问WebWeb服服务器的过程,这两种技术分别是务器的过程,这两种技术分别是VPNVPN和电路层代
40、理。和电路层代理。 如果采用如果采用VPNVPN技术,路由器技术,路由器R1R1作为作为L2TPL2TP网络服务器网络服务器(LNSLNS),终端),终端A A通过接入控制过程接入网络通过接入控制过程接入网络2 2,分配网络,分配网络2 2的的IPIP地址,即属于地址,即属于192.1.2.0/24192.1.2.0/24的的IPIP地址,通过分配的属于地址,通过分配的属于192.1.2.0/24192.1.2.0/24的的IPIP地址完成对地址完成对WebWeb服务器的访问过程。服务器的访问过程。终端终端A与电路层代理之间的与电路层代理之间的 TCP连接连接电路层代理与电路层代理与Web服务
41、器之间的服务器之间的TCP连接连接终端终端A A插口插口电路层代理插口电路层代理插口电路层代理插口电路层代理插口WebWeb服务器插口服务器插口192.1.1.1:2373192.1.1.1:2373192.1.2.7:1080192.1.2.7:1080192.1.2.7:3712192.1.2.7:3712192.1.3.1:80192.1.3.1:80路由器路由器R R接口接口2 2的输出方向设置以下无状态分组过滤器。的输出方向设置以下无状态分组过滤器。协议类型协议类型* *,源,源IPIP地址地址192.1.1.0/24192.1.1.0/24,目的,目的IPIP地址地址192.1.2
42、.7/32192.1.2.7/32;丢弃。;丢弃。协议类型协议类型* *,源,源IPIP地址地址anyany,目的,目的IPIP地址地址anyany;正常转发。;正常转发。上述无状态分组过滤器导致网络上述无状态分组过滤器导致网络1 1中的终端无法与中的终端无法与WebWeb服务器通信。服务器通信。终端终端B与电路层代理之间的与电路层代理之间的 TCP连接连接电路层代理与电路层代理与Web服务器之间的服务器之间的TCP连接连接终端终端B B插口插口电路层代理插口电路层代理插口电路层代理插口电路层代理插口WebWeb服务器插口服务器插口192.1.1.3:1273192.1.1.3:1273192
43、.1.2.3:1080192.1.2.3:1080192.1.2.3:2373192.1.2.3:2373192.1.2.7:80192.1.2.7:80n数据中继;数据中继;n用户身份鉴别;用户身份鉴别;n传输层检测。传输层检测。本讲主要内容本讲主要内容n应用层网关概述;应用层网关概述;nWebWeb应用防火墙工作原理;应用防火墙工作原理;nWebWeb应用防火墙应用环境。应用防火墙应用环境。1 1检测层次检测层次 分组过滤器一般只检测分组过滤器一般只检测IPIP首部和传输首部和传输层首部中的源和目的端口号,不会检测传层首部中的源和目的端口号,不会检测传输层报文中净荷的内容。电路层代理通常输
44、层报文中净荷的内容。电路层代理通常只检测传输层首部,同样不会检测传输层只检测传输层首部,同样不会检测传输层报文中净荷的内容。应用层网关要求检测报文中净荷的内容。应用层网关要求检测应用层消息首部,应用层消息中的消息体,应用层消息首部,应用层消息中的消息体,如如HTTPHTTP首部和首部和HTTPHTTP消息体等。消息体等。2 2透明模式和代理模式透明模式和代理模式 分组过滤器对于源和目的主机是透明的,分组过滤器对于源和目的主机是透明的,电路层代理对于源主机不是透明的,应用层网电路层代理对于源主机不是透明的,应用层网关可以工作在透明模式和代理模式。关可以工作在透明模式和代理模式。3 3安全功能安全
45、功能 应用层网关的安全功能是对对应的应用服应用层网关的安全功能是对对应的应用服务器提供保护,有效防御对该应用服务器实施务器提供保护,有效防御对该应用服务器实施的攻击。的攻击。1 1WAFWAF的功能的功能 WAF WAF是对是对WebWeb服务器提供保护的应用层网关,服务器提供保护的应用层网关,用于防御黑客对用于防御黑客对WebWeb服务器实施的攻击。由于与服务器实施的攻击。由于与访问访问WebWeb服务器相关的应用层协议是服务器相关的应用层协议是HTTPHTTP和和HTTPSHTTPS,因此,因此,WAFWAF主要检测主要检测HTTPHTTP消息和消息和HTTPSHTTPS消息。消息。 sq
46、lsql注入攻击通过精心设计资源访问请求,使得服务器前端生成错注入攻击通过精心设计资源访问请求,使得服务器前端生成错误的误的sqlsql语句,后台数据库执行错误的语句,后台数据库执行错误的sqlsql语句后,导致以下后果。语句后,导致以下后果。n错误地更新数据库内容;错误地更新数据库内容;n错误地删除数据内容;错误地删除数据内容;n非授权用户非法访问数据库。非授权用户非法访问数据库。 黑客实施黑客实施XSSXSS攻击过程的前提有两个,一是攻击过程的前提有两个,一是WebWeb服务器存在服务器存在XSSXSS漏洞,漏洞,二是需要让受害人打开包含二是需要让受害人打开包含XSSXSS攻击脚本的攻击脚
47、本的URLURL。 WAFWAF通过检测经过的通过检测经过的HTTPHTTP请求和响应消息中各个字段的请求和响应消息中各个字段的值可以发现不规范的值可以发现不规范的HTTPHTTP请求和响应消息,这些不规范的请求和响应消息,这些不规范的HTTPHTTP请求和响应消息中往往包含攻击信息。请求和响应消息中往往包含攻击信息。 WAF WAF对每一个对每一个HTTPHTTP请求消息,根据攻击特征库中的每请求消息,根据攻击特征库中的每一个攻击行为,逐个检测相关字段,如果该一个攻击行为,逐个检测相关字段,如果该HTTPHTTP请求消息请求消息的相关字段值中包含了某个攻击行为的特征信息,表明该的相关字段值中
48、包含了某个攻击行为的特征信息,表明该HTTPHTTP请求消息是实施该攻击行为的请求消息是实施该攻击行为的HTTPHTTP请求消息。请求消息。 可以根据长期统计分析得出的规律来制定应用规范,可以根据长期统计分析得出的规律来制定应用规范,当当WebWeb服务器访问方式与应用规范之间出现较大偏差时,表服务器访问方式与应用规范之间出现较大偏差时,表明明WebWeb服务器正在遭受攻击。服务器正在遭受攻击。1 1透明模式透明模式 WAF WAF位于终端与位于终端与WebWeb服务器之间的传输路径上,终端与服务器之间的传输路径上,终端与WebWeb服务器之间交换的服务器之间交换的HTTPHTTP请求和响应消
49、息全部经过请求和响应消息全部经过WAFWAF,由由WAFWAF对经过的对经过的HTTPHTTP请求和响应消息进行检测。请求和响应消息进行检测。2 2反向代理模式反向代理模式 WAF WAF并没有位于终端与并没有位于终端与WebWeb服务器之间的传输路径上。为了强迫终端发送给服务器之间的传输路径上。为了强迫终端发送给WebWeb服务器的服务器的HTTPHTTP请求消息经过请求消息经过WAFWAF,在路由器,在路由器R R中添加两项静态路由项,这两中添加两项静态路由项,这两项静态路由项使得路由器项静态路由项使得路由器R R将以将以WebWeb服务器的服务器的IPIP地址为目的地址为目的IPIP地址
50、的地址的IPIP分组转发分组转发给给WAFWAF,并因此使得所有终端发送的、以,并因此使得所有终端发送的、以WebWeb服务器的服务器的IPIP地址为目的地址为目的IPIP地址的地址的IPIP分组经过分组经过WAFWAF。由。由WAFWAF对经过的对经过的HTTPHTTP请求消息进行检测。请求消息进行检测。WebWeb服务器回送的服务器回送的HTTPHTTP响应消息可以不经过响应消息可以不经过WAFWAF。目的网络目的网络输出接口输出接口下一跳下一跳192.168.1.7/32192.168.1.7/322 2192.168.1.3192.168.1.3192.168.1.8/32192.16