我们构建了一套通过全系统横向日志关联来检测单一系统内不可见攻击的机制 #
防火墙端口扫描、VPN 认证失败、应用程序登录尝试。每个单独事件的严重程度都很低。但当同一个 IP 同时出现在这 3 个层级时,这就不是偶然——而是一场攻击活动。我们在 BASTION 中实现了多层关联引擎,并在实际攻击中验证了跨层攻击活动检测能力。
单设备监控存在结构性盲区 #
迄今为止,BASTION 一直是针对每台设备分析日志来检测异常。无论是防火墙端口扫描、Web 服务器上的机器人攻击,还是 AD 认证失败——只要任何一台设备超过阈值,我们就会将其阻断。
然而,这种方法无法检测由低于阈值的攻击组合而成的攻击活动。
为了检测这种”单独看不见、跨系统才能看见”的模式,我们在 BASTION 中实现了多层关联引擎。
多层防御架构 #
BASTION 所监控的基础设施由 5 个防御层组成。
| 层级 | 防御对象 | 检测到的事件 |
|---|---|---|
| L1:网络边界 | 防火墙 | 端口扫描、DDoS、畸形数据包 |
| L2:VPN / 远程访问 | VPN 网关 | TLS 错误、认证失败、证书探测 |
| L3:认证基础设施 | AD / LDAP | 登录失败、账户锁定、撞库攻击 |
| L4:应用层 | Web 服务器 / 云应用 | 垃圾机器人、漏洞扫描、登录尝试 |
| L5:终端 | Windows 客户端 | 可疑的 PowerShell 执行、USB 连接、权限提升 |
过去,这 5 个层级是各自独立监控的。多层关联引擎通过将同一个 IP 关联起来,对所有层级进行横向追踪。
痕迹积累与关联 #
多层关联引擎的核心,是一套在各层级之间积累攻击源 IP”痕迹”的机制。
Periodic analysis every 15 minutes → Extract IPs from logs of each layer → Record to trace registry "when, in which layer, what was detected" → Auto-detect IPs appearing in multiple layers → If threshold exceeded, judge as campaign → Auto-block
即使各个层级单独看严重程度较低,随着痕迹在多个层级之间不断积累,关联评分也会上升,一旦被判定为攻击活动即会触发自动阻断。
痕迹会衰减 #
痕迹并非永久存在。若一段时间内没有更新,痕迹会被自动删除。如果攻击者停止扫描,痕迹就会消失,误报风险随之降低。反之,如果痕迹在短时间内跨多个层级重叠,关联评分就会迅速上升,从而触发阻断。这是一种”记得住,但也会忘记”的设计。
实际的攻击活动检测 #
在实现多层关联引擎后不久,针对一次真实攻击,攻击活动检测就被触发了。
多层关联攻击活动检测
攻击源 IP: xx.xxx.156.12
出现的层级(3 层): L1_network, L3_auth, L4_app
事件总数: 120
同一个 IP 在多个防御层中被检测到。
该 IP 表现出以下行为模式。
| 层级 | 检测内容 | 单独判定 |
|---|---|---|
| L1:网络边界 | 被防火墙阻断的访问 | —(属于正常噪声范围) |
| L3:认证基础设施 | 检测到与认证相关的事件 | —(单独看低于阈值) |
| L4:应用层 | 在应用层检测到访问 | —(单独看低于阈值) |
单独任何一层都不会触发高等级判定。但由于同一个 IP 出现在 3 个层级中,多层关联引擎将其判定为攻击活动,并触发了自动阻断。
这为何重要 #
与 Fail2Ban 的根本区别 #
Fail2Ban 是一款出色的工具,但它只能进行单一日志文件的阈值判定。例如”如果 nginx-error.log 中出现 10 次 403,就予以封禁”。这是局限于单台设备单个日志的判定。
多层关联引擎在所有设备日志中追踪同一个 IP 的行为模式。它能从日志上下文中检测出”低频、跨多层”的攻击活动——这是单台设备无法检测到的。
接入设备越多,准确度越高 #
当一台新设备的 syslog 接入 BASTION 时,多层关联就会新增一个”层级”。随着层级增加,同一个 IP 的行为模式会从更多角度被观察到,攻击活动检测的准确度也随之提升。
这是传统监控工具(各设备独立分析)所不具备的特性。使用 BASTION,被监控对象越多,整个系统的防御能力就越强。
“只需指向 syslog”的设计是一项前提条件 #
第 4 篇文章中实现的机制——”只需指向 syslog,AI 就能自动判定设备类型”——同样也是为多层关联所做的接入设计。由于新增设备时无需编辑配置文件或进行设备注册,我们能够在短时间内将客户环境中的所有设备接入 BASTION。便捷的接入方式支撑了多层关联的实用性。
安全设计 #
由于多层关联会触发自动阻断,误报风险管理至关重要。
| 安全机制 | 目的 |
|---|---|
| 痕迹自动衰减 | 没有更新的痕迹会被自动删除,防止基于陈旧痕迹的误判 |
| 白名单匹配 | 私有 IP、公司 IP、DNS 服务器绝不会被阻断 |
| 重复阻断检查 | 已被阻断的 IP 不会被重复阻断 |
| 24 小时自动解除 | 即使发生误阻断,也会在 24 小时内自动恢复 |
| 通过 Slack 即时解除 | 一旦对业务造成影响,可通过 Slack 命令立即解除 |
总结 #
我们在 BASTION 中实现了多层关联引擎,用于跨所有系统日志自动检测攻击活动。即使攻击低于单台设备的阈值,只要同一个 IP 出现在多个防御层中,就会被判定为攻击活动并触发自动阻断。
实现后不久,针对一次真实攻击,跨层攻击活动检测便在 3 个层级上被触发,完成了概念验证。BASTION 正在从”单设备监控工具”进化为”跨系统攻击活动检测引擎”。
BASTION 是一项在封闭环境中实现 AI 安全监控的服务。
将您的整个基础设施接入 BASTION,即可发挥多层关联防御的效力。