您的位置:首页 > 其它

【AWS征文】用 Kibana 来替换 AWS WAF Dashboards

2020-09-02 12:44 597 查看

AWS WAF 的默认 dashboard 数据显示的不实时,也不是特别明了,没有一些聚合指标,所以看起来就比较费力,那有没有第三方可以来展示 AWS WAF 呢?本文就教你如何使用 Kibana 来实时展示 AWS WAF 的状态。

一、描述

AWS WAF Dashboards 已经准备好使用仪表板 (基于 Amazon Elasticsearch Service 和 Kibana) ,可以快速连接到已经存在的 AWS WAF 配置,并允许使用可视化图表中的多个构建对 AWS WAF 日志进行可视化。

要开始使用 AWS WAF 仪表板,你不需要有任何与 Elasticsarch 或甚至 AWS WAF 的经验,只需要最低限度的 AWS 知识。我这里提供了 CloudFormation template,全自动的为大家把所需要的服务创建好,你只需配置 WAF 把数据导入到 ES 即可,整个创建过程大约持续 30 分钟。

WAF 是附加在 ELB 上面的,WAF 的日志传送给 Kinesis,通过 Kinesis 传递给 Elasticsearch,当用户登陆 Kibana 查询数据的时候,需要经过 Cognito 的认证通过,整个架构大致如此。

二、安装

1、启动模版

因为我在 eu-west-1 已经有业务,并且也已经配置了 WAF,所以我在这个 region 启动 CloudFormation,下面我们打开 Console,找到 CloudFormation,输入下面的模版:

https://s3.amazonaws.com/code.wzlinux.com/wzlinux-dashboard.yaml

2、配置模版

我们点击下一步之后,会有一些参数需要我们填写,如下:

  • DataNodeEBSVolumeSize: Elasticsearch cluster 的存储大小,可以不进行修改。
  • ElasticSerchDomainName: Elasticsearch luster domain,也可以不修改。
  • NodeType: Elasticsearch cluster 实例类型,可以不修改。
  • UserEmail: 邮箱这里要填写,因为随后会给送给你登陆 kibana 的登陆账户和密码。

然后点击创建,等待创建完成即可。

3、配置 WAF log

创建完成之后,我们打开 WAF 界面,找到我们的 Web ACL,修改 logging,把数据传递到 CloudFormation 创建的 Kinesis 里面,如下:

三、查看 Kibana

在 CloudFormation 的 Outputs 输出结果里面,我们可以看到 Kibana 的地址:

登陆框中输入我们邮件收到的账户密码即可。

登陆之后,我们点击 Dashboard 查看。现在,您的 WAF 日志将通过 Kinesis Firehose 直接从 WAF 服务发送到 ElasticSearch 集群,并使用 Kibana 仪表板提供给您。几分钟后,您应该开始看到仪表板上有数据。

Dashboard 大致展示了这些数据,当然你也可以按照自己的需求进行定制化更改。

演示完成之后,我们可以把 WAF 的日志取消注入 Kinesis,删掉 CloudFormation 即可。

关于每个视图是如何制作的,大家可以编辑 Visualize 查看:

欢迎大家扫码关注,获取更多信息

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: