具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了实现本发明实施例,首先需要了解本发明实施例的技术方案所需要的防火墙的配置示意图。为了方便描述,以在一个根防火墙上创建的3个虚拟防火墙为例简单进行描述,需要说明的是,所述根防火墙可以看作为一个特殊的虚拟防火墙。
如图1所示,VFW0、VFW1、VFW2分别是根防火墙的三个虚拟防火墙,VFW0、VFW1和VFW2中分别设置有端口0、端口1、端口2。每个虚拟防火墙分别划分有多个安全区域,本发明实施例中以划分为2个安全区域为例,包括Untrust区域和Trust区域,每个虚拟防火墙中的各安全区域之间设置有安全策略。
图1中的虚线a表示VFW1发送的数据流向,所述数据通过VFW0中的端口0发送出去。图1中的虚线a’表示VFW1接收的前述虚线a表示的数据的应答数据,所述数据通过VFW0中的端口0进入。为了保护VFW1发送的数据,配置了IPSec1隧道,IPSec1的出口为VFW0中的端口0。需要说明的是,IPSec1是“单向”的,这里所说的“单向”是指IPSec1保护VFW1发送的需要通过VFW0发送至公网的数据(如图1中用虚线a来表示)以及该数据的应答数据(如图1中用虚线a’来表示虚线a所表示数据的应答数据),即VFW1发送的要通过VFW0发送至公网的数据或VFW0接收到的前述数据的应答数据才允许进入IPSec1进行加密或解密,如果是从VFW0发出的要通过VFW1的数据只能由另外为VFW0配置的通过VFW1的IPSec隧道进行保护。为了处理数据跨越虚拟防火墙时的域间关系,为IPSec1配置了保护域,IPSec1的保护域为VFW1中的Untrust域,需要说明的是,IPSec1的保护域并不仅限于VFW1中的Untrust域,只要是VFW1中的安全区域即可。
同样的,图1中的虚线b表示VFW2发送的数据流向,该数据也通过VFW0中的端口0发送出去。图1中的虚线b’表示VFW2接收的前述虚线b表示的数据的应答数据,该应答数据通过VFW0中的端口0进入。为了保护VFW2发送的数据,配置了IPSec2隧道,IPSec2的出口为VFW0中的端口0。同样需要说明的是,IPSec2也是“单向”的,即IPSec2也只保护从VFW2发送的需要通过VFW0发送至公网的数据(如图1中用虚线b来表示)以及该数据的应答数据(如图1中用虚线b’来表示虚线b所表示数据的应答数据)。为了处理数据跨越虚拟防火墙时的域间关系,为IPSec2配置了保护域,IPSec2的保护域为VFW2中的Untrust域,但也不限于VFW2中的Untrust域,只要是VFW2中的安全区域即可。
图2是本发明实施例处理跨越虚拟防火墙发送数据的流程示意图,该示意图表示了本发明实施例提供的虚拟防火墙作为发送数据时对数据的处理流程,以下将结合图1中虚线a和虚线b所示的数据流跨虚拟防火墙发送的过程对该处理流程进行具体描述。
步骤201:在第一虚拟防火墙,采用数据进入端口所在的安全区域与第一虚拟防火墙的IPSec隧道的保护域之间的安全策略对数据进行安全过滤,将安全过滤后的数据发送至所述第一虚拟防火墙的IPSec隧道。
如图1所示,图1中虚线a表示VFW1对外发送的数据,所述数据需要通过VFW0。发送时,VFW1首先对其端口1接收到的待发送数据进行安全防范处理,由于在配置时为VFW1配置了保护数据的IPSec1,并且将VFW1中的Untrust安全区域设置为IPSec1的保护域。因此,当数据从VFW1发送时,采用数据进入的端口1所在的Trust域与VFW1的IPSec1的保护域之间的安全策略对数据进行安全过滤。图1中的虚线b表示VFW2对外发送的数据,所述数据需要通过VFW0。由于在配置时为VFW2配置了保护数据的IPSec2,并且将VFW2中的Untrust安全区域设置为IPSec2的保护域,因此,当数据从VFW2发送时,采用数据进入的端口2所在的Trust域与VFW2的IPSec2的保护域之间的安全策略对数据进行安全过滤。
步骤202:所述第一虚拟防火墙的IPSec隧道对通过安全过滤的数据进行加密,通过所述IPSec隧道将加密后的数据发送至第二虚拟防火墙。
如图1所示,虚线a表示的数据通过安全过滤后,由VFW1的IPSec1对该数据进行加密,并使加密后的数据从VFW0转发至公网;同理,虚线b表示的数据通过安全过滤后,由VFW2的IPSec2对该数据进行加密,并使加密后的数据从VFW0转发至公网。
步骤202中所述将加密完成后的数据发送第二虚拟防火墙的方法可以采用在该加密数据上打上所述第二虚拟防火墙的标签的方式,也可以采用在该数据的转发列表中标明该数据的第二虚拟防火墙的方式,且不限于上述两种方式。
步骤203:所述第二虚拟防火墙发送数据。
在此实施例中,由于配置了IPSec隧道,保证了跨VFW转发数据的安全性。并且由于为IPSec1和IPSec2分别配置有IPSec1的保护域和IPSec2的保护域,且IPSec1的保护域为VFW1原有的Untrust安全区域,IPSec2的保护域也为VFW2原有的Untrust安全区域,因此,当VFW1发送数据时,是利用VFW1中的安全区域之间的安全策略对数据进行安全过滤,即进行安全防范处理的域间关系均为VFW1的域间关系,从而简化了现有技术中跨VFW转发时域间关系的处理流程。同理,VFW2发送数据时对该数据也是利用VFW2中的安全区域之间的安全策略对数据进行安全过滤。并且由于采用了一定措施使经过IPSec1和IPSec2加密完成后的数据都能够进入VFW0中进行转发,使多个VFW中的数据均能通过同一个端口转发,达到了端口复用的目的,节省了资源。
图3是本发明实施例处理跨越虚拟防火墙接收数据的流程示意图,该示意图表示本发明实施例提供的虚拟防火墙接收数据时对数据的处理流程,所述数据均为待解密数据,且数据的目的地址是到本地端的终端。为了便于描述,以下将以本地端防火墙接收前述实施例中VFW1和VFW2发送的数据(如图1中虚线a和虚线b表示)的应答数据(如图1中虚线a’和虚线b’所示)的处理流程为例进行具体描述。
步骤301:第一虚拟防火墙接收待解密数据,查找所述待解密数据的解密IPSec隧道后将所述数据送入所述IPSec隧道。
如图1所示,图1中的虚线a’表示VFW1接收的前述虚线a表示的数据的应答数据,该应答数据由VFW0中的端口0进入。虚线b’表示VFW2接收的前述虚线b表示的数据的应答数据,该应答数据也由VFW0中的端口0进入。因此,源防火墙VFW0对进入的应答数据要进行查找解密隧道的操作,将a’所表示的应答数据送入其解密隧道IPSec1,将b’所表示的应答数据送入其解密隧道IPSec2。
步骤302:所述IPSec隧道对所述数据进行解密,并将解密后数据中的进入端口所属的安全区域修改为所述IPSec隧道的保护域。
如图1所示,IPSec1对a’所示的应答数据进行解密后,将该应答数据中表示其进入端口所在的安全区域(即防火墙VFW0中的端口0所在的Trust区域)的参数修改为IPSec1的保护域(即VFW1的Untrust域);IPSec2对b’所示的应答数据进行解密后,将该数据中表示其进入端口所在的安全区域(即防火墙VFW0中的端口0所在的Trust区域)的参数修改为IPSec2的保护域(即VFW2的Untrust域)。
步骤303:第二虚拟防火墙通过所述IPSec隧道的保护域与所述数据到达的安全区域之间的安全策略对所述数据进行安全过滤。
如图1所示,虚线a’表示的应答数据进入VFW1后采用IPSec1的保护域(即VFW1的Untrust安全区域)与所述数据到达的安全区域(即VFW1中的Trust域)之间的安全策略对数据进行安全过滤;虚线b’表示的应答数据进入VFW2后采用IPSec2的保护域(即VFW2的Untrust安全区域)与所述数据到达的安全区域(即VFW2中的Trust域)之间的安全策略对数据进行安全过滤。
步骤301中所述的寻找数据的解密隧道的方法,具体实现可以采用取出该数据的目的IP、串行***设备接口SPI(AH、ESP协议中的一个协议字段,即Serial Peripheral interface,串行***设备接口)和协议类型三个部分,通过这三个部分查找该数据需进入的隧道。
步骤302中所述修改解密后的数据中的进入端口所属的安全区域的方式可以采用给该数据上打上所述IPSec隧道的保护域的标签的方式,也可以采用在该数据的转发列表中标明所述数据的进入端口所属的安全区域为所述IPSec隧道保护域的方式。且不限于上述两种方式。
由上述实施例可以看出,本发明实施例提供的技术方案在虚拟防火墙作为本地端防火墙接收应答数据时,利用了该虚拟防火墙作为本地端防火墙发送数据时的IPSec通道,保证了数据的安全性。并且由于修改了该数据的入域,在处理数据跨虚拟防火墙的域间关系时只需要采用数据到达的第二虚拟防火墙中原有的安全区域之间的安全策略对数据进行安全过滤,减化了现有技术中复杂的域间关系的处理流程。
在上述本发明实施例所提供的跨虚拟防火墙发送数据以及接收数据的实施方式中,虚拟防火墙的端口数量是由使用的防火墙设备来控制的,并不限于图1所示的3个端口。且本发明实施例中的端口并不限于是物理端口还是虚拟端口,只要该端口能够设置到VFW中即可。VFW的数量是根据端口的数量来确定的,即可以为每一个虚拟端口配置一个VFW。本发明实施例中任意一个VFW中的端口均可作为其他VFW的共同出端口,如图1中的端口0。
在上述本发明实施例所提供的跨虚拟防火墙发送数据以及接收数据的技术方案中,可以为需要跨虚拟防火墙转发的数据任意设置一个出口,只要在转发数据之前为该虚拟防火墙配置了相应的IPSec隧道即可。如VFW1中的数据可以通过VFW0发送,也可以通过VFW2发送,同样的,VFW0发送的数据也可以通过VFW1或VFW2发送。
本发明实施例所提供的跨越虚拟防火墙发送数据以及接收数据的方法不仅适用虚拟防火墙之间,也可以将根防火墙看作一个特殊的虚拟防火墙,适用于及根防火墙与虚拟防火墙之间的数据转发。
本发明实施例所提供的技术方案中,由于在处理跨越虚拟防火墙的数据时采用了IPSec技术,并为IPSec隧道配置了保护域,在保证了数据跨虚拟防火墙传输时的安全性基础上,不需要另外配置虚拟安全区域,而是利用该虚拟防火墙原有的安全区域以及域间的安全策略对数据进行安全过滤,从而减少了现有技术中复杂的域间安全策略的配置,在传送数据的过程中只需要进行一次安全过滤就能够保证数据的安全性,减少了域间关系的处理流程。并且由于使用了IPSec技术,使各个VFW可以相互转发,共用端口,因此,也使防火墙的端口起到了重复使用的效果,大大节省了资源。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
图4为本发明实施例所述的发送设备示意图,该发送设备包括第一安全处理单元401、加密单元402以及发送单元403,其中,第一安全处理单元401和发送单元403均设置有安全区域(包括Untrust域和Trust域),且第一安全处理单元401中的安全区域之间以及发送单元403中的安全区域之间分别设置有安全策略,加密单元402中包括加密模块4021和标识模块4022,其中加密模块4021对第一安全处理单元401中的数据进行加密,标识模块4022使加密后的数据进入发送单元,为加密单元402设置有保护域,该保护域为第一安全处理单元401中的Untrust域,需要说明的是,所述保护域并不仅限于第一安全处理单元401中的Untrust域,只要是第一安全处理单元401中的安全区域即可。
第一安全处理单元401,采用数据进入端口所在的安全区域与加密单元402的保护域之间的安全策略对数据进行安全过滤,将安全过滤后的数据发送至加密单元402。
加密单元402,用于对通过第一安全处理单元401的数据进行加密,并将所述加密后的数据发送至发送单元403。
加密单元402包括加密模块4021和标识模块4022,其中加密模块4021对来自第一安全处理单元401的数据进行加密,标识模块4022用于将经过加密模块4021加密后的数据发送至发送单元403,所述标识模块4022可以通过在该加密数据上打上所述发送单元403的标签或通过在所述数据的转发列表中标明发送单元403的方式将所述数据发送至发送单元403,且不限于上述两种方式。
发送单元403,用于发送加密单元402加密后的数据。
这里所述的发送设备包括防火墙或防火墙类设备,加密单元的具体实现形式可以为IPSec隧道。
图5为本发明实施例所述的接收设备示意图,该接收设备包括了接收单元501、解密单元502、第二安全处理单元503,其中,接收单元501和第二安全处理单元503中均设置有安全区域(包括Untrust域和Trust域),且接收单元501中的安全区域之间以及第二安全处理单元503中的安全区域之间分别设置有安全策略,解密单元502包括解密模块5021和修改模块5022,为解密单元502设置有保护域,该保护域为第二安全处理单元503中的Untrust域,需要说明的是,所述保护域并不仅限于第二安全处理单元503中的Untrust域,只要是第二安全处理单元503中的安全区域即可。
接收单元501,用于接收待解密数据,查找所述数据的解密单元后将所述数据送入解密单元502。所述待解密数据的目的地址是本地端的终端。
所述寻找数据的解密单元的方法,可以采用取出该数据的目的IP、SPI(AH、ESP协议中的一个协议字段)和协议类型三个部分,通过这三个部分查找该数据需进入的解密单元502。
解密单元502,用于对接收单元501所接收的待解密数据进行解密操作,并将该数据中进入端口所属的安全区域修改为所述解密单元502的保护域。
所述解密单元502包括解密模块5021和修改模块5022,所述解密模块5021对所述待解密数据进行解密,所述修改模块5022用于将通过解密模块5021解密后的数据中进入端口所属的安全区域修改为所述解密单元502的保护域,所述修改模块5022修改所述数据中进入端口所属的安全区域的方式可以采用给所述数据上打上所述解密单元502的保护域的标签的方式,也可以采用在所述数据的转发列表中标明所述数据进入端口所属的安全区域为所述解密单元502的保护域的方式,且不限于上述两种方式。
第二安全处理单元503,用于对解密单元502解密后的数据进行安全防范处理,所述安全防范处理是通过所述解密单元502的保护域与所述数据到达的安全区域之间的安全策略对所述数据进行安全过滤。
这里所述的接收设备包括防火墙或防火墙类设备,所述解密单元的具体实现形式可以为IPSec隧道。
上述发送设备中的第一安全处理单元和接收设备中的第二安全处理单元在物理上可以为一个单元,同理,发送设备中的加密单元和接收设备中的解密单元也可为一个单元,发送设备中的发送单元与接收设备中的接收单元也可为一个单元。
图6为本发明实施例所述的网络***示意图,该网络***包括发送设备601和接收设备602。
发送设备601,用于发送数据;
接收设备602,用于接收发送设备601发送的数据的应答数据,所述数据为目的地址到本地端的待解密数据。
所述发送设备601包括第一安全处理单元6011、加密单元6012和发送单元6013,其中加密单元6012包括加密模块60121和标识模块60121。
所述第一安全处理单元6011和发送单元6013中均设置有安全区域(包括Untrust域和Trust域),且在第一安全处理单元6011的各安全区域间设置有安全策略,同样的,在发送单元6013的各安全区域间也设置有安全策略。所述加密单元6012设置有保护域,所述加密单元6012的保护域为第一安全处理单元6011中的Untrust域,需要说明的是,加密单元6012的保护域并不仅限于第一安全处理单元6011中的Untrust域,只要是第一安全处理单元6011中的安全区域即可。
第一安全处理单元6011,用于采用数据的进入端口所在的安全区域与加密单元6012的保护域之间的安全策略对数据进行安全过滤,将安全过滤后的数据发送至加密单元6012。
加密单元6012,用于对通过第一安全处理单元6011的数据进行加密,并将所述数据发送至发送单元6013。
加密单元6012包括加密模块60121和标识模块60122,其中加密模块60121对来自第一安全处理单元6011的数据进行加密,标识模块60122用于将经过加密模块60121加密后的数据发送至发送单元6013,所述标识模块60122可以通过在该加密数据上打上所述发送单元6013的标签或通过在所述数据的转发列表中标明发送单元6013的方式将所述数据发送至发送单元6013,且不限于上述两种方式。
发送单元6013,用于将加密单元6012加密后的数据发送出去。
所述接收设备602包括接收单元6021、解密单元6022和第二安全处理单元6023,其中解密单元6022包括解密模块60221和修改模块60222。
所述接收单元6021和所述第二安全处理单元6023中也设置有安全区域(包括Untrust域和Trust域),且在所述接收单元6021的各安全区域间设置有安全策略,同样的,在所述第二安全处理单元6023的各安全区域间也设置有安全策略。所述解密单元6022设置有保护域,所述解密单元6022的保护域为第二安全处理单元6023中的Untrust域,需要说明的是,解密单元6022的保护域也不限于第二安全处理单元6023中的Untrust域,只要是第二安全处理单元6023中的安全区域即可。
接收单元6021,用于接收待解密数据,查找所述数据的解密单元后将所述数据送入解密单元6022,所述待解密数据的目的地址是本地端的终端。
所述接收单元6021寻找所述数据的解密单元时可以通过取出该数据的目的IP、SPI(AH、ESP协议中的一个协议字段)和协议类型三个部分,通过这三个部分查找该数据需进入的解密单元6022。
解密单元6022,用于对接收单元6021所接收的待解密数据进行解密操作,并将解密后数据中进入端口所属的安全区域修改为所述解密单元6022的保护域。
所述解密单元6022包括解密模块60221和修改模块60222,所述解密模块60221对所述待解密数据进行解密,所述修改模块60222用于将通过解密模块60221解密后的数据中进入端口所属的安全区域修改为所述解密单元6022的保护域,所述修改模块60222修改所述数据中进入端口所属的安全区域的方式可以采用给该数据上打上所述解密单元6022的保护域的标签的方式,也可以采用在所述数据的转发列表中标明所述数据进入端口所属的安全区域为所述解密单元6022的保护域的方式,且不限于上述两种方式。
第二安全处理单元6023,用于对解密单元6022解密后的数据进行安全防范处理,所述安全防范处理是通过所述解密单元6022的保护域与所述数据到达的安全区域之间的安全策略对所述数据进行安全过滤。
这里所述的发送设备和接收设备包括防火墙或防火墙类设备,所述加密单元和所述解密单元的具体实现形式可以为IPSec隧道。
上述网络***的发送设备中的第一安全处理单元和接收设备中的第二安全处理单元在物理上可以为一个单元,同理,发送设备中的加密单元和接收设备中的解密单元也可为一个单元,发送设备中的发送单元与接收设备中的接收单元也可为一个单元。
以上所述仅为本发明的几个实施例,可以理解的是,对本领域普通技术人员来说,可以根据本发明实施例的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。