一种实现服务器安全隔离的方法及装置
技术领域
本发明涉及信息安全技术,尤其涉及一种实现服务器安全隔离的方法及装置。
背景技术
拥有大量的用户和访问量是信息服务提供者的目标,但大量的访问会给服务器带来沉重的负担,随着Internet应用服务用户人数的不断增加,服务器的数据量也在不断增加。目前的数据中心网络中存在大量的服务器,小规模的数据中心有几十台服务器,大量的数据中心有数千台乃至上万的服务器。如此规模的服务器群组,相互之间的数据同步、交换是必然的。但是,这些服务器之间的同步、交换数据必须通过防火墙进行控制,才能保证整个数据中心服务器的安全。举个简单的例子,有一台服务器因为存在漏洞或者安全配置不合理导致中了病毒,如果服务器之间通信不受控,这台服务器上的病毒很快就可以通过二层交换网络传播到整个数据中心所有的服务器上,导致整个数据中心瘫痪。
上述安全隔离的问题不仅仅存在于数据中心的服务器群组中,在绝大多数企业局域网中,也存在同样的安全隔离需求。企业的各个部门业务不同、安全要求不同,彼此之间有通信需求,但这些通信必须是受控的。举个例子:财务部门、人事部门、生产部门这三个部门之间有通信需求,但由于财务部门关系企业的经济命脉,因此不是其它部门可以随便进出的自由场地,只有极个别有需要、也有权限的其他部门的人员才可以访问财务部门的网络。也就是说,企业各部门之间的网络不能二层互通,必须通过防火墙进行受控的互访。
目前,常用的服务器安全隔离技术是基于虚拟局域网(Vlan)进行的。图1示出了基于Vlan的服务器安全隔离组网图,需要受控互访的服务器(Server)被规划到不同的Vlan中,不同Vlan中的服务器要实现互访必须通过防火墙网关(FW)进行安全控制,以此来保证服务器之间的二层隔离。举个例子,假设Vlan1(V1)中的服务器要访问Vlan3(V3)中的服务器,则V1服务器发出的访问请求必须先经接入交换机(Access Switch)和核心交换机(Core Switch)到达防火墙网关FW进行安全控制后,才能最终到达V3服务器,而不能通过接入交换机直接转发。
上述基于Vlan的服务器安全隔离方案虽然组网简单、易于理解和布署,但同时也存在以下缺陷:
一、配置复杂
在服务器数量较多的数据中心或企业部门较多的局域网中,为了保证各服务器之间的安全隔离,需要为每一台服务器都分配一个Vlan。如图1所示,Vlan的数量可以达到2000甚至4000,如此大规模的Vlan会使配置非常复杂。
二、系统性能严重下降
在数据中心和绝大部分局域网中,为了提高网络的可用性,必须对网络进行冗余设计。目前最常见的方式就是多生成树协议(MSTP)+虚拟路由器冗余协议(VRRP)的方式,其中,MSTP保证接入交换机与核心交换机之间的链路冗余与高可用;VRRP保证防火墙网关的冗余与高可用。在Vlan数量增大的同时,MSTP的负荷也急剧增大,这会严重影响接入交换机和核心交换机的性能,降低交换机的转发效率。更严重的是,每一个Vlan都会对应一个独立的网关(地址),而每一个独立的网关(地址)又会对应一个独立的VRRP组。鉴于VRRP组周期性的心跳交互会严重影响防火墙的性能,因此目前防火墙上的VRRP组规格都有严格的限制,一般高端防火墙的VRRP组上限不会超过200个。正常情况下,50~80个VRRP组的负荷就会导致防火墙性能的急剧下降,如果在数据中心中出现成百上千的Vlan,就意味着同样数量的VRRP组,这样规模的VRRP组规格是任何防火墙也无法负担的。
为了克服上述两个问题,唯一可行的方式就是:将一定数量的服务器划分在同一个Vlan内,以降低Vlan的数量,减轻防火墙和交换机的负荷。但这样做的缺点是,虽然不同Vlan之间服务器的互访是受控的,但对于划分在同一Vlan内的服务器而言,它们之间的互访是不受控的,存在较为严重的安全隐患。
发明内容
有鉴于此,本发明的目的在于提供一种实现服务器安全隔离的方法及装置,不仅可以通过很少数量的Vlan实现服务器的安全隔离,减轻防火墙和交换机的负荷,同时也能够保证同一Vlan内各服务器之间的安全互访,为用户提供一种简化的、高性能的服务器安全隔离方案。
为达到上述目的,本发明提供的技术方案如下:
一种实现服务器安全隔离的方法,适用于将一定数量的服务器划分在同一Vlan内的服务器安全隔离组网结构,当位于同一Vlan内的第一服务器访问第二服务器时,包括以下步骤:
第一服务器发出ARP请求,请求获取第二服务器的MAC地址;
接入交换机收到第一服务器发起的ARP请求后,将防火墙网关的MAC地址返回给第一服务器;
第一服务器以接入交换机返回的防火墙网关的MAC地址作为目的MAC地址发起访问请求,所述访问请求的目的IP地址为第二服务器的IP地址;
防火墙网关对收到的访问请求进行安全控制处理,并将处理后的访问请求转发给第二服务器。
所述将防火墙网关的MAC地址返回给第一服务器的操作由接入交换机的ARP代理完成。
当所述服务器安全隔离组网结构中包括两个防火墙网关且这两个防火墙网关配置了VRRP组时,所述防火墙网关的MAC地址为VRRP组的虚MAC地址,所述接入交换机将收到的目的MAC地址为防火墙网关MAC地址的访问请求转发给VRRP组中的主用防火墙网关处理。
当主用防火墙网关出现异常时,该方法进一步包括:
备用防火墙网关升级为主用防火墙网关,重新发布ARP信息;
接入交换机收到防火墙网关发布的ARP信息后,更新自身的ARP表,并在收到同一Vlan内服务器互访的ARP请求时,查询更新后的ARP表,将新的主用防火墙网关的MAC地址作为目的MAC地址返回给发起ARP请求的服务器,并在收到目的MAC地址为防火墙网关MAC地址的访问请求时,将收到的访问请求转发给新的主用防火墙网关处理。
该方法进一步包括:所述接入交换机丢弃所有来自服务器的目的MAC地址为非防火墙网关MAC地址的单播数据,以及只转发来自服务器的ARP广播消息和DHCP广播消息,其它广播消息一概丢弃。
一种接入交换机,位于包括核心交换机、防火墙网关和服务器的服务器安全隔离组网结构中,且所述组网中一定数量的服务器被划分在同一Vlan内,该接入交换机包括:服务器侧信息收发单元、ARP请求处理单元和访问请求处理单元,其中,
服务器侧信息收发单元,用于接收第一服务器发起的请求获取位于同一Vlan内的第二服务器的MAC地址的ARP请求,将收到的ARP请求发送给ARP请求处理单元;以及,接收第一服务器发起的目的MAC地址为防火墙网关MAC地址的访问第二服务器的访问请求,所述访问请求的目的IP地址为第二服务器的IP地址,将收到的访问请求发送给访问请求处理单元;
ARP请求处理单元,用于在收到所述ARP请求后,将防火墙网关的MAC地址返回给第一服务器;
访问请求处理单元,用于将所述访问请求转发给防火墙网关,并将经防火墙网关安全处理后的访问请求转发给第二服务器。
当所述服务器安全隔离组网结构中包括两个防火墙网关且这两个防火墙网关配置了VRRP组时,所述防火墙网关的MAC地址为VRRP组的虚MAC地址,所述访问请求处理单元将收到的访问请求转发给VRRP组中的主用防火墙网关处理。
当主用防火墙网关出现异常时,VRRP组中的备用防火墙网关升级为主用防火墙网关,重新发布ARP信息;
所述ARP请求处理单元根据防火墙网关发布的ARP信息更新自身的ARP表,在收到同一Vlan内服务器互访的ARP请求时,查询更新后的ARP表,将新的主用防火墙网关的MAC地址作为目的MAC地址返回给发起ARP请求的服务器;
所述访问请求处理单元在收到目的MAC地址为防火墙网关MAC地址的访问请求后,将收到的访问请求转发给新的主用防火墙网关处理。
所述服务器侧信息收发单元进一步用于,丢弃所有来自服务器的目的MAC地址为非防火墙网关MAC地址的单播数据,以及只转发来自服务器的ARP广播消息和DHCP广播消息,其它广播消息一概丢弃。
由此可见,本发明通过在服务器的二层接入交换机上启动ARP代理功能,实现了同一Vlan内各服务器之间的二层隔离,保证了同一Vlan内各服务器间的互访必须通过防火墙网关的控制。这样不仅可以通过很少数量的Vlan实现服务器的安全隔离,减轻防火墙和交换机的负荷,同时也能够保证同一Vlan内各服务器之间互访的安全性,为用户提供了一种简化的、高性能的服务器安全隔离方案。
附图说明
图1为现有技术中基于Vlan的服务器安全隔离组网图;
图2为本发明实施例中基于ARP代理的服务器安全隔离组网图;
图3为图2中Server1访问Server3的流程图;
图4为Server1访问Server3的信号走向图;
图5为主用防火墙网关出现异常时Server1访问Server3的流程图;
图6为主用防火墙网关出现异常时Server1访问Server3的信号走向图;
图7为本发明实施例中接入交换机的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并举实施例,对本发明作进一步详细说明。
本发明的基本思想是:在服务器的二层接入交换机上启动地址解析协议(ARP)代理功能,通过ARP代理技术实现同一Vlan内各服务器间的二层隔离,保证各服务器之间的互访必须通过防火墙网关的控制。
图2示出了本发明实施例中基于ARP代理的服务器安全隔离组网图,包括服务器、接入交换机、核心交换机和防火墙网关。其中,服务器按照业务进行分组,同一组服务器规划在同一个Vlan内,以降低网络内Vlan的数量;接入交换机启动ARP代理功能;核心交换机在防火墙网关和接入交换机端口之间配置二层透明转发;为保证接入交换机与核心交换机之间的链路冗余与高可用性,配置MSTP;为保证防火墙网关的冗余与高可靠性,两侧的防火墙网关配置VRRP组,MSTP和VRRP的配置与现有技术相同,这里不再赘述;服务器的网关是防火墙,接入交换机上配置的防火墙网关IP地址是VRRP组的虚IP地址。
下面以图2中Vlan1内的服务器Server1访问Server3为例,说明本发明提供的服务器安全隔离方法。图3示出了本例中Server1访问Server3的流程图,包括以下步骤:
步骤301:Server1发出ARP请求,请求获得Server3的媒质接入控制(MAC)地址。
步骤302:接入交换机收到Server1发起的ARP请求后,向Server1返回ARP响应,其中携带防火墙网关的MAC地址。
接入交换机可以根据自身上配置的网关IP地址(VRRP组的虚IP地址)查询自身的ARP表,获取网关对应的MAC地址(VRRP组的虚MAC地址)。 步骤302由接入交换机上的ARP代理完成。
步骤303:Server1收到ARP响应后,向Server3发起访问请求,该访问请求的目的IP地址是Server3的IP地址,但目的MAC地址却是接入交换机返回的防火墙网关的MAC地址。
步骤304:接入交换机收到Server1发起的访问请求后,通过核心交换机将该访问请求二层透明转发给防火墙网关。
图2中有两个防火墙网关,本步骤中访问请求被转发的防火墙网关指的是VRRP组中的主用防火墙网关(本例中假设为图2左侧的防火墙网关)。
步骤305:防火墙网关对收到的访问请求进行安全控制处理,将处理后的访问请求通过核心交换机和接入交换机转发给Server3。
其中,防火墙网关是根据访问请求中携带的目的IP地址进行报文转发的。本例中,访问请求中携带的目的IP地址是Server3的IP地址,防火墙网关根据该目的IP地址查询ARP表获取对应的MAC地址,然后根据获取的MAC地址将安全处理后的访问请求转发给Server3。
图4示出了本例中Server1访问Server3的信号走向图。通过图3所示的处理流程后,同一Vlan内所有服务器发出的流量的目的MAC地址都将是防火墙网关VRRP组的虚地址,这样Server1发往Server3的流量就不会通过接入交换机直接二层转发给Server3,而是必须先通过接入交换机和核心交换机转发到防火墙网关,经过防火墙的安全控制处理后才能转发到Server3,从而保证了同一Vlan内服务器互访的安全性。
以上对主用防火墙网关正常时的服务器互访流程进行了说明,下面阐述一下主用防火墙网关出现异常时的处理过程。
在图2中,当左侧的主用防火墙网关(或链路)出现异常时,通过VRRP机制右侧的备用防火墙网关将迅速升级为主用防火墙网关。此时,新的主用防火墙网关会重新发布ARP信息,接入交换机收到新主用防火墙网关发布的ARP信息后,更新自己的ARP表,之后根据更新后的ARP表进行报文转发。
图5示出了左侧防火墙网关出现异常时Server1访问Server3的流程图,包括以下步骤:
步骤501:Server1发出ARP请求,请求获得Server3的MAC地址。
步骤502:接入交换机收到Server1发起的ARP请求后,查询更新后的ARP表,以新的防火墙网关的MAC地址作为响应的MAC地址,向Server1返回ARP响应。
步骤503:Server1收到ARP响应后,以新的防火墙网关MAC地址作为目的MAC地址,向Server3发起访问请求。
步骤504:接入交换机通过核心交换机将该访问请求二层透明转发给新的防火墙网关即右侧主用防火墙网关。
步骤505:右侧主用防火墙网关对收到的访问请求进行安全控制处理,并将处理后的访问请求通过核心交换机和接入交换机转发给Server3。
图6示出了左侧防火墙网关出现异常时Server1访问Server3的信号走向图,Server1发出的访问Server3的请求不会通过接入交换机直接二层转发给Server3,而是先通过接入交换机和核心交换机转发到右侧防火墙网关进行安全控制处理。
另外,为了进一步保证安全,接入交换机可以对来自服务器端的数据流进行过滤,以避免他人恶意攻击,比如:丢弃所有来自服务器的目的MAC地址为非防火墙网关MAC地址的单播数据;只转发来自服务器的ARP广播消息和动态主机配置协议(DHCP)广播消息,其它广播消息一概丢弃。
相应地,本发明还提供了一种位于基于Vlan的服务器安全隔离组网结构中的接入服务器,所述组网中还包括核心交换机、防火墙网关和服务器,且一定数量的服务器被划分在同一Vlan内。
图7示出了该接入交换机结构,包括:服务器侧信息收发单元、ARP请求处理单元和访问请求处理单元。其中,
服务器侧信息收发单元,用于接收第一服务器发起的请求获取位于同一Vlan内的第二服务器的MAC地址的ARP请求,将收到的ARP请求发送给 ARP请求处理单元;以及,接收第一服务器发起的目的MAC地址为防火墙网关MAC地址的访问第二服务器的访问请求,将收到的访问请求发送给访问请求处理单元;
ARP请求处理单元,用于在收到所述ARP请求后,将防火墙网关的MAC地址返回给第一服务器;
访问请求处理单元,用于将所述访问请求通过核心交换机转发给防火墙网关,并将经防火墙网关安全处理后的访问请求转发给第二服务器。
当所述服务器安全隔离组网结构中包括两个防火墙网关且这两个防火墙网关配置了VRRP组时,所述防火墙网关的MAC地址为VRRP组的虚MAC地址,所述访问请求处理单元将收到的访问请求转发给VRRP组中的主用防火墙网关处理。
当主用防火墙网关出现异常时,VRRP组中的备用防火墙网关升级为主用防火墙网关,重新发布ARP信息;
所述ARP请求处理单元根据防火墙网关发布的ARP信息更新自身的ARP表,在收到同一Vlan内服务器互访的ARP请求时,查询更新后的ARP表,将新的主用防火墙网关的MAC地址作为目的MAC地址返回给发起ARP请求的服务器;
所述访问请求处理单元在收到目的MAC地址为防火墙网关MAC地址的访问请求后,将收到的访问请求转发给新的主用防火墙网关处理。
所述服务器侧信息收发单元进一步用于,丢弃所有来自服务器的目的MAC地址为非防火墙网关MAC地址的单播数据,以及只转发来自服务器的ARP广播消息和DHCP广播消息,其它广播消息一概丢弃。
以上所述对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。