Sayings在实验室里做实验镜像流量如何穿过云计算本文

俗语

在实验室做实验

镜像流量如何穿越云计算

本文作者:山石网络科技研发高级总监、ADC/WAF研发负责人李巨曦

什么时候需要镜像流量?

流量镜像常用于网络运维、安全分析、数据监控、故障定位等活动。在网络安全设备中,可以绕过部署IDS、WAF、数据审计、DLP等设备。绕过部署侧重于事后的审计、分析和取证。

Hillstone ADC产品还可以将其转发的流量镜像到其他网络设备。下面以两个典型场景为例。

1. 部署在网络出口

Hillstone ADC透明部署在网关出口,ADC设备可以根据需要将网络流量镜像到与之配合的IDS/DLP进行安全检测。

山石ADC除了直接从ADC镜像明文流量外,对于SSL加密的流量,山石ADC还可以配合SSL透视功能对HTTPS流量进行解密,将明文流量镜像到IDS/DLP或其他网络设备,在服务器(需要在内网终端安装证书)。

如下图所示,终端访问的明文流量可以直接通过ADC镜像,而访问的加密流量可以通过ADC解密后通过配置SSL透视图镜像到IDS/DLP。

在这种场景下,ADC将流量镜像到bypass部署的IDS/DLP,IDS/DLP可以对出口流量进行安全检测、审计和拦截。

除了透明部署,山石ADC还可以实现上述功能作为链路负载均衡(在路由/NAT期间)。

下图中的 AX1000S 是 Hillstone Networks 的带有 SSL 硬件加速的 ADC 型号。其他型号也可以实现相同的功能。

图例:山石ADC流量镜像路径

2. 部署在服务器前面

同样,Hillstone ADC在用于服务器负载均衡和SSL Offload/SSL Proxy时,也可以将流量镜像到DBA、WAF等设备。

如下图,Hillstone ADC可以同时进行负载均衡,SSL offloading(客户端到ADC HTTPS,ADC到服务器HTTP),SSL Proxy(客户端到ADC HTTPS,ADC到服务器也是HTTPS),此时,两者Hillstone ADC 可以将流量(明文和解密的明文)镜像到 WAF 或旁路部署的其他设备。

图例:山石ADC流量镜像路径

物理网络的镜像流量要求

如前所述,IDS/DLP/WAF等设备在旁路部署时,会对镜像流量进行安全分析。在物理网络上实际部署时镜像端口是什么意思,ADC的镜像端口直接连接到IDS/DLP/WAF。

这是最常见和最简单的情况,因此ADC或其他镜像源设备不需要封装数据包,IDS/DLP/WAF也不需要解封装。

由于这种情况,还要求镜像发送方和接收方物理上必须直连,中间不能有二、三层网络设备。

虚拟网络的限制

下图是物理主机内虚拟主机之间的典型连接关系。

图例:物理主机内虚拟主机之间的典型连接关系

1. 如上图所示,虚拟网络的虚拟网元和虚拟主机不能直接连接,而是通过虚拟交换机连接。即使在物理主机上,每个虚拟实例都通过 Hypervisor 的虚拟交换机互连;当不在物理主机上时,它通过虚拟交换机和Underlay网络互连。

2. 在大部分公有云网络和SDN网络中,虚拟实例发送消息的源MAC必须是云平台或SDN控制器分配的MAC地址。当虚拟实例发送的消息的源MAC不属于这个虚拟接口时,会被虚拟网络丢弃;一些公有云甚至会检查虚拟实例发送的数据包的源IP。如果源 IP 不是虚拟接口的 IP,则该数据包将被丢弃。

虚拟网络限制总结:

1. 在虚拟网络中,无法使用类似于物理网络的直接连接方式进行流量镜像。

2. 由于无法直接连接,因此无法将原始数据包的源MAC地址和目的MAC地址用作MAC地址。即使云平台不丢弃它们,虚拟交换机的MAC表也会乱七八糟;经检查,如果直接发送,原始数据包的源IP也有可能被云平台丢弃。

如何解决山石 vADC

山石的虚拟化ADC产品(vADC)目前有AX02/AX04/AX08三种型号。通过前面的分析,在虚拟网络中是不可能实现物理网络中的网元直接连接的。另外,对公有云源IP地址的限制镜像端口是什么意思,使得物理网络中的流量镜像解决方案不可行。

当然,通过以上分析,解决方案也变得自然——隧道。通过隧道封装镜像流量,外层IP/MAC使用虚拟网元信息,封装后的payload使用原始流量,从而实现虚拟网络中的流量镜像。

GRE隧道

GRE隧道是一种比较简单的隧道类型。不需要两端协商,实现简单。因此,山石vADC使用GRE隧道封装镜像流量,将外层的源MAC封装为自己的MAC,目的MAC为以下一跳的MAC;源IP为自己的IP,目的IP为目的IP地址,以满足虚拟网络的限制。

下图显示了 GRE 封装格式。通过使用镜像的流量包作为GRE负载包,封装后的包暴露在虚拟网络上的MAC和IP信息就是隧道两个端点的信息。GRE的封装格式也很简单,头部4~16字节;镜像流量的接收者处理起来也很简单,即使之前不支持,也很容易支持GRE的解封装。

图注:GRE封装格式

例子

场景:

下图以AX04(vADC的型号)为七层SLB为例。基本配置如下:

虚拟服务器:l7-vs, 192.168.131.2:8087

真实服务器:rs33 ~ rs35 (192.168.131.33 ~ 192.168.131.36, 8端口< @0)

客户:192.168.131.1

图注:山石AX04做七层SLB工作流程

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论