基于SLS平台与日志审计构建Cloud SIEM方案

本文涉及的产品
对象存储 OSS,20GB 3个月
文件存储 NAS,50GB 3个月
云备份 Cloud Backup,100GB 3个月
简介: 本文介绍如何基于SLS平台与日志审计构建Cloud SIEM方案。

什么是SIEM?

SIEM的定义

安全事件和事件管理(security information and event management,SIEM)通过对来自各种数据源安全事件的收集和分析,来实现威胁检测、安全事件管理和合规性检测。SIEM是在安全信息管理(SIM)——收集、分析并报告日志数据,与安全事件管理(SEM)——实时分析日志和事件数据以提供威胁监视、事件关联和事件响应的基础上发展而来的。


Gartner发布的2021年度SIEM市场魔力象限分析报告中,对SIEM市场给出了新的定义:

  • 实时收集安全事件日志和telemetry数据(流和数据包),用于威胁检测和合规性用例;
  • 实时并持续分析数据,以检测攻击和其他感兴趣的活动;
  • 调查安全事件以确定其潜在的严重性和对业务的影响;
  • 报告上述活动;
  • 存储相关事件和日志。

SIEM技术主要关注于安全设备、网络基础设施、系统和应用程序产生的事件数据,数据源主要是日志数据,但SIEM技术也可以处理其他形式的数据,如网络telemetry数据(流和数据包)。SIEM同时提供了用于安全监控的事件实时分析、用户和实体行为的高级分析、针对大时间跨度的历史数据分析、事件调查和管理、报告(例如合规性要求)等。

SIEM魔力象限

魔力象限是Gartner对行业中的供应商进行评估比较的一个工具,基于行业市场中各供应商的执行力和前瞻性表现,生成魔力象限图和相应的分析报告。其中,纵轴为供应商的“执行力”(Ability to Execute),用于评估供应商将其愿景变成市场现实的能力;横轴为供应商的“前瞻性”(Completeness of Vision)。最终,结合企业的执行力和前瞻性评估,将供应商划分到领导者(LEADERS)、挑战者(CHALLENGERS)、有远见者(VISIONARIES)和特定领域者(Niche Players)四个象限。


上图为Gartner给出的SIEM魔力象限,接下来将就重点介绍几个重要的厂商。

重要的SIEM厂商

Exabeam是魔力象限的领导者。Exabeam 的 SIEM 解决方案可作为 SaaS(Exabeam Fusion SIEM)使用,也可用于混合、联合部署。它包括 Exabeam数据湖、高级分析、威胁捕获、实体分析、案例管理和事件响应。基于定制部署的模块化架构,用户可以灵活购买。Exabeam 的机器学习 (ML) 驱动的用户和实体行为检测,能为用户提供风险评分和自动的上下文富化能力。

Securonix在魔力象限处于领先地位。 其SIEM解决方案包括下一代 SIEM、安全数据湖、UEBA、SOAR、NDR、威胁情报、对手行为分析和几个特定于用例的应用程序。在数据隐私控制、威胁情报方面有很好的支持。

Splunk是魔力象限的领导者。Splunk 的安全产品组合连续多年被 Gartner 市场研究公司评为业界领先技术。通过“将数据转化为一切(Data-to-Everything)”平台,提供了一整套融合了SIEM、UEBA、SOAR的完整解决方案。

Elastic处于魔力象限中特定领域者的位置。Elastic以开源为基础,通过Logstash、Elasticsearch、Kibana组合奠定了数据的基本采集、分析、可视化能力。其中,Logstash作为一个日志聚合器,可以收集和处理来自几乎任何数据源的数据;Elasticsearch是存储引擎,用于解析大量数据;Kibana作为可视化层,用于可视化处理及问题分析。Elastic 7.14 版发布了首个免费开放的Limitless XDR,能够在一个平台中提供一体化的 SIEM 和 Endpoint Security 功能。

SLS与Splunk功能对比

注意:Splunk在平台基础上提供了开箱机用的解决方案(如其完整的SIEM、UEBA、SOAR方案等),SLS更多是一个平台提供这方面的支撑和二次定制与开发。本文主要就平台层面做一些对比和参考。

Splunk Data-to-Everything平台

Splunk提供了一整套强大的“Splunk Data-to-Everything平台”,助力用户冲破数据和行动之间的障碍,赋权IT、安全、物联网和业务运营团队,使其能够实时了解业务、将数据转化为业务成果。该平台主要包括:

  • Data Stream Processor提供了一个实时流处理解决方案,实现了数据的统一收集、处理,并支持多云。
  • 高可用且能够按照需求弹性扩展的集群架构,快速响应业务的发展变化。
  • 灵活的SPL语句实现了在长时间跨度、海量数据中快速搜索,实现高效的问题分析和原因定位。
  • Schema on read设计可将数据应用于某项schema,将数据处理从入库切换为出库时进行,从而实现数据的快速提取。
  • 监控分析应用和集中控制台,及时发现预警过程中出现的异常,并发出通知。
  • 基于角色访问控制,提供应用、仪表板、视图乃至字段级别的数据访问控制,保障用户访问和数据使用的安全性
  • 借助ML、SPL,提供开箱即用的AI功能。
  • 提供了完备的安全编排、自动化和响应(SOAR)解决方案,帮助用户实现了更多安全操作的自动化。

基于此平台,可为IT、安全、Observability(可观察性)等方面的决策、问题和行动提供数据支持。

SLS 云原生可观测平台

SLS作为阿里巴巴、蚂蚁等日志中台产品,同时服务阿里云上万级客户的基础产品,每天处理几十PB 日志/Metric/Trace数据,为AIOps、大数据分析、运营服务、大数据安全等场景提供支撑,解决工程师可观察性的问题。

SLS核心平台能力在于围绕可观察性的各种监控数据,提供统一的存储与计算能力。

  • 统一的存储能力。针对日志(log)、时序(metric)、trace等各类数据提供了统一等存储能力。
  • 强大的分析引擎
  • 数据加工引擎(DSL):主要面向数据加工和与预处理场景,解决格式多样化的问题
  • SQL查询分析引擎(SQL):面向存储数据提供清晰、计算能力。
  • 智能分析引擎(AIOps):面对特定问题提供智能算法。
  • 丰富的可视化能力:通过可视化大盘全面观测系统状态。
  • 事件管理和on-call管理机制,及时监控异常并通知。

基于此平台,在DevOps、ITOps、SecOps、BusinessOps等领域提供了丰富的场景支持。

SLS、Splunk平台功能对比

比较中红色字体表示更优。

分类

比较项

SLS

Splunk Cloud

Splunk On-Prem

基础框架

服务、存储可用性

SLA:服务3个9,存储11个9

对外宣称100%可用

支持集群分布式,多备份部署

价格

弹性价格,基于存储(支持冷热存储)、流量与索引按量收费。

按照节点、负载、导入量按量收费。但Forwarder需自建

根据每日最大导入量来订阅不同规格的软件费,硬件存储等需自购

数据可扩展性

PB级别

TB级别

PB级别

数据导入

主机、应用

通过logtail采集主机、应用日志,支持日志、metric的采集。

Splunk forwarder提供了基本数据接入能力,Splunkbase中有很多针对主机、应用的提供的开箱即用的集成插件或APP;除此以外,还提供了Splunk Insights服务器安全监控解决方案。

标准协议

丰富的生态支持,标准协议、开源软件都有很好的支持。

Splunkbase中提供的开箱即用的集成插件或APP

云服务(阿里云)数据

目前已支持40+云产品的数据接入。推出的日志审计服务提供了跨账号、跨地域采集的能力。

仅SLS提供Alibaba Cloud Log Service Add-on for Splunk可用,用于将SLS的数据投递到Splunk。

云服务(AWS、Azure)数据

支持CloudWatch告警的开箱机用接入,其他类型可通过API/SDK或三方工具接入。

提供大量由官方或三方开发的集成插件或App

数据处理

数据流式处理

通过数据加工,对结构化或非结构化的日志进行实时处理。目前已包含200+算子,开箱即用,免运维,无代码。

通过Data Stream Processor提供了实时流处理解决方案,支持客户多云策略。

数据 Roll-up & 聚合

实时日志采集提供日志聚类功能,精度可调整。

Schedued SQL也提供了数据聚合的功能。

可通过metric store做特定数据的聚合,或通过Summary Index与数据建模做特定加速聚合。

查询分析

查询分析语法

以SQL作为基础的查询和分析框架,同时在框架中融入PromQL语法和机器学习函数。

SPL 提供 140 多种命令,可用于搜索、关联、分析和可视化任何数据。schema on read的设计,能够实现数据的快速提取。

机器学习

内置了大量基于AI的巡检、预测、聚类、根因分析等算法,以SQL/DSL函数的形式向用户提供。

提供独立的ML工具包,覆盖主流场景的算法,有独立的交互与SPL扩展。

可视化

丰富的可视化与drill-down功能,也可以与第三方可视化工具(Grafana等)对接

丰富的可视化与drill-down功能,支持三方扩展,并提供相关应用市场。

告警及On-Call

告警监控

基于SQL/PromQL进行监控,支持机器学习增强。支持跨区域、跨库协同能力。并扩展支持动态标签/标注、动态严重度、无数据与恢复告警等。

整体基于SPL监控,不直接支持动态标签/标注、动态严重度、无数据与恢复告警等。

通知渠道

丰富的渠道支持,短信、语音、邮件、Webhook(钉钉、企业微信、飞书、Slack、通用Webhook)

丰富的渠道支持email/SMS/chat/phon/Slack/WeChat等,并提供相关官方或三方扩展。

告警管理降噪

基于指纹的告警去重,完善的抑制、静默、去重机制。

平台告警功能本身不直接支持告警降噪管理。上层方案如ITSI/ES有相应功能。

On-Call管理

提供完整的响应支持,包括值班、轮岗与通知触达,告警升级以及事务操作等。

通过Splunk On-Call(VictorOps)提供完整的响应支持,包括值班、轮岗与通知触达,告警升级以及事务操作等。

编排自动化

支持触发FC,WebHook触发等;也支持编程方式消费告警事件。内置自动化编排模块较少。

通过Splunk Phantom提供完整的响应自动化编排能力,包括威胁情报集成、审批流程、上下文富化、playbook以及相关生态市场。

生态系统

Add-on/内置App

提供了丰富的APP用于接入各类数据,并提供了开箱即用的方案。数据源的覆盖度,正在不断增加中。

提供上千个由官方或三方开发的针对不同数据源或应用的集成插件或App,可提供开箱即用的方案。

基于上述的比较,在构建SIEM解决方案所关注的功能点上,SLS已经具备了相对完整的能力,甚至有些方面(例如,服务可用性、价格、数据处理分析能力、告警管理等)都有不错的表现。接下来,重点介绍如何使用SLS构建SIEM方案。

SLS特性及场景支持

SIEM功能与SLS能力映射

从该图可以看出SLS已经具备了构建SIEM的基本能力。接下来从如下方面重点阐述使用SLS构建SIEM方案的关键点:

  • 丰富的数据采集、处理能力
  • 统一的查询分析能力:交互式的查询分析语法、ML算法支持、可视化分析能力
  • 威胁探测和响应:使用内置告警规则和自定义规则进行威胁探测,将发现的威胁事件通知给用户,并能够进行事件管理。

数据采集、处理能力

数据实时采集

SLS提供了丰富的采集手段,支持采集服务器与应用、开源软件、物联网、移动端、标准协议、阿里云产品等多种来源的数据。

应用日志主要的接入手段有:

  • 客户端使用SDK直接写入:在应用程序(或依赖的框架)中将日志直接写到SLS。
  • 语言覆盖:提供了多个语言版本(.NET、Java、Python、PHP、C等)的SDK。
  • 场景覆盖:服务器应用、移动端、H5等。
  • 通过logtail作为agent采集:应用只负责把日志打到本地,由logtail作为代理采集到SLS侧。
  • 场景覆盖:Linux、Windows、Docker等。
  • 能力支持:支持多种文本类型(正则、Json等)的采集。Logtail提供了简单的数据处理(字段提取,过滤等)能力,对于安全数据提供了采集时脱敏能力(详见sensitive_keys配置项)。

除此以外,还提供了对标准协议(HTTP/HTTPS、Syslog等)、第三方开源采集软件(Logstash、Fluentd)的对接。为了满足业务数据快速接入的需求,SLS在全球提供了20+接入点,同时对于跨域采集网络不稳定的问题,提供了全球加速方案。


SLS还跟阿里云多个云产品深度融合,提供了便捷的云产品日志接入方式。用户可以直接将各云产品的审计数据采集到SLS侧进行后续的分析处理。

支持的接入的云产品列表也在持续增加中。最新数据详见:

数据加工

数据加工是SLS推出的一项可托管、高可用、可扩展的数据处理服务,主要对结构化或非结构化的日志进行实时的ETL处理。该功能目前包含200+算子,广泛应用与数据规整、数据聚合、富化、分发、汇总等场景。数据加工提供的数据脱敏算子,可以有效地减少敏感数据在加工、传输、使用等环节中的暴露,降低敏感数据泄露的风险,保护用户权益。常见脱敏场景有为手机号、银行卡号、邮箱、IP、AK、身份证号网址、订单号、字符串等敏感信息脱敏。

SIEM场景下,往往需要采集多种数据源的数据(格式可能比较杂乱),同时也有长时间跨度、海量数据的分析需求,而数据加工通过Schema On Write的方式提前进行数据规整,能够为后续的分析处理提供很大的便捷。

日志审计

日志审计服务是在SLS平台能力基础上提供的一款审计服务,支持多账户场景下实时自动化、中心化地采集阿里云上的云产品日志。具有如下优点:

  • 丰富的云产品支持,目前覆盖基础(ActionTrail、容器服务Kubernetes版)、存储(OSS、NAS)、网络(SLB、API网关)、数据库(关系型数据库RDS、云原生分布式数据库PolarDB-X 1.0、云原生数据库PolarDB)、安全(WAF、DDoS防护、云防火墙、云安全中心)。
  • 跨账号:与阿里云资源目录集成,支持将多个主账号下的日志采集到一个中心主账号下。
  • 一键式采集:一次性配置采集规则后,即可完成自动实时发现新资源并实时采集日志。
  • 中心化存储:将采集到的日志存储到某个地域的中心化Project中,方便后续查询分析、可视化与告警、二次开发等。
  • 丰富的内置告警规则,一键建立安全防护网。
  • 生态开放对接:与开源软件、阿里云大数据产品、第三方SOC软件无缝对接,充分发挥数据价值。

查询分析能力

查询分析引擎

SLS以SQL作为查询和分析框架,同时在框架中融入PromQL语法和机器学习函数。可以说:

SLS SQL = Search + SQL92(Agg,WIndow,GroupBy...)+ PromQL + ...

在下图的例子中:

  • 先通过调用promql算子拿到主机每分钟的监控值;
  • 通过窗口函数对原始数据进行降采样,例如变为每秒的数值;
  • 通过外层的预测函数对查询结果进行预测。

机器学习加持

SLS内置了大量基于AI的巡检、预测、聚类、根因分析等算法,以SQL/DSL函数的形式向用户提供,在人工分析和自动巡检告警中都能使用到。

交互式可视化

SLS提供的可视化功能基于SLS统一的查询分析引擎,以图表的形式将查询与分析结果呈现出来,清晰呈现全局态势。同时,也可以与第三方可视化工具对接。

威胁探测和响应

智能告警运维系统

SLS告警是在SLS云原生可观测性平台上提供的一站式智能运维告警系统。它提供对日志、时序等各类数据的告警监控,亦可接受三方告警,对告警进行降噪、事件管理、通知管理等,新增40+功能场景,充分考虑研发、运维、安全以及运营人员的告警监控运维需求。

通过告警监控规则配置,定期检查评估,查询统计源日志、时序存储,按照监控编排逻辑评估结果,并触发告警或恢复通知。

SLS告警提供了超过数百个内置告警规则,开箱即用并持续增加中。这些规则库有覆盖了CIS(覆盖了账号安全、数据库安全等)和安全场景的最佳实践,用户仅需开启对应规则,即可享受到全天候的安全保障。

当告警规则探测到异常发生时,需要尽快的将威胁事件通知给相应的开发人员。SLS提供了丰富的通知渠道,便于威胁事件的全方位触达。

当开发人员接收到告警事件通知后,需要采取一系列的事件管理动作,例如事件确认、指派处理人、处理动作记录等。

威胁情报

Gartner将威胁情报定位为某种基于证据的知识,包括上下文、机制、标示、含义和能够执行的建议。威胁情报描述了现存的、或者是即将出现针对资产的威胁或危险,并可以用于通知主体针对相关威胁或危险采取某种响应。业内大多数所说的威胁情报可以认为是狭义的威胁情报,其主要内容为用于识别和检测威胁的失陷标识,如文件HASH,IP,域名,程序运行路径,注册表项等,以及相关的归属标签。

威胁情报服务是阿里云提供的情报安全服务,结合威胁情报数据,通过对威胁来源进行实时自动化采集、分析、分类与关联,评估企业资产中存在的威胁并为改善安全状况提供建议。阿里云威胁情报服务可以展示了近30天全球所有网上用户和客户企业已遭受的威胁统计数据,目前支持针对IP、域名、文件提供威胁情报。

SLS日志审计服务与威胁情报服务深度集成,利用威胁情报服务提供的全球威胁情报评估能力,支持对接入SLS的多种云产品日志(Actiontrial、SLB、OSS、SAS等)进行威胁情报检测,有效识别云产品使用过程中存在的潜在威胁。也支持以告警方式将检测到的异常及时通知给相关的安全人员,从而提升威胁检查效率和响应速度。

下图展现了如何通过SLS日志审计服务进行云产品的威胁情报探测及响应的流程。

与第三方SIEM/SOC平台集成

SLS提供了与第三方SIEM方案(例如Splunk)对接的方式,以便确保阿里云上的所有法规、审计、与其他相关日志能够导入到用户的安全运维中心(SOC)中。


针对于Splunk对接的场景,SLS提供了Alibaba Cloud Log Service Add-on for Splunk,便于用户方便部署。

参考文档

Gartner SIEM 2021 - SIEM Gartner Magic Quadrant

Splunk Data-to-Everything,平台的力量

Splunk .conf20发布

Splunk依托数据实现主动安全

SLS构建可观察性数据中台















相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
20天前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
|
21天前
|
存储 数据采集 数据处理
【Flume拓扑揭秘】掌握Flume的四大常用结构,构建强大的日志收集系统!
【8月更文挑战第24天】Apache Flume是一个强大的工具,专为大规模日志数据的收集、聚合及传输设计。其核心架构包括源(Source)、通道(Channel)与接收器(Sink)。Flume支持多样化的拓扑结构以适应不同需求,包括单层、扇入(Fan-in)、扇出(Fan-out)及复杂多层拓扑。单层拓扑简单直观,适用于单一数据流场景;扇入结构集中处理多源头数据;扇出结构则实现数据多目的地分发;复杂多层拓扑提供高度灵活性,适合多层次数据处理。通过灵活配置,Flume能够高效构建各种规模的数据收集系统。
27 0
|
2天前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
12天前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
49 9
|
21天前
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
|
14天前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
45 0
|
14天前
|
C# Windows 监控
WPF应用跨界成长秘籍:深度揭秘如何与Windows服务完美交互,扩展功能无界限!
【8月更文挑战第31天】WPF(Windows Presentation Foundation)是 .NET 框架下的图形界面技术,具有丰富的界面设计和灵活的客户端功能。在某些场景下,WPF 应用需与 Windows 服务交互以实现后台任务处理、系统监控等功能。本文探讨了两者交互的方法,并通过示例代码展示了如何扩展 WPF 应用的功能。首先介绍了 Windows 服务的基础知识,然后阐述了创建 Windows 服务、设计通信接口及 WPF 客户端调用服务的具体步骤。通过合理的交互设计,WPF 应用可获得更强的后台处理能力和系统级操作权限,提升应用的整体性能。
34 0
|
16天前
|
存储 消息中间件 监控
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统ELK、日志收集分析
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统、日志收集分析。日志级别从小到大的关系(优先级从低到高): ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF 低级别的会输出高级别的信息,高级别的不会输出低级别的信息
|
20天前
|
存储
【Azure Log A workspace】Azure上很多应用日志收集到Log A workspace后如何来分别各自的占比呢?
【Azure Log A workspace】Azure上很多应用日志收集到Log A workspace后如何来分别各自的占比呢?
|
20天前
|
API
【Azure 应用服务】当在Azure App Service的门户上 Log Stream 日志无输出,需要如何操作让其输出Application Logs呢?
【Azure 应用服务】当在Azure App Service的门户上 Log Stream 日志无输出,需要如何操作让其输出Application Logs呢?

热门文章

最新文章

相关产品

  • 日志服务