首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SIEM别再只会报警:用流式分析打造现代化安全监控体系

SIEM别再只会报警:用流式分析打造现代化安全监控体系

原创
作者头像
Echo_Wish
发布2026-07-29 08:15:04
发布2026-07-29 08:15:04
2090
举报

SIEM别再只会报警:用流式分析打造现代化安全监控体系

作者:Echo_Wish

很多企业的安全系统都有一个共同的问题:日志收集了一大堆,告警也每天几十万条,但真正发生攻击的时候,安全人员还是靠“人工翻日志”。

为什么?

因为传统 SIEM(安全信息和事件管理)解决的是“看见问题”,而现代安全体系需要解决的是“提前发现问题”。


一、传统 SIEM 为什么越来越吃力?

说起 SIEM,很多人的第一印象就是:

收集日志 → 存数据库 → 配规则 → 产生告警。

这个模式在十年前没有问题。

比如:

服务器:

代码语言:txt
复制
192.168.1.10 登录失败
192.168.1.10 登录失败
192.168.1.10 登录失败

规则:

代码语言:txt
复制
5分钟内失败次数 > 10次
触发暴力破解告警

简单有效。

但是现在企业环境越来越复杂:

  • 云服务器几十万实例
  • Kubernetes 动态扩缩容
  • IoT设备大量接入
  • 微服务产生海量日志
  • 用户行为不断变化

每天产生的数据可能:

代码语言:txt
复制
服务器日志:
10TB/天

网络流量:
几十TB/天

应用日志:
数亿条事件

如果还按照传统方式:

代码语言:txt
复制
日志产生
   |
   ↓
写入数据库
   |
   ↓
定时扫描
   |
   ↓
生成告警

最大的问题就是:

攻击已经发生几个小时了,系统才发现。

这也是为什么现代 SIEM 开始走向:

流式分析 + 实时计算 + AI检测。


二、现代 SIEM 的核心:安全事件流处理

现代安全监控架构大概类似这样:

代码语言:txt
复制
              用户行为
                 |
              网络流量
                 |
              系统日志
                 |
              应用日志
                 |
                Filebeat
                 |
                 ↓
              Kafka
                 |
        -------------------
        |                 |
        ↓                 ↓
   Flink实时计算       数据湖存储
        |
        ↓
  威胁检测模型
        |
        ↓
  SIEM告警平台

这里最关键的一层:

就是流式计算。

为什么?

因为安全事件本质上就是一个时间序列问题。

比如:

用户A:

代码语言:txt
复制
09:00 上海登录
09:03 上海操作ERP
09:05 美国登录
09:06 下载10GB文件

单看每一条:

都正常。

但是放在时间窗口里面:

代码语言:txt
复制
3分钟内跨国登录
+
大量数据下载
+
异常时间访问

这就是典型风险。


三、Kafka负责接收安全事件

在现代 SIEM 中,Kafka 经常作为事件总线。

比如:

服务器产生:

代码语言:json
复制
{
    "user":"admin",
    "ip":"192.168.1.100",
    "action":"login_failed",
    "time":"2026-07-29 10:00:01"
}

发送到 Kafka:

代码语言:python
复制
from kafka import KafkaProducer
import json


producer = KafkaProducer(
    bootstrap_servers=[
        "localhost:9092"
    ],
    value_serializer=lambda x:
        json.dumps(x).encode()
)


event = {
    "user":"admin",
    "ip":"192.168.1.100",
    "action":"login_failed"
}


producer.send(
    "security_events",
    event
)


producer.close()

此时:

Kafka 不关心这个事件是不是攻击。

它只负责:

快速接收、缓存、分发安全事件。


四、Flink实时检测异常行为

真正的大脑在流计算。

比如检测:

5分钟内,一个账号失败登录超过20次。

传统 SQL:

代码语言:sql
复制
select count(*)
from login_log
where time between
now()-5min and now()
group by user
having count(*)>20;

需要不断扫描数据库。

流计算:

事件来了立即计算。

简单 Python 思路:

代码语言:python
复制
from collections import defaultdict
import time


login_count = defaultdict(list)


def detect(event):

    user = event["user"]

    now = time.time()


    login_count[user].append(now)


    # 保留5分钟窗口
    login_count[user] = [
        t for t in login_count[user]
        if now-t < 300
    ]


    if len(login_count[user]) > 20:

        return {
            "level":"high",
            "message":
            f"{user}可能遭受暴力破解"
        }


event={
"user":"admin"
}


print(
    detect(event)
)

运行逻辑:

代码语言:txt
复制
第1次失败
      |
记录

第10次失败
      |
继续观察

第21次失败
      |
立即报警

这就是流式检测。


五、安全检测不能只靠规则,需要行为分析

这里是现代 SIEM 最大的变化。

以前:

代码语言:txt
复制
攻击特征匹配

现在:

代码语言:txt
复制
用户行为画像
+
异常检测模型

举个真实场景。

员工:

平时:

代码语言:txt
复制
每天9点登录
访问10个业务系统
下载100MB文件

突然:

凌晨3点:

代码语言:txt
复制
登录VPN

访问数据库

下载50GB数据

没有任何病毒特征。

但是行为明显异常。

怎么办?

可以建立用户画像。

例如:

代码语言:python
复制
import numpy as np
from sklearn.ensemble import IsolationForest


# 用户历史行为
data=np.array([
    [9,10,100],
    [10,12,120],
    [9,8,90],
    [3,80,50000]
])


model=IsolationForest(
    contamination=0.1
)


model.fit(data)


result=model.predict(data)


print(result)

输出:

代码语言:txt
复制
[ 1  1  1 -1]

其中:

代码语言:txt
复制
1 = 正常

-1 = 异常

最后一个:

凌晨访问、大量下载。

模型认为:

异常。


六、SIEM现代化必须解决告警疲劳

很多安全团队最大的痛苦不是没有告警。

而是:

告警太多。

每天:

代码语言:txt
复制
100万个事件

50000个告警

真正攻击:
10个

安全人员根本处理不过来。

所以现代 SIEM 需要:

1. 告警聚合

例如:

这些事件:

代码语言:txt
复制
登录失败
登录失败
登录失败

异常IP访问

权限提升

不要生成5条。

应该合并:

代码语言:txt
复制
用户admin疑似遭受攻击
风险等级:高
攻击链:
暴力破解→登录成功→权限提升

2. 威胁评分

给事件打分:

例如:

代码语言:python
复制
score=0


if failed_login>20:
    score+=30


if unusual_country:
    score+=40


if download_large_file:
    score+=30



if score>=80:

    print(
    "严重安全事件"
    )

最终:

代码语言:txt
复制
风险=90

自动触发:

冻结账号
隔离设备
通知安全人员

七、未来 SIEM 会越来越像“安全大模型”

现在很多企业开始探索:

LLM + SIEM。

以前:

安全人员:

代码语言:txt
复制
查询日志
分析攻击路径
写报告

现在:

直接问:

代码语言:txt
复制
昨天晚上有没有异常登录?

AI:

代码语言:txt
复制
发现账号zhangsan

凌晨2:15登录

来源IP:
俄罗斯

随后访问财务数据库

下载文件8GB

与历史行为偏差95%

建议立即冻结账号

这就是:

Security Copilot。


八、企业落地一个现代 SIEM,可以怎么设计?

如果让我设计一个中大型企业安全分析平台:

我会这样拆:

代码语言:txt
复制
数据采集层

Filebeat
Fluent Bit
Agent


↓

消息层

Kafka


↓

计算层

Flink
Spark Streaming


↓

检测层

规则引擎
机器学习
威胁情报


↓

存储层

ClickHouse
Elasticsearch
Data Lake


↓

展示层

Grafana
Kibana
安全运营中心

技术没有绝对标准。

关键是:

不要为了“大数据”而大数据。

安全场景最重要的是:

快。


九、写在最后

以前的安全:

像门卫。

发现有人翻墙,然后报警。

现在的安全:

更像智能安防系统。

不仅看到有人靠近,还能判断:

  • 这个人是不是异常
  • 有没有攻击意图
  • 下一步可能做什么

SIEM 的未来,不是收集更多日志。

而是:

从海量数据里面,快速找到真正有价值的安全信号。

流式分析让安全系统从:

“事后调查”

走向:

“实时发现”。

而 AI 的加入,又让 SIEM 从:

“规则驱动”

走向:

“智能理解”。

未来企业安全竞争的核心,不是谁存储的数据更多,而是谁能够最快从数据洪流里面发现威胁。

这也是现代 SIEM 最大的价值。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • SIEM别再只会报警:用流式分析打造现代化安全监控体系
    • 一、传统 SIEM 为什么越来越吃力?
  • 二、现代 SIEM 的核心:安全事件流处理
  • 三、Kafka负责接收安全事件
  • 四、Flink实时检测异常行为
  • 五、安全检测不能只靠规则,需要行为分析
  • 六、SIEM现代化必须解决告警疲劳
    • 1. 告警聚合
    • 2. 威胁评分
  • 七、未来 SIEM 会越来越像“安全大模型”
  • 八、企业落地一个现代 SIEM,可以怎么设计?
  • 九、写在最后
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档