3. 事件检测与初步分析:日志收集、SIEM工具介绍、告警分类、误报处理

好,咱们进入正题。事件检测,说白了就是回答三个问题:「发生了什么?」「严重吗?」「该不该管?」。我见过太多团队,日志堆成山,告警响不停,但真到出事了,反而找不到关键线索。这一章,咱们就把检测环节的底裤扒干净。

3.1 日志收集:你的「眼睛」和「耳朵」

没有日志,安全分析就是盲人摸象。我个人的习惯是,先搞清楚「要收什么」,再想「怎么收」。

3.1.1 必须收集的日志类型

你想想看,攻击者进来总要留下痕迹。这些痕迹藏在哪?

  • 系统日志:Windows Event Log、Linux syslog。重点关注登录、权限变更、服务启停。
  • 应用日志:Web服务器(Nginx/Apache)、数据库(MySQL/Oracle)、中间件(Tomcat/WebLogic)。
  • 网络设备日志:防火墙、路由器、交换机。连接记录、ACL命中、VPN拨入。
  • 安全设备日志:IDS/IPS、WAF、EDR、杀毒软件。这是告警的「富矿」。
  • 云平台日志:AWS CloudTrail、Azure Activity Log、阿里云ActionTrail。云上操作全记录。
我的经验:别贪多。我曾经接手过一个项目,客户把DHCP的IP分配日志都收了,一天几个TB。后来我建议只保留「认证成功/失败」和「特权操作」两类,存储成本降了70%,分析效率反而高了。

3.1.2 日志收集架构

常见的就两种:Agent模式和Agentless模式。

模式 优点 缺点 适用场景
Agent(如Filebeat、Winlogbeat) 灵活、支持解析、低延迟 需部署维护、占用客户端资源 服务器、容器环境
Agentless(如Syslog、SNMP Trap) 无需安装、对业务无侵入 格式单一、易丢包、安全风险 网络设备、老旧系统

我个人更倾向混合使用。服务器上装Agent,网络设备走Syslog。嗯,这里要注意:Syslog默认走UDP,容易丢包。我曾经因为这个问题,排查了三天才发现是网络拥塞导致日志丢失。后来全部改成了TCP或RELP协议。

3.2 SIEM工具介绍:你的「大脑」

日志收上来了,堆在一起就是垃圾。你需要一个SIEM(安全信息和事件管理)来帮你看。说白了,SIEM就是把日志变成情报的工具。

3.2.1 主流SIEM工具对比

工具 类型 核心优势 我踩过的坑
Splunk 商业 搜索快、可视化强、生态好 贵!许可证按数据量计费,一不小心就超预算
ELK Stack 开源 灵活、可定制、社区活跃 运维成本高,ES集群调优是个技术活
IBM QRadar 商业 内置规则多、关联分析强 部署笨重,升级一次要半天
Wazuh 开源 免费、集成EDR功能、合规基线 性能一般,大规模场景需分布式部署
我的建议:预算充足选Splunk,想省钱选ELK+Wazuh组合。别迷信「大而全」,够用就好。

3.2.2 SIEM核心能力

一个合格的SIEM,至少要有这四板斧:

  1. 日志归一化:把不同格式的日志(JSON、Syslog、Windows Event)转成统一字段。比如「登录失败」,在Windows里是EventID 4625,在Linux里是sshd的Failed password。SIEM得能识别。
  2. 关联分析:把看似无关的事件串起来。比如「用户A在10秒内从北京登录,又在上海登录」——这明显是账号被盗。
  3. 告警生成:命中规则就发告警。支持邮件、短信、Webhook。
  4. 仪表盘:可视化展示。我习惯把「实时攻击地图」「Top 10告警源」「未处理告警数」放在首页。

3.3 告警分类:别让告警淹死你

告警太多,等于没有告警。我见过最夸张的,一天10万条告警,安全团队直接躺平。所以,分类是第一步。

3.3.1 按严重程度分

级别 颜色 定义 响应要求
紧急(Critical) 红色 确认攻击成功,数据已泄露或系统已失陷 立即响应,15分钟内介入
高危(High) 橙色 高度疑似攻击,有明确攻击特征 1小时内分析确认
中危(Medium) 黄色 可疑行为,需进一步调查 24小时内处理
低危(Low) 蓝色 信息性告警,如扫描探测 记录即可,定期回顾
注意:别把「紧急」当白菜卖。我曾经有个客户,把「登录失败超过3次」设成紧急,结果每天几百条,真正的RDP爆破反而被淹没了。分级要合理。

3.3.2 按攻击阶段分(MITRE ATT&CK)

这个我强烈推荐。把告警映射到ATT&CK的战术阶段,一眼就能看出攻击者到哪一步了。

  • 初始访问:钓鱼邮件、漏洞利用、弱口令爆破
  • 执行:PowerShell命令、计划任务、WMI
  • 持久化:注册表启动项、服务安装、SSH密钥
  • 横向移动:RDP连接、SMB共享、PsExec
  • 数据窃取:大量文件读取、压缩、外传

举个例子:你看到一条「用户从内网下载了10GB数据到外网」的告警。如果只看严重程度,可能是高危。但结合ATT&CK,这是数据窃取阶段,说明攻击已经快结束了。你得立刻断网封堵。

3.4 误报处理:别让狼来了

误报是SIEM的「阿喀琉斯之踵」。我做过统计,一个刚上线的SIEM,误报率通常在80%以上。不处理误报,团队迟早会崩溃。

3.4.1 误报的常见原因

  • 规则太宽:比如「任何外部IP访问内网数据库」——但你的运维人员也要远程维护啊。
  • 基线不准:比如「凌晨3点有登录」——但你的备份任务就是凌晨跑的。
  • 白名单缺失:比如「扫描器IP」没加白,结果自己扫自己,告警满天飞。
  • 日志质量差:时间戳不对、字段缺失,导致关联分析出错。
避坑指南:我曾经因为一个误报,半夜被叫起来三次。后来发现是运维同事用跳板机批量更新补丁,触发了「横向移动」规则。从那以后,我养成了一个习惯:任何新规则上线,先观察一周,确认无误再启用告警。

3.4.2 误报处理流程

我总结了一个「三明治」流程:

  1. 确认:先看原始日志,确认是不是误报。别只看SIEM的摘要。
  2. 分类:
    • 真阳性:确认攻击,升级事件响应。
    • 假阳性:误报,进入下一步。
    • 噪音:告警本身没错,但无实际危害(如扫描探测)。
  3. 处置:
    • 假阳性:调整规则(加白名单、缩小范围、修改阈值)。
    • 噪音:降级为信息性告警,或直接静默。

举个例子,一条「用户从非办公地点登录」的告警。你查了日志,发现IP是公司VPN出口。这就是假阳性。怎么办?把VPN出口IP加入白名单,规则就安静了。

3.4.3 误报率指标

我建议团队关注两个指标:

  • 误报率 = 假阳性告警数 / 总告警数。目标:低于30%。
  • 告警有效率 = 真阳性告警数 / 总告警数。目标:高于50%。

如果误报率超过50%,说明你的规则需要大修了。别犹豫,花一周时间做规则优化,比天天看告警强。

3.5 小结

事件检测不是一蹴而就的。日志收集是基础,SIEM是工具,告警分类是方法,误报处理是持续优化的过程。我个人觉得,最核心的是「人」——你得培养团队的分析能力,让他们能分辨「狼来了」和「狼真的来了」。

下一章,咱们聊聊事件确认与定级。到时候我会分享一个真实的勒索软件事件,看看我们是怎么从一堆误报里揪出真凶的。