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

举报
Echo_Wish 发表于 2026/07/29 08:15:13 2026/07/29
【摘要】 SIEM别再只会报警:用流式分析打造现代化安全监控体系

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

作者:Echo_Wish

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

为什么?

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


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

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

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

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

比如:

服务器:

192.168.1.10 登录失败
192.168.1.10 登录失败
192.168.1.10 登录失败

规则:

5分钟内失败次数 > 10次
触发暴力破解告警

简单有效。

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

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

每天产生的数据可能:

服务器日志:
10TB/天

网络流量:
几十TB/天

应用日志:
数亿条事件

如果还按照传统方式:

日志产生
   |
   ↓
写入数据库
   |
   ↓
定时扫描
   |
   ↓
生成告警

最大的问题就是:

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

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

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


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

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

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

这里最关键的一层:

就是流式计算。

为什么?

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

比如:

用户A:

09:00 上海登录
09:03 上海操作ERP
09:05 美国登录
09:06 下载10GB文件

单看每一条:

都正常。

但是放在时间窗口里面:

3分钟内跨国登录
+
大量数据下载
+
异常时间访问

这就是典型风险。


三、Kafka负责接收安全事件

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

比如:

服务器产生:

{
    "user":"admin",
    "ip":"192.168.1.100",
    "action":"login_failed",
    "time":"2026-07-29 10:00:01"
}

发送到 Kafka:

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:

select count(*)
from login_log
where time between
now()-5min and now()
group by user
having count(*)>20;

需要不断扫描数据库。

流计算:

事件来了立即计算。

简单 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)
)

运行逻辑:

第1次失败
      |
记录

第10次失败
      |
继续观察

第21次失败
      |
立即报警

这就是流式检测。


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

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

以前:

攻击特征匹配

现在:

用户行为画像
+
异常检测模型

举个真实场景。

员工:

平时:

每天9点登录
访问10个业务系统
下载100MB文件

突然:

凌晨3点:

登录VPN

访问数据库

下载50GB数据

没有任何病毒特征。

但是行为明显异常。

怎么办?

可以建立用户画像。

例如:

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)

输出:

[ 1  1  1 -1]

其中:

1 = 正常

-1 = 异常

最后一个:

凌晨访问、大量下载。

模型认为:

异常。


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

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

而是:

告警太多。

每天:

100万个事件

50000个告警

真正攻击:
10个

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

所以现代 SIEM 需要:

1. 告警聚合

例如:

这些事件:

登录失败
登录失败
登录失败

异常IP访问

权限提升

不要生成5条。

应该合并:

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

2. 威胁评分

给事件打分:

例如:

score=0


if failed_login>20:
    score+=30


if unusual_country:
    score+=40


if download_large_file:
    score+=30



if score>=80:

    print(
    "严重安全事件"
    )

最终:

风险=90

自动触发:

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

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

现在很多企业开始探索:

LLM + SIEM。

以前:

安全人员:

查询日志
分析攻击路径
写报告

现在:

直接问:

昨天晚上有没有异常登录?

AI:

发现账号zhangsan

凌晨2:15登录

来源IP:
俄罗斯

随后访问财务数据库

下载文件8GB

与历史行为偏差95%

建议立即冻结账号

这就是:

Security Copilot。


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

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

我会这样拆:

数据采集层

Filebeat
Fluent Bit
Agent


↓

消息层

Kafka


↓

计算层

Flink
Spark Streaming


↓

检测层

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


↓

存储层

ClickHouse
Elasticsearch
Data Lake


↓

展示层

Grafana
Kibana
安全运营中心

技术没有绝对标准。

关键是:

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

安全场景最重要的是:

快。


九、写在最后

以前的安全:

像门卫。

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

现在的安全:

更像智能安防系统。

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

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

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

而是:

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

流式分析让安全系统从:

“事后调查”

走向:

“实时发现”。

而 AI 的加入,又让 SIEM 从:

“规则驱动”

走向:

“智能理解”。

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

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

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。