1、用ELK打造安全数据分析平台目录: 认识数据 用ELK处理数据 用数据说话 Q&A认识数据 服务器及网络设备所产生的日志,格式各 有各的不同,难以统一。数据多样性 业务系统每天都在产生越来越多的数据, 且产生的数据速度越来越快。产生速度快 原始数据不经过分析,无法产生对决策有 用的数据。让数据产生价值样例一 SSH登录日志样例二 Web log访问日志什么是ELK?ELK是Elasticsearch、Logstash、Kibana的缩写。使用场景:ELK的应用场景很多,如运维、开发查日志。分析定位问题。组件用途:Logstash 用来搜集日志Elasticsearch 存储各类日志Kibana
2、 可视化及查询日志。为什么选用ELK?l架构特点: 处理方式灵活 (不需要像用storm、spark时需要写大量的代码。) 配置简易方便,学习成本较低。 检索性能高效。(能够满足查询秒级响应的需求。) 集群扩展性强。(增加新机器,集群能够自动识别。) 不用重复写前端代码。(kibana能够快速生成炫酷的报表,省去以 前大量花在前端代码的工作量。)数据处理的那些套路数据收集&清洗数据 消费数据数据存储 数据展示 异常报警数据处理架构操作系统日志应用日志网络设备日志更多日志数据存储(es)数据展示(kibana)异常告警(elastalert、411)数据收集处理logstash处理数据之logs
3、tashLogstash处理逻辑分为3个部分:Input 作为读取数据输入源(文件、端口、消息队列) Filter 处理数据,如格式化,替换,匹配等动作。Ouput 作为数据输出(文件、端口、es、消息队列)处理之匹配数据不会匹配数据怎么办?Logstash 提供了常用的grok pattern,使用时直接调用即可。例子:U S E R N A M E a-zA-Z0-9._-+ USER %USERNAME调用USER:username,可匹配到如root、admin、ele等关键字,并可在kibana 中生成相应的字段。username为字段引用。如果想匹配较为复杂的数据,只需要会写正则表
4、达式即可。调试规则也是比较困扰的一项目工作。推荐使用grok debugger工具:https:/ 帮助调试规则。处理数据之异常告警(方案一、二)l 有哪些方案?Elasticsearch watch (收费,需要license。)Elastalert(https:/ 开源 优点:python语言编写,上手较简单,文档全。 缺点:报警格式不够美观,需要频繁去更新配置文件。411 Alert Management(https:/ 开 源 优点:关注安全异常报警,格式美观,支持工单流程。可以创建规则,一次创建多次 使用。可以设置报警等级,不会被频繁骚扰,只关注需要处理的事件。 缺点:配置较为麻烦,
5、有一定学习成本。Elastalert(方案一)Elastalert报警演示411 Alert Management(方案二)告警规则管理支持报警规则优先级、低优先级只在系统中记录, 不发送告警,避免打扰用户。创建告警规则触发规则告警kibana查询触发日志处理数据之查询不玩虚的,用数据说话例子1 SSH登录分析我想知道每天在被别人爆破什么账户?我想知道攻击者都哪来,方便决策ip地址能不能做个可视化的展示?例子2 登录分析我想知道别人都在什么时间段登陆?通过观察我们能够得知答案。例子3 审计用户命令操作总结安全分析平台的建设只是基础,数据清洗平台搭建,都是不可 避免的工作量。平台的建设思路大抵相同,重点在于处理数据 的思路和让数据产生价值。P A G E 43THANKS