如何自行搭建一个威胁感知大脑 SIEM?| 硬创公开课(2)
简化后的系统架构如下,报警也存es主要是查看报警也可以通过kibana,人力不足界面都不用开发了: 消息队列:kafkaKafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:
Apache Storm 是一个免费开源的分布式实时计算系统。简化了流数据的可靠处理,像 Hadoop 一样实现实时批处理。Storm 很简单,可用于任意编程语言。 Storm 有很多应用场景,包括实时数据分析、联机学习、持续计算、分布式 RPC、ETL 等。Storm 速度非常快,一个测试在单节点上实现每秒一百万的组处理。 storm拓扑支持python开发,以处理SQL日志为例子: 假设SQL日志的格式是 "Feb 16 06:32:50 ""127.0.0.1" "root@localhost" "select * from user where id=1" 一般storm的拓扑结构: 简化后 spout 是通用的从 kafka 读取数据的,就一个 bolt 处理 SQL 日志,匹配规则,命中策略即输出”alert”:”原始SQL日志”。 数据搜集:logstash
logstash的配置量甚至超过了storm的拓扑脚本开发量,这里就不展开了。 实时检索:ElasticSearchElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 数据源生产环境中,处理安全事件,分析入侵行为,我们需要尽可能多的搜集数据源,以下作为参考:
常见的数据日志搜集方式有三种: 镜像方式大多数数据库审计产品都支持这种模式,通过分析数据库流量,解码数据库协议,识别SQL预计,抽取出SQL日志 代理方式比较典型的就是db-proxy方式,目前百度、搜狐、美团、京东等都有相关开源产品,前端通过db-proxy访问后端的真实数据库服务器。SQL日志可以直接在db-proxy上搜集。 客户端方式通过在数据库服务器安装客户端搜集SQL日志,比较典型的方式就是通过logstash来搜集,本文以客户端方式进行讲解,其余方式本质上也是类似的。 logstash配置安装下载logstash https://www.elastic.co/downloads/logstash 目前最新版本5.2.1版 开启mysql查询日志mysql查询日志配置logstash运行logstash命令:bin/logstash -f mysql.conf 日志举例常见攻击特征分析攻击特征,下列列举两个,更多攻击特征请大家自行总结: 特征一:使用联合查询枚举数据时会产生大量的NULL字段。 特征二:枚举数据库结构时会使用INFORMATION_SCHEMA,另外个别扫描器会使用GROUP BY x)a) 注意的是:
这里介绍如何用图算法是被webshell。 webshell特征webshell特征其实很多,从统计学角度讲,有如下特点:
(编辑:ASP站长网) |