微分段技术白皮书
Copyright © 2021 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。
在传统的数据中心网络中,专用防火墙设备通常部署在数据中心网络边界,对流入数据中心网络的流量(即南北向流量)进行分析,保证只有合法流量才能进入数据中心网络,进而保护数据中心网络不受外部网络的攻击。
图1 传统数据中心网络示意图
一旦外部网络攻击冲破了防火墙的防护,数据中心网络的安全将受到严重威胁,攻击者可以随意攻击数据中心网络中的服务器。同时,随着数据中心的不断发展,数据中心网络内部的流量(即东西向流量)也在不断增加,也需要进行安全防护。因此,在新一代的数据中心网络中,如何加强对南北向流量的安全管控、以及如何对东西向流量实施安全管控,成为了亟待解决的问题,微分段(Microsegmentation)技术由此诞生。
微分段对网络端点(例如数据中心网络中的服务器、虚拟机,或园区网中的各种终端上线用户)进行分组,并部署组间策略,通过组间策略对分属不同组的网络端点之间的通信进行安全管控。这种工作机制决定了它具有管控粒度细和占用ACL资源少的优点。
相较于传统的分段技术(VLAN、IP子网),微分段技术的管控粒度更细。
VLAN或IP子网只能实现不同VLAN或子网间的隔离,同一VLAN或子网内的网络端点无法隔离。
同时,当不同子网共用同一个网关设备时,网关设备上保存了到各子网的路由信息。在这种情况下,无法完全实现不同子网内不同网络端点之间的隔离。
微分段可以基于IP地址、IP地址段等进行精细分组,实现更精细的安全隔离。
相较于传统的安全管控技术(主要是ACL),微分段技术能够显著降低对ACL资源的占用。
使用ACL可以实现精细的安全隔离,但设备自身的ACL资源有限,难以满足业务需求。
图2 ACL资源占用示意图
· 使用ACL时,需要匹配报文的IP地址。IPv4地址长度为32bits,同时匹配源、目的IP地址时需要占用64bits长度的ACL资源。对双向流量同时进行管控时,则需要占用两条长度为64bits的ACL资源。而IPv6地址长度为128bits,占用的ACL资源更多。
· 使用微分段时,仅需匹配报文所属的微分段ID。微分段ID长度为16bits,同时匹配源、目的微分段所需的ACL资源仅为32bits。对双向流量同时进行管控时,也仅需两条长度为32bits的ACL资源。
管控的流量数量增加时,仅需将新IP地址加入已有微分段中即可,微分段对ACL资源的占用并不会呈线性增长。
微分段是一组网络端点的集合,它拥有全局唯一的ID,通过ID来标识一个微分段。
可以基于IP地址、IP网段、MAC地址等对网络端点进行微分段划分,以便在网络设备上实现基于IP地址、MAC地址等进行管控到基于微分段ID进行管控的转换。
GBP(Group Based Policy,组策略)是基于微分段的流量控制策略。
通过部署GBP,可以对属于不同微分段的网络端点之间的通信进行安全管控,相同微分段内的网络端点则可以互访,GBP不控制相同微分段内的流量。GBP可以通过报文过滤、QoS策略(MQC)或策略路由实现。
微分段是一种源端控制策略,即在源端设备上配置微分段功能,实现对流量的安全管控。
微分段功能由三部分组成:
(1) 将网络端点加入微分段。根据应用场景和部署方式的不同,可以通过如下方式将网络端点加入微分段:静态IP微分段、静态AC微分段、认证授权微分段和路由通告微分段。
(2) 创建基于微分段ID的ACL。
(3) 报文过滤、QoS策略(MQC)或策略路由引用ACL,实现对属于不同微分段的网络端点之间的通信进行安全管控。
在源端设备上完成上述配置,源端设备接收到报文后,根据报文所属的微分段ID,查找匹配的ACL规则,再通过ACL关联到GBP。GBP对命中ACL的报文进行流量控制。
综上所述,微分段是生效在报文转发路径中的源端设备上的。当GBP判决结果为丢弃时,报文将被直接丢弃,不会再经由中间网络转发至目的端,这就避免了带宽浪费。
图3 源端流量控制示意图
在IP网络、VXLAN网络和EVPN VXLAN网络中,可以通过手工配置的方式创建微分段、为微分段添加IP地址或IP地址段形式的成员,最终生成如表1所示的静态IP微分段表。
设备根据接收报文的源、目的IP地址查找静态IP微分段表,获取源、目的IP地址所属的微分段ID(即源、目的微分段ID),实现报文IP地址到微分段ID的转换。
表1 静态IP微分段示意表
VPN实例 |
网络地址/掩码长度 |
微分段ID |
VPN1 |
10.1.1.0/24 |
100 |
VPN1 |
20.1.1.0/24 |
100 |
VPN1 |
0.0.0.0/0 |
100 |
VPN1 |
1:2::3:4/128 |
100 |
VPN2 |
10.1.1.0/24 |
200 |
VPN2 |
20.1.1.0/24 |
200 |
VPN2 |
0.0.0.0/0 |
200 |
公网 |
1:2::3:4/128 |
200 |
在VXLAN网络中,可以通过手动配置的方式创建微分段、为VXLAN的AC(Attachment Circuit,接入电路)指定微分段ID,生成静态Port微分段表或静态Port VLAN微分段表。如表2所示为静态Port VLAN微分段表。
设备根据接收报文的入接口和所属VLAN查找静态Port VLAN微分段表,获取对应的微分段ID,实现报文入接口和所属VLAN到微分段ID的转换。
表2 静态Port VLAN微分段示意表
AC |
Port |
VLAN |
微分段ID |
AC1 |
Gigabitethernet1/0/1 |
3501 |
101 |
AC2 |
Gigabitethernet1/0/1 |
3502 |
102 |
AC3 |
Gigabitethernet1/0/1 |
3503 |
103 |
在园区网中,微分段可以用来代表用户角色或者权限分组,设备通过微分段控制用户的访问权限。
通过802.1X或MAC地址等认证方式上线的用户,会被授权微分段ID(通过认证系统授权的User Group携带),用户流量都会被标记上授权的微分段ID,最终实现了MAC地址与微分段ID之间的映射。
表3 认证授权微分段示意表
上线用户(MAC地址) |
微分段ID |
用户A |
101 |
用户B |
101 |
用户C |
102 |
在EVPN VXLAN网络中,路由通告微分段功能用来将本端VTEP(VXLAN Tunnel End Point,VXLAN隧道端点)上配置的微分段相关信息通告给对端VTEP,使得源端自动获得目的端微分段。以图4为例,VTEP 1和VTEP 2上都需要配置ACL和GBP,而微分段仅需配置在一台VTEP上,该VTEP将微分段通告给另一台VTEP。
在EVPN VXLAN网络中,本端VTEP学习到ARP信息后,会通过MAC/IP发布路由将该ARP信息通告给远端VTEP。此时,对于静态IP、静态AC或认证授权方式配置的微分段,可以通过MAC/IP发布路由的BGP扩展团体属性携带IP地址或MAC地址对应的微分段ID,将本端VTEP的微分段信息自动通告给远端VTEP。远端VTEP收到通告信息后,会将其加入自己的ARP表中直接生效。
通过配置匹配源、目的微分段ID的ACL规则,可以生成如表4所示的微分段流量控制ACL表。
ACL规则ID |
源微分段ID |
目的微分段ID |
动作 |
1 |
101 |
201 |
permit |
2 |
201 |
101 |
permit |
3 |
101 |
301 |
deny |
4 |
301 |
101 |
deny |
5 |
10001 |
50001 |
permit |
6 |
50001 |
10001 |
permit |
将微分段流量控制ACL与策略路由、QoS策略或报文过滤关联,即可形成GBP,实现对不同微分段之间的流量进行控制。相同微分段内的网络端点则可以互访,GBP不控制相同微分段内的流量。
源端(Ingress端)对于收到的报文,根据相应的微分段配置方式(网络端点加入微分段)获取报文所属的微分段ID,然后再根据预先配置的GBP进行报文的转发控制,如表5所示。如果GBP判决报文应该丢弃,则该报文不会转发到目的端(Egress端);反之,则允许报文转发到目的端。
表5 GBP动作
GBP |
动作 |
说明 |
策略路由 |
apply next-hop ip-address |
策略节点的动作为指定下一跳,表示允许流量通过 |
apply output-interface null0 |
策略节点的动作为指定NULL0接口作为出接口,表示禁止流量通过 |
|
QoS策略 |
filter permit |
流行为配置为流量过滤,且动作为允许数据包通过,即表示允许流量通过 |
filter deny |
流行为配置为流量过滤,且动作为丢弃数据包,即表示禁止流量通过 |
|
报文过滤 |
permit |
ACL规则中的动作为permit,表示允许流量通过 |
deny |
ACL规则中的动作为deny,表示禁止流量通过 |
图5 VXLAN网络静态IP微分段示意图
如图5所示的VXLAN网络中,VTEP 1下连接了两个虚拟机VM 1和VM 2。在VTEP 1上创建微分段1和微分段2,将VM 1的IP地址(192.168.1.1)加入微分段1,VM 2的IP地址(192.168.2.1)加入微分段2;VTEP 2上的微分段配置与VTEP 1类似。分别在VTEP 1和VTEP 2上部署GBP,控制VM 1和VM 2、VM 1和VM 3之间的互访。以VM 1发往VM 2方向的流量为例,具体运行机制为:
(1) VTEP 1收到VM 1发送给VM 2的报文后,从报文中获取源IP地址(192.168.1.1)和目的IP地址(192.168.2.1)。
(2) VTEP 1根据源IP地址(192.168.1.1),按最长匹配规则查找静态IP微分段表,获取源端VM 1所属的微分段(微分段1)。
(3) VTEP 1根据目的IP地址(192.168.2.1),按最长匹配规则查找静态IP微分段表,获取目的端VM 2所属的微分段(微分段2)。
(4) VTEP 1根据源端VM 1所属的微分段(微分段1)和目的端VM 2所属的微分段(微分段2),获取这两个微分段之间的GBP,按照GBP对报文进行流量控制:
¡ 若GBP流量控制判决结果为允许通过,则将报文发送给VM 2。
¡ 若GBP流量控制判决结果为禁止通过,则丢弃报文。
图6 EVPN VXLAN网络静态AC微分段和认证授权微分段示意图
如图6所示,Host 1经由VTEP 1的AC 1接入EVPN VXLAN网络,Host 4经由VTEP 2的AC 1接入EVPN VXLAN网络。在VTEP 1上创建微分段1,VTEP 2上创建微分段4。通过如下方式将Host 1加入微分段1,Host 4加入微分段4。分别在VTEP 1和VTEP 2上部署GBP,控制Host 1和Host 4之间的互访。
· 对于静态AC微分段,在VTEP 1上配置AC 1与VSI关联的同时将AC1接入微分段1,从而实现将通过AC 1接入EVPN VXLAN网络的Host 1加入微分段1;VTEP 2也是同理。
· 对于认证授权微分段,在Host 1上线时认证服务器将授权信息下发至VTEP 1,通过授权信息中的Usergroup 名称携带微分段ID,就可以将Host 1加入微分段1;VTEP 2下的Host 4也是同理。
上述两种方式在源端生成的微分段配置,会通过微分段通告功能同步至其它VTEP,使得其它VTEP能够自动获取微分段配置。这样,VTEP 1和VTEP 2上均存在Host 1和Host 4所属微分段ID的信息。以Host 1发往Host 4方向的流量为例,具体运行机制为:
(1) VTEP 1收到Host 1发送给Host 4的报文。
(2) VTEP 1获取Host 1对应的微分段(微分段1)。
(3) VTEP 1获取Host 4对应的微分段(微分段4)。
(4) VTEP 1根据Host 1所属的微分段(微分段1)和Host 4所属的微分段(微分段4),获取这两个微分段之间的GBP,按照GBP对报文进行流量控制:
¡ 若GBP流量控制判决结果为允许通过,则将报文发送给VM 2。
¡ 若GBP流量控制判决结果为禁止通过,则丢弃报文。
微分段功能的引入实现了灵活分组,方便了业务改造。微分段支持单个组对应单个VXLAN网关、单个组对应多个VXLAN网关、多个组对应单个VXLAN网关,在多园区应用场景中还支持单角色对应多个VXLAN网关。
如图7所示,Host A~C的VXLAN网关为Leaf 1;Host D~F的VXLAN网关为Leaf 2。默认情况下,Host之间及Host与外部网络之间均可以互访。通过部署微分段,可以灵活地控制各Host之间及Host与外部网络之间的互访。例如,在VXLAN网关上部署微分段,将Host A、Host B和Host C划入组1(微分段1),Host D、Host E和Host F划入组2(微分段2),即单个组对应单个VXLAN网关。然后部署GBP,以控制组1、组2、外部网络三者中两两之间是否可以互访。
图7 单个组对应单个VXLAN网关示意图
如图8所示,Host A和Host B的VXLAN网关为Leaf 1;Host C和Host D的VXLAN网关为Leaf 2;Host E和Host F的VXLAN网关为Leaf 3;Host G和Host H的VXLAN网关为Leaf 4。默认情况下,Host之间及Host与外部网络之间均可以互访。通过部署微分段,可以灵活地控制各Host之间及Host与外部网络之间的互访。例如,在VXLAN网关上部署微分段,将Host A、Host B、Host E和Host F划入组1(微分段1),Host C、Host D、Host G和Host H划入组2(微分段2),即单个组对应多个VXLAN网关。然后部署GBP,就可以控制组1、组2、外部网络三者中两两之间是否可以互访。
图8 单个组对应多个VXLAN网关示意图
如图9所示,Host A~D属于同一个网段,其VXLAN网关为Leaf 1;Host E~J属于同一个网段,其VXLAN网关为Leaf 2。默认情况下,Host之间及Host与外部网络之间均可以互访。通过部署微分段,可以灵活地控制各Host之间及Host与外部网络之间的互访。例如,在VXLAN网关上部署微分段,将Host A和Host B划入组1(微分段1),Host C和Host D划入组2(微分段2),Host E和Host F划入组3(微分段3),Host G和Host H划入组4(微分段4),Host I和Host J划入组5(微分段5),即多个组对应单个VXLAN网关。然后部署GBP,就可以控制组1、组2、组3、组4、组5、外部网络三者中两两之间是否可以互访。
通过掩码对微分段ID进行聚合,生成一个新的微分段,新生成的微分段称为聚合微分段。聚合微分段和普通微分段之间可以构成两个层级。普通微分段是对网络端点进行的分组,而聚合微分段则是在此基础上对普通微分段进行的分组。这样,普通微分段就可以继承所属聚合微分段的权限,又可以被赋予特别权限,使得管控更加精细。
如图10所示,部门A所有用户被划分到了微分段16中,服务器专区中的所有服务器被分别划分到了微分段24~31中。对微分段24~31进行聚合,生成聚合微分段24。配置微分段16与聚合微分段24之间的GBP 1为允许互访,微分段16与微分段26之间的GBP 2为禁止互访。各组之间的GBP优先级遵循精细优先原则,即管控范围小(即成员数量少的普通微分段)的组间GBP优先级高,如图10中各GBP的优先级顺序为GBP 2 > GBP 1。通过上述微分段和聚合微分段配置,可以实现允许部门A中所有用户访问服务器专区中的大部分服务器,禁止访问少部分处于微分段26中的高密服务器。
聚合微分段通过对普通微分段的ID进行掩码运算实现。掩码长度决定了聚合微分段内的普通微分段个数。聚合微分段ID和普通微分段ID之间的关系示例如图11所示,如果希望对微分段49和52进行聚合,则需要将掩码长度配置为3,即110XXX,将掩码位全部置0就得到了聚合微分段的ID为48。聚合微分段48内最多有2³=8个普通微分段,即普通微分段48~55。
图11 聚合微分段ID和普通微分段ID关系示意图
在如图12所示的数据中心网络中,通过命令行手工部署或SDN控制器自动部署微分段、ACL和GBP。
· 对东西向的流量进行管控时,微分段成员的部署方式为:
在所有Leaf上为VM的IP地址配置全网统一的静态IP微分段。
在Leaf 1和Leaf 2上都配置:
¡ 微分段1成员为192.168.1.0/24。
¡ 微分段2成员为192.168.2.0/24。
¡ 微分段3成员为192.168.3.0/24。
· 对南北向的流量进行管控时,微分段成员的部署方式为:
Border上存在到达Internet和防火墙的静态缺省路由和OA(办公自动化)网络(即192.168.20.0/24)的网段路由,通过BGP将该路由通告给所有Leaf,以实现数据中心通过Border与外部通信。
为了实现南北向流量管控,需要在所有Leaf上配置全网统一的静态IP微分段:
¡ 由于Border会通告缺省路由,所以在Leaf 1和Leaf 2上均配置微分段4,成员为0.0.0.0/0。
¡ 由于Border会通告网段路由,所以Leaf 1和Leaf 2上均配置微分段5,成员为192.168.20.0/24。
ACL和GBP则按需配置,允许或禁止各微分段间互访的流量通过。
在如图13所示的园区网络中部署微分段,通过命令行手工部署微分段或SDN控制器自动部署微分段:
· 对东西向的流量进行管控时,微分段成员的部署方式为:
¡ 为本地有线用户(Host C和Host F)配置认证授权微分段,AAA为认证成功的用户授权微分段ID,实现了将有线用户添加到指定微分段中。
AAA向Leaf 1下发授权信息,为Host C授权微分段1,则Host C成为微分段1的成员;向Leaf 2上下发授权信息,为Host F授权微分段2,则Host F成为微分段2的成员。
¡ 为本地无线用户(Host A、Host B、Host D和Host E)配置静态AC微分段。用户经由AC接入EVPN VXLAN网络,通过在Leaf上将AC与微分段关联,实现了将有线用户添加到指定微分段中。
在Leaf 1上将Host B和Host C接入EVPN VXLAN网络的AC与微分段1关联,则Host B和Host C成为微分段1的成员;在Leaf 2上将Host D和Host E接入EVPN VXLAN网络的AC与微分段2关联,则Host D和Host E成为微分段2的成员。
Leaf学习到上线用户的ARP后,通过BGP通告给其它所有Leaf,通告时携带相应的微分段ID。
· 对南北向的流量进行管控时,微分段成员的部署方式为:
Border上存在到达Internet和防火墙的静态缺省路由,和OA网络的网段路由(192.168.20.0/24),通过BGP将路由通告给所有Leaf。所有Leaf上配置全网统一的静态IP微分段。
¡ 由于Border会将缺省路由通告给所有Leaf,所以在Leaf 1和Leaf 2上都配置微分段3,成员为0.0.0.0/0。
¡ 由于Border会将网段路由通告给所有Leaf,所以则Leaf 1和Leaf 2上都配置微分段4,成员为192.168.20.0/24。
ACL和GBP则按需配置,允许或禁止各微分段间互访的流量通过。
图13 EVPN VXLAN园区网络