日志审计:多账号下VPC Flow日志的采集与监控

1.背景

1.1 日志审计

日志审计服务App是阿里云日志服务SLS(Simple Log Service)旗下的一款产品,它在继承了日志服务SLS的全部功能以外,还有强大的多账号管理及跨地域采集功能,支持通过资源目录(Resource Directory)的方式有组织性地统一地管理和记录多账号下云产品实例的日志信息,可以便于用户进行统一分析,问题排查,回溯复盘等操作。日志审计APP可以自动化、中心化地采集云产品日志并进行审计,其服务覆盖基础(操作审计、k8s)、存储(OSS、NAS)、网络(SLB、API网关、VPC)、数据库(RDS、PolarDB-X1.0,PolarDB)、安全(WAF、DDOS、SAS、CPS)等产品,还支持审计所需的存储、查询及信息汇总等功能。

1.2 VPC Flow 日志

VPC提供流日志功能,可以记录VPC网络中弹性网卡ENI(Elastic Network Interface)传入和传出的流量信息,帮助您检查访问控制规则、监控网络流量和排查网络故障。对于通过VPC 流日志公测申请的账号,日志审计默认对VPC创建流日志,则会捕获VPC中所有弹性网卡的流量,包括在开启流日志功能后新建的弹性网卡。流日志功能捕获的流量信息会以流日志记录的方式写入日志服务中。其日志字段主要内容参见VPC流日志功能,日志审计在保留全部日志字段的基础上,还富化了一个region字段,用以表示VPC实例所属地域。

2 开启VPC Flow 日志采集

2.1. 使用限制

流日志功能正在公测中,您可以使用阿里云账号开启公测申请,开启后会产生流量和日志存储费用,费用详情请参见流日志功能计费

日志审计:多账号下VPC Flow日志的采集与监控

图1 开启VPC 流日志采集

对于VPC Flow日志而言,并不是VPC内所有的ECS实例都支持捕获流日志信息,其中不支持捕获Flow日志信息的ECS实例族如下:

ecs.c1、ecs.c2、ecs.c4、ecs.ce4、ecs.cm4、ecs.d1、ecs.e3、ecs.e4、ecs.ga1、ecs.gn4、ecs.gn5、ecs.i1、ecs.m1、ecs.m2、ecs.mn4、ecs.n1、ecs.n2、ecs.n4、ecs.s1、ecs.s2、ecs.s3、ecs.se1、ecs.sn1、ecs.sn2、ecs.t1、ecs.xn4

如果弹性网卡绑定的ECS实例属于以上实例规格族的实例时,亦不支持开启该弹性网卡的流日志捕获。

2.2 多账号及跨域、自动采集能力

2.2.1 多账号汇总

日志审计对资源目录和自定义鉴权的支持使得其天然具备同时采集多账号下的VPC流日志信息的能力,下图是同时采集多个账号下VPC流日志的一个示例。日志审计:多账号下VPC Flow日志的采集与监控

图2 日志审计采集VPC 流日志的多账号能力

2.2.2 跨域与中心化

在日志审计下开启VPC流日志采集之后,如果开启中心化,日志审计将自动将多账号、多地域下的流日志通过数据加工汇总到是sls下名为slsaudit-center-${center_account}-${region} 的project的vpc_log中。如果不开启中心化功能,则对于不同地域的VPC流日志将自动采集到对应region的对应project的slsaudit-region-${center_account}-${region}的vpc_log中,下图是一个VPC流日志跨域采集汇总的一个示例。

中心化选择

VPC实例所属地域A

审计中心所属地域C

区域A是否有日志

是否创建

数据加工

中心是否有日志

日志存储时间

开启中心化

A与C同地域

区域A有

不会创建

中心C有

取决中心化TTL

A与C不同地域

会创建

关闭中心化

A与C同地域

不会创建

中心C无

取决区域化TTL

A与C不同地域

表1 中心化和区域化区别

日志审计:多账号下VPC Flow日志的采集与监控

图3 日志审计采集VPC 流日志的跨地域功能

开启中心化后,日志审计在slsaudit-center-${center_account}-${region}下会创建3个VPC相关的内置报表,分别是VPC流日志概览、VPC流日志Reject中心、VPC流日志Traffic中心。如果关闭中心化,在日志审计仪表盘主页面对于每个有VPC实例的地域将会分别创建以上3个内置报表,如下图所示。

日志审计:多账号下VPC Flow日志的采集与监控

图4 左图中心化仪表盘Tree,右图关闭中心化仪表盘Tree

2.2.3 自动采集能力

日志审计开启VPC流日志采集功能之后,对于新创建的VPC实例,将会自动自动对齐开通流日志功能,并对满足条件的VPC下的所有ENI的流量信息会以流日志记录的方式写入日志审计。

2.3 精细化日志采集粒度

日志审计支持对VPC实例进行精细化采集粒度控制,用户可以通过账号、地域、实例ID、实例名、标签等属性进行精准采集设置。具体的采集策略可以参考日志审计采集策略一节。

日志审计:多账号下VPC Flow日志的采集与监控

图5 配置精准VPCFLowlog采集策略

云产品

采集对象

属性

说明

VPC

VPC实例

账号:account.id

VPC实例所属的阿里云账号ID

地域:region

VPC实例所属的地域,例如:cn-shanghai

实例ID:instance.id

VPC实例ID

实例名:instance.name

VPC实例名

标签:tag.*

用户自定义的标签名。

tag.*中的星号(*)替换为您自定义的标签名,

例如tag.level=high, tag.env=test

表2 采集策略说明

下面将进行几个简单的采集策略示例帮助用户理解如何进行精细化VPC流日志的采集。


# --------------example 1 ----------------

#only scan cn region

keep region == "cn-*"


# accept by default

accept "*"



#-------------example 2-------------------

# accept all high level instances and if not only accept vpc that name starts with test


accept tag.level == "high"


# only scan vpc name start with “test”

keep instance.name == "test*"


# accept by default

accept "*"

3.报表分析与展示

日志审计VPC流日志内置3种报表,一个是VPC Flow日志概览,一个是VPC Reject中心,一个是VPC Traffic中心。

3.1 VPC Flow 日志概览


日志审计:多账号下VPC Flow日志的采集与监控

图6 VPC流日志概览-Action统计、Accept和Reject统计、ENI详情等

日志审计:多账号下VPC Flow日志的采集与监控

图7 VPC流日志概览-Top字节数的源地址、目的地址、每分钟Action次数等

日志审计:多账号下VPC Flow日志的采集与监控

图8 VPC流日志概览-Action源地址运营商分布、Top目标端口、各协议的每分钟包数等

3.2 VPC Reject 中心

日志审计:多账号下VPC Flow日志的采集与监控

图9 Reject 信息汇总

日志审计:多账号下VPC Flow日志的采集与监控

图10 Reject Action详情

3.2 VPC Traffic 中心

日志审计:多账号下VPC Flow日志的采集与监控

图11 Traffic信息概览

日志审计:多账号下VPC Flow日志的采集与监控

图12 Traffic 每分钟字节数及各ENI分钟字节数和包数

4.最佳实践

4.1 VPC内ECS互相访问流量查看

本章节以下图场景为例,例如ECS1和ECS3是同一个VPC(vpc-bp1vh***********9l3e)内不同交换机下的2台云服务器。ECS1(172.16.2.*)和ECS3(172.16.1.*)之间存在一定的的互访流量,假设用户想要查看两者之间的流量随时间变化的详情,可以使用如下sql语句。

日志审计:多账号下VPC Flow日志的采集与监控

图13 VPC内不同交换机下ECS互相访问示意图


eni-id: eni-bp********8ze and dstaddr: "172.16.1.**" | select date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time, dstaddr,sum(bytes*8/("end"-start)) as bandwidth group by time,dstaddr order by time asc limit 100


该SQL语句定义了时间time、带宽bandwidth(bps)、目的地址dstaddr三个参数,time和dstaddr为聚合列,并按time从小到大排序,取100条日志。其中参数eni-id的值为ECS1的弹性网卡实例ID,dstaddr的值为ECS3的私网IP地址。

日志审计:多账号下VPC Flow日志的采集与监控

图14 VPC内ECS1访问ECS3的流量带宽变化统计图

4.2 排查公网NAT网关中不同ECS的流量变化

首先登录公网NAT网关,创建NAT网关,在该网关下选择已经创建的VPC( vpc-bp1vh***********9l3e),该VPC下已经创建了交换机vsw-bp1s*******00mj(172.16.2.0/24)和vsw-bp19******kov2(172.16.1.0/24)。

在该NAT网关下新购弹性公网IP (114.**.**.**7)并绑定,在公网NAT网关页面,找到刚才创建的NAT网关,并设置SNAT,然后创建SNAT条目,配置条目粒度为交换机粒度,选中vsw-bp1s*******00mj(172.16.2.0/24)和vsw-bp19******kov2(172.16.1.0/24),然后在公网IP地址列表选择刚刚创建的EIP(114.**.**.**7)。

日志审计:多账号下VPC Flow日志的采集与监控

图 15 公网NAT连接示意图


dstaddr: "114.**.**.**7" and action: ACCEPT and srcaddr: 172.16.1.* | select date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time, srcaddr,sum(bytes*8/("end"-start)) as bandwidth group by time,srcaddr order by time asc limit 1000


输入以上SQL语句对日志进行聚合和排列,查看去往某一特定EIP地址的不同ECS实例的流量。其中dstaddr是指刚刚创建的公网EIP地址,srcaddr是指以上ECS几个实例的私网网段,生成流图时x轴为time,y轴为bandwidth,聚合列为srcaddr。其结果如下图所示:

日志审计:多账号下VPC Flow日志的采集与监控

图16 一小时内访问公网EIP的不同ECS源IP的流量示意图


4.3 跨区域跨VPC访问流量查看

如下图所示,首先登录云企业网控制台创建地域为上海的一个云企业网CEN实例(cen-o6lf*****f3kh),然后在此CEN实例下加载网络实例,选择同账号下分别位于青岛和上海的两个VPC实例进行加载。此时系统会自动创建的SLR角色AliyunServiceRoleForCEN,该角色允许转发路由器在目标VPC实例上创建ENI,作为VPC发往转发路由器的流量入口。

日志审计:多账号下VPC Flow日志的采集与监控

图17 CEN下加载不同地域VPC实例示例

日志审计:多账号下VPC Flow日志的采集与监控

图18 同CEN下不同VPC实例之间互相访问示意图


输入以下SQL进行查询, 其中vpc-uf6*****93kf是上海所在的VPC实例,srcaddr是青岛vpc-m5e*****ngyd实例下的交换机挂载的ECS实例i-m5eh******70mn的网段(172.31.*.*)


vpc-id: vpc-uf******93kf  and srcaddr : "172.31.*.*" and action: ACCEPT | select date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time, sum(bytes*8/("end"-start)) as bandwidth from (select * from log where "end"!=start) group by time order by time asc limit 10


日志审计:多账号下VPC Flow日志的采集与监控

图18 同CEN下不同区域不同VPC实例下的ECS互相访问流量查看示例

5.参考链接

日志审计服务 https://help.aliyun.com/document_detail/164065.html

日志服务SLS https://help.aliyun.com/document_detail/48869.html

资源目录 https://help.aliyun.com/document_detail/94475.html

VPC流日志 https://help.aliyun.com/document_detail/127150.html

开启流日志公测申请 https://page.aliyun.com/form/act1463681010/index.htm

流日志功能计费 https://help.aliyun.com/document_detail/127150.html#title-cdd-pr7-r8m

VPC流日志字段 https://help.aliyun.com/document_detail/127150.html#title-wat-lmx-z21

日志审计采集策略 https://help.aliyun.com/document_detail/170316.html

公网NAT网关https://vpc.console.aliyun.com/nat/cn-hangzhou/nats

云企业网CEN https://cen.console.aliyun.com/cen/list?spm=a2c4g.11186623.0.0.7503558d6gRqA5

上一篇:2017年5个网络行业快速发展技术趋势


下一篇:管理本地计算机所有共享