混合云环境下流量采集方案分析

 

随着公司业务不断发展,公司的云上环境也会越来越复杂,公司发展起来后,网络安全就会变成是必不可少的一环,网络安全分析是基于对网络流量进行实时分析,在混合云环境下网络流量的获取很关键,在这一个章节中我们重点介绍一下混合云环境下流量获取方式。

这里我们会涉及到云上环境(阿里云,华为云,亚马逊云),办公环境这两种场景:

 

一、办公网流量获取方式

对于办公网的安全,我们需要做的就是保护我们的办公PC不被攻击,最简单的做法就是只采集纵向流量,在这里我们只需要对交换机做流量镜像配置(具体的配置需要根据不同匹配的交换机做配置),从交换机接一根线到流量分析服务器,即可完成对办公网流量的采集

 

二、云上环境流量获取

1、阿里云流量获取

1.1 阿里云官方提供的流量镜像方式,具体可以参考官方文档https://help.aliyun.com/document_detail/207513.html 但是该方式支持的区域与机型有限制,特别是机型支持的较少,只支持新的机型,如果是刚部署阿里云的业务,可以选择流量镜像支持的机型与区域部署,使用该方式获取流量相对比较简单,对于业务比较庞大的公司,大部分业务已经部署,做机器迁移相对来说不太现实,以至于有了下面的方案

1.2 使用iptable的tee功能,默认iptable不支持tee功能,需要自己编译对应的模块,该原理是基于netfilter的模型,基于内核做数据包的转发,性能影响较小,使用示例:iptables -I PREROUTING -t mangle -i eth0 -j TEE —gateway 192.168.12.12,表示将eth0的流量镜像到192.168.12.12这个机器,缺点就是基于内核的需要自己下载编译安装模块

1.3 使用具有ebpf的工具做数据包转发,具体的可以看看xdp相关的技术,但是ebpf有系统版本的限制,Linux的版本至少需要在3.18版本以及以上版本才能使用

1.4 使用无限制的应用层工具packet-agent做数据包转发,其工作原理跟tcpdump类似,采取gre协议对数据包做封装转发,是一个开源代码https://github.com/Netis/packet-agent

根据自己的需求从上述四种方案中选择一种适合自己的方案

2、华为云流量获取

华为云官方没有提供流量获取方式,可以采取跟阿里云后续三种方式一样的方案做流量获取
亚马逊云提供了流量镜像方式,具体参考官方文档https://docs.aws.amazon.com/vpc/latest/mirroring/what-is-traffic-mirroring.html

亚马逊云的流量费用是相对贵的,此处说明一下怎么更好的节约成本,镜像后的流量可以分为两条路径,一条是直接将流量镜像给nlb,通过nlb做负载均衡,一种是将流量镜像给ec2

费用计算(当前按照所有服务的流量总和为100Gb/s,机器位于新加坡为例计算价格):

ec2加网卡不需要额外费用

ec2收费跟流量承载情况

① 将所有的镜像流量接入nlb,nlb做分流

100Gbps/8=12.5GBs

12.5GBs x 3600s x 24 hour x 0.006 usd/NLCU = 6480 usd/day

100Gbps大概需要6台m5n.4xlarge

1.168 x 24 x 6 = 168.192usd/day

总费用为:6480 usd/day + 168.192usd/day = 6648.192usd/day

优点:就是接入方便,不需要将每个session人工划分到对应的ec2,通过nlb划分

② 将流量直接接入ec2

一个目标网卡可以接入10个源流量

最好的情况下是12.5GBs流量是由最多6*80=480个网卡贡献,直接接入6台m5n.4xlarge机器即可

成本为1.168 x 24 x 6 = 168.192usd/day

实际情况根据实际网卡数量计算

通过计算成本对比可以看出使用nlb会多出很大一部分nlb的费用,而且亚马逊的nlb是通过流做负载均衡,平均每个机器流的数量,若存在流量比较大的长连接,此处的负载会相当不均衡,此处建议使用将流量接入ec2的方案,每天可以节约很大一部分成本

(完)