OneUptime 安全事件(SIEM)实战:OCSF 归一化、Sigma 检测规则与二级监测体系
OneUptime 安全事件SIEM实战OCSF 归一化、Sigma 检测规则与二级监测体系【免费下载链接】oneuptimeComplete open-source monitoring and observability platform.项目地址: https://gitcode.com/GitHub_Trending/on/oneuptimeOneUptime 将 SIEM 信号作为一等遥测类型管理安全事件与日志、链路、指标共同存储在同一个 ClickHouse 数据湖中并统一归一化为 OCSFOpen Cybersecurity Schema Framework格式——无论事件以何种方言OCSF、Google SecOps UDM、SecOps 告警载荷或任意通用 JSON到达。读完本文你将掌握如何通过 HTTPS 端点接入安全事件、理解归一化后的事件模型、编写基于 Sigma 的检测规则与评估参数以及如何用检测回写Detection Finding构建监测你的检测的第二层安全防线。安全事件的接入端点向 OneUptime 发送安全事件的方式是携带项目的遥测接入密钥telemetry ingestion key通过 HTTPS POST 提交 JSONcurl -X POST https://oneuptime.com/security-events/v1/ingest \ -H Content-Type: application/json \ -H x-oneuptime-token: your telemetry ingestion key \ -d { events: [ { class_uid: 3002, severity_id: 4, time: 1755770400000, message: Failed logon for alice, actor: { user: { name: alice } } } ] }请求体接受三种形态单个对象、裸数组、或{ events: [...] }包装。支持的方言如下format方言说明ocsf原生 OCSF 事件 JSONclass_uid、severity_id等字段udmGoogle SecOps / Chronicle UDMmetadata.event_type等字段google-secops-alertSecOps 检测/告警载荷SOAR webhook、detections 流generic其他一切——按常见字段名尽力映射省略format时系统按事件逐个嗅探方言per-event detection因此同一个 webhook 可以同时混入检测告警与原始事件。方言声明还支持?format...查询参数与x-oneuptime-security-event-format请求头。从源码看该端点定义在 SecurityEventsIngest.ts路由POST /security-events/v1/ingest依次挂接遥测禁用中间件、将请求标记为ProductType.SecurityEvents用于计量计费、复用统一的TelemetryIngest.forSurface(TelemetryIngestSurface.SecurityEvents)鉴权中间件最终交由SecurityEventsIngestService处理。这意味着安全事件与其他遥测共用同一套接入密钥鉴权体系。归一化事件模型一条事件长什么样每条事件都被归一化到一组类型化列外加一个展平的 attributes 映射。归一化的规范形状定义在 NormalizedSecurityEvent.ts 接口中核心维度包括分类ClassificationOCSF 的categoryName/className/activityName例如Identity Access Management/Authentication/Logon附带各自的数字 uid。严重级别SeverityOCSF 级别——Unknown、Informational、Low、Medium、High、Critical、Fatal。主体与目标Actors and targetsprincipalUser、principalHost、principalIp、principalProcess以及targetUser、targetHost、targetIp、targetPort、targetResource。可观察值Observables所有抽取出的实体值用户、主机、IP、域名集中在一个带索引的数组列中——查找提及 X 的所有事件只是一次廉价查询。源码注释指出该列由单个布隆索引bloom-indexed column支撑同时服务于实体邻域图entity-neighborhood graph见 NormalizedSecurityEvent.ts。检测来源Detection provenanceruleId/ruleName以及 MITRE ATTCK 的mitreTactics/mitreTechniques。属性Attributes完整源载荷被展平为点号分隔的键如principal.hostname——任何未映射成功的字段都不会丢失因此保持可查询。此外NormalizedSecurityEvent还携带eventUid源分配的 uid如 OCSFmetadata.uid、UDMmetadata.id缺失时接入侧会派生内容哈希使重复投递仍可去重、statusNameSuccess/Failure/Blocked/Allowed 等活动结果、vendorName/productName与消息摘要。关于 OCSF 分类的映射细节OcsfEventClass.ts 展示了兜底策略当 class uid 未命中精选类表时按floor(class_uid / 1000)推导 category1xxx 系统活动、2xxx Findings、3xxx IAM、4xxx 网络活动、5xxx 发现、6xxx 应用活动推导不出则归入Uncategorized——保证没有 OCSF 对应物的方言也不会被丢弃。类表本身是一个精选子集例如1007 Process Activity、2004 Detection Finding、3002 Authentication、4007 SSH Activity并额外收录了 Windows 扩展的 Registry Key Activity201001因为 Google SecOps UDM 注册表事件在真实环境中很常见。检测规则SigmaSecurity Events → Detection Rules每分钟对事件评估一次 Sigma 规则每条规则的评估间隔可配置。一条命中规则的后果打开一个 OneUptime告警alert——按规则与分组值去重走标准告警严重级别与 on-call 路由可选地打开一个事件incident——默认关闭因为 incident 会驱动 on-call 升级、SLA 与状态页严重级别优先级与 alert 相同规则显式指定的严重级别优先否则将 Sigma level 映射到 incident 严重级别向事件表回写一条Detection Finding事件使检测结果本身成为可搜索的信号。支持的 Sigma 子集是布尔核心部分命名 selection字段映射支持contains/startswith/endswith/re/cidr/gt/lt/all/cased/windash/exists等修饰符以及关键词列表完整条件语法and/or/not、括号、1 of x*、all of them等量词聚合条件| count() ...在保存时直接拒绝而不是被静默忽略字段名可以是 OneUptime 列名principalUser、常见别名CommandLine、src_ip或任意展平源键principal.hostname。这一子集的类型化表示见 SigmaRule.ts条件被解析为条件 ASTselection/and/or/not/of五种节点of节点携带any/all/ 数字量词与可选通配的名称模式每个 selection 至多呈现一种形态——字段映射列表映射间 OR、字段间 AND或裸关键词列表。SigmaLevel枚举为informational/low/medium/high/critical。示例规则title: Possible Brute Force level: high tags: - attack.credential_access - attack.t1110 detection: selection: className: Authentication statusName: Failure filter_internal: principalIp|startswith: 10. condition: selection and not filter_internal该规则对认证失败且来源 IP 不在 10. 内网段的任意单条事件即触发默认阈值 1。评估参数Evaluation settings规则Evaluation步骤控制它何时运行、匹配多少才触发字段作用Evaluation Interval (Minutes)规则运行频率。每次运行扫描自上次运行以来到达的事件。整分钟1–1440。Group By Field可选。将共享同一值如principalHost的匹配折叠为一个 finding——一台嘈杂主机只产生一条告警而不是几百条。计数按分组进行。Distinct Count Field可选。对该字段的不同值计数而不是原始匹配事件数。空值不计入。Match Count Threshold一个评估窗口内分组的计数达到该值才触发。默认1任意匹配即触发。整数1–1000000。凡是并非类型化事件列的名字都会到事件的 attributes 映射中查找——因此groupByField与distinctCountField接受与 Sigma 规则本身相同的字段词汇。基于计数的检测将阈值设为大于1即可在规则本身表达同一来源、同一窗口内出现 N 次——无需再叠加 monitor。上面的规则在单次登录失败时就触发若要改为同一来源 5 次失败Evaluation Interval (Minutes)10Group By FieldprincipalIpDistinct Count Field留空Match Count Threshold5加上Distinct Count Field则改变阈值计数的对象按principalIp分组、对principalUser做去重计数、阈值5表达的正是密码喷洒password spraying——同一个源对五个不同账户登录失败——而不是同一个账户被暴破五次。窗口是滑动落桶tumbling不是滚动rolling每次运行只统计自上次运行以来到达的事件然后推进游标窗口不重叠。间隔10、阈值5时09:58 的三次失败与 10:01 的两次失败落在不同窗口什么都不会触发。请据此设计阈值而不是设成恰好关心的最小值。此外worker 停机后或重新启用被禁用的规则时下一个窗口会覆盖整个空档期上限 24 小时——10 分钟内 5 次的规则可能短暂表现为自上次运行以来 5 次。Monitors滚动窗口与状态机Security Eventsmonitor 类型在滚动窗口内统计匹配事件按 severity、class、message、attributes、来源 service 过滤驱动标准条件机制——变更 monitor 状态、打开 alert 或 incident、路由到 on-call。Security Events → Monitors列出该类型的全部 monitor。检测规则与 monitor 的重叠多于表面所见但二者并非同一功能的两种口味规则匹配 Sigma 模式配合Match Count Threshold可以要求同一分组在一个 tumbling 窗口内出现 N 次才触发。它没有unmatch概念因此产物是 finding 与 alert——永远不产生状态status。monitor重读滚动窗口回答现在有多少。它没有 group-by能数任何地方的五次认证失败但无法表达来自同一来源 IP 的五次——而计数回落到阈值之下正是它能宣告风平浪静的机制。实践建议用规则阈值表达检测本身当你真正需要滚动窗口、monitor 状态、状态页曝光或按条件绑定的 on-call 策略时再上 monitor。监测你的检测Watching your detections每次规则命中都会回写事件表成为一条Detection Finding事件OCSF class 2004归属于名为OneUptime Detections的遥测 service。finding 携带规则名与 id、MITRE ATTCK 标签、observables中的匹配分组值以及这些属性属性值oneuptime.detection.rule_id触发规则的 idoneuptime.detection.rule_name规则名称oneuptime.detection.match_count该 finding 背后的事件数oneuptime.detection.distinct_count设置了 Distinct Count Field 的规则背后不同值数oneuptime.detection.group_value规则设置了 Group By 时的分组值oneuptime.detection.sigma_idSigma 规则自身的id:字段因为 finding 就是普通安全事件Security Events monitor可以监视它们——这便把两个特性组合成第二层检测检测风暴Detection storms。对Detection Finding类事件建 monitor统计全部 findings。一小时内二十条不同规则齐鸣是任何单条规则都看不到的信号——每条规则只知道自己命中的部分。monitor 看到聚合值、变更状态、并可打开 incident。按规则的速率变化。过滤oneuptime.detection.rule_id属性它是不可变的——过滤rule_name会在规则改名后静默失配。周频规则突然一小时触发五十次是需要不同响应的事件。检测管道静默Detection pipeline silence。平时总能看到几条 finding突然归零通常意味着转发器坏了而不是网络太平。用计数低于阈值条件表达它。通往第二层检测的最快路径是Security Events → Detection Rules上的Create Monitor行操作它打开 monitor 创建页并预填Detection Finding类与对该规则 id 的过滤永不按名字过滤——finding 携带规则的当前名字改名会静默孤立按名字过滤的 monitor。注意此类 monitor 统计的是findings而非背后的事件。带 Group By 的规则每次运行每个分组只写一条 finding因此它度量的是检测速率。若要先凑够 N 个事件才产生检测请在规则本身上用Match Count Threshold。威胁情报Security Events → Threat Intel订阅 STIX/TAXII 2.1 feed指标indicator在接入时以threat.*属性富化入站事件Sigma 规则与 monitor 可直接过滤无需新语法定时匹配器将近期事件与活跃指标做 join——命中时写 finding 并打开去重后的 alert行为与检测规则完全一致。详见 threat intelligence guide。保留与计费安全事件按接入的 GB 计量计费与其他遥测相同并遵循同一套保留配置项目默认值、按 service 覆盖以及专门的securityEvents保留支柱。行在保留期到期后由 ClickHouse TTL 删除。托管连接器Managed connectors除接入端点外Security Events → Connections可以直接轮询安全产品。一个 connection 保存产品的非机密设置与一个加密凭证后台 worker 按你设置的间隔轮询把新记录作为归一化安全事件导入并按源产品自身的记录标识去重。所有托管连接器都按源记录创建时间轮询而不是按底层活动时间。一条每小时运行的 SIEM 规则其检测结果远晚于所匹配的事件才产生——若按事件时间前移轮询器会跳过它们按创建时间前移则不会。首次轮询回看 24 小时使新 connection 立即可见近期记录Test connection从 API 直接执行、不经过 worker因此可以判断问题是否出在 OneUptime 自身的 worker 或调度器上。连接器导入内容Google SecOps (Chronicle)规则检测、策展检测与告警作为 Detection FindingsMicrosoft SentinelIncidents作为 Incident FindingsMicrosoft Defender XDRAlerts作为 Detection FindingsCrowdStrike FalconAlerts作为 Detection FindingsSplunk Enterprise SecurityNotable events或任意搜索作为 Detection FindingsElastic SecurityDetection alerts作为 Detection FindingsAWS Security HubFindings作为 Detection 与 Compliance FindingsOkta System Log认证、MFA、账户与策略事件作为身份事件各连接器的配置细节见 Google SecOps 集成指南等集成文档connection 的持久化模型见 SecurityEventConnection.ts 与 SecurityEventConnectionRun.ts检测规则模型见 DetectionRule.ts威胁情报 feed 模型见 ThreatIntelFeed.ts。【免费下载链接】oneuptimeComplete open-source monitoring and observability platform.项目地址: https://gitcode.com/GitHub_Trending/on/oneuptime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

CANN ge SIG 深度解析:昇腾图编译器与图执行引擎的架构、仓库治理与社区运作

CANN ge SIG 深度解析:昇腾图编译器与图执行引擎的架构、仓库治理与社区运作

CANN ge SIG 深度解析:昇腾图编译器与图执行引擎的架构、仓库治理与社区运作 【免费下载链接】community 本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息 项目地址: https://gitcode.com/cann/c…

2026/9/20 2:03:03 阅读更多 →
如何用VimWiki构建标签分类体系:Tags完全指南

如何用VimWiki构建标签分类体系:Tags完全指南

如何用VimWiki构建标签分类体系:Tags完全指南 【免费下载链接】vimwiki Personal Wiki for Vim 项目地址: https://gitcode.com/GitHub_Trending/vi/vimwiki VimWiki 是一款运行在 Vim 里的个人 Wiki 插件,除了双向链接和日记外,它的 …

2026/9/20 2:02:50 阅读更多 →
AutoRAG 集成 Chroma 向量数据库实战指南:四种客户端模式、YAML 配置与检索节点调用

AutoRAG 集成 Chroma 向量数据库实战指南:四种客户端模式、YAML 配置与检索节点调用

AutoRAG 集成 Chroma 向量数据库实战指南:四种客户端模式、YAML 配置与检索节点调用 【免费下载链接】AutoRAG AutoRAG: Now your agent can find anything in your computer. It gets smarter if you are using it frequently. 项目地址: https://gitcode.com/Gi…

2026/9/18 23:15:05 阅读更多 →

最新新闻

x64dbg 插件开发指南:GuiReferenceSetSearchStartCol 设置 Reference 视图搜索起始列

x64dbg 插件开发指南:GuiReferenceSetSearchStartCol 设置 Reference 视图搜索起始列

逆向工程调试器开发工具应用安全 【免费下载链接】x64dbg An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis. 项目地址: https://gitcode.com/gh_mirrors/x6/x64dbg 点击查看 免费下载 导读 GuiReference…

2026/9/20 2:02:37 阅读更多 →
Typora安装教程:数学公式与Mermaid流程图实战

Typora安装教程:数学公式与Mermaid流程图实战

Typora 这个编辑器我用了好几年,Markdown 写作、LaTeX 数学公式、Mermaid 流程图,这三个需求基本被它一个工具全包了。每次有朋友问我在 Windows 或者 Mac 上装哪个 Markdown 工具,我几乎条件反射推荐 Typora,因为它把“所见即所得…

2026/9/20 2:02:37 阅读更多 →
OneUptime 状态页品牌定制与自定义域名接入完整指南

OneUptime 状态页品牌定制与自定义域名接入完整指南

可观测性后端运维前端云原生微服务AI Agent 【免费下载链接】oneuptime Complete open-source monitoring and observability platform. 项目地址: https://gitcode.com/GitHub_Trending/on/oneuptime 点击查看 免费下载 状态页(Status Page&#xff09…

2026/9/20 2:02:37 阅读更多 →
DeepSeek V4 Pro 的 Agent 模式总不生效,TaoToken 通道里 max_effort 要开吗?

DeepSeek V4 Pro 的 Agent 模式总不生效,TaoToken 通道里 max_effort 要开吗?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 2:02:37 阅读更多 →
compaction failed?TaoToken 这样改 OpenClaw 模型通道

compaction failed?TaoToken 这样改 OpenClaw 模型通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 2:02:37 阅读更多 →
VS Code 中 opencode AI 代理插件安装配置与使用指南

VS Code 中 opencode AI 代理插件安装配置与使用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 2:01:37 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →