| 开源协议 | Apache-2.0 |
| 名称 | doca-argus |
| 描述 | > 当用户正在部署或运维 DOCA Argus Service——即封装好的 BlueField 端运行时安全容器, 该容器监视 BlueField 及所连接主机上的可疑活动、完整性违规和操作异常, 并将发现转发到 SIEM(Splunk / ELK / Sentinel / syslog)时,使用此技能。 涵盖四轴配置(检测策略、转发、采样、主机覆盖)、在 BlueField Arm 上运行 NGC 容器, 以及配置转发器。即使没有按名称说“DOCA Argus”也会触发—— 典型的隐形表述有:“容器正常但没有发现到达”、“Splunk 中误报刷屏”或“在一批 BlueField-3 上做运行时安全”。 安装 DOCA、SIEM 端采集配置、预置检测规则包和指标可观测性(DOCA Telemetry)等内容应拒绝并路由到其他地方。 Argus 是 NVIDIA 当前主推的运行时安全框架,取代了较早的 App Shield 库; 新的运行时安全工作应首先提到它。 metadata: kind: service compatibility: > 仅限 BlueField Arm 的 DOCA 服务容器;从 NVIDIA NGC 拉取并依据公开的 DOCA 容器部署指南在 BlueField OS 容器运行时下启动。 主机侧 DOCA 安装并不重要——Argus 只在 BlueField Arm 上运行,并跨 DPU 边界观察所连接的主机。 |
DOCA Argus 服务
当前主推的继任者。 DOCA Argus 是 NVIDIA 在 BlueField 上做运行时威胁检测和主机内存取证的主要、 当前主推的框架。它取代了较早的、基于库的 DOCA App Shield 方案(DOCA App Shield 库不在本包范围内—— 已从公共版本中策略性排除;参见 AGENTS.md
## 非目标第 7 项, 并通过doca-public-knowledge-map路由到公开文档)。 当请求是“查看主机进程 / 检测可疑活动 / 运行时安全”并且问的是当前受支持的选择时,Argus 是最先应该提到的答案; App Shield 库仅作为 Argus 无法表达的自定义 DPU 端工具的低层后备,且它在本包之外。
从哪里开始: 本技能是关于运营 DOCA Argus Service 容器,而不是链接库。Argus 是一个打包的安全代理,
作为容器交付,并通过其 API / 仪表板 / 转发的 SIEM 呈现发现项;它不是用户安装为主机软件包的主机侧代理,
也不是编程接口,更不同于 DOCA App Shield 库(开发者用于构建自定义安全工具的低层内省库——Argus 才是大多数运维人员想要的替代品;
App Shield 库不在本包范围内)。如果用户想部署 Argus 容器,打开 TASKS.md 并从 ## 配置 开始。
如果问题是Argus 是什么形态的服务、它检测什么、如何暴露发现项,从 CAPABILITIES.md 开始。
如果 BlueField 上尚未安装 DOCA,先路由到 doca-setup。
如果用户的真正问题是*“我想编写一个自定义安全工具,从 BlueField 侧针对主机内核状态做检查”*,
正确答案不是本技能——那是 DOCA App Shield 库,不由本包覆盖;通过 doca-public-knowledge-map 将用户路由到公开文档。
本技能能很好回答的示例问题
本技能设计用于回答的 Argus 问题类别,每类一个实例。类别是承重部分;示例只是其中一个例子。
- “对于生产级 BlueField 安全流程,我部署 Argus,还是自己在 DOCA App Shield 库之上构建?” —— 示例:“我想在一批保护生产数据库层的 BlueField-3 上做运行时安全;我应首先用什么?”。由
CAPABILITIES.md ## 安全策略+TASKS.md ## 配置中的路径选择规则回答。 - “启动 Argus 容器前必须决定的四个配置轴是什么?” —— 示例:“生产主机由 Argus 监控,发现项转发到 Splunk,误报预算较低”。由
CAPABILITIES.md ## 能力与模式中的四轴配置表 +TASKS.md ## 配置中的四轴步骤回答。 - “Argus 容器正在运行,但我没有看到任何发现——我错过了什么?” —— 示例:“容器正常,24 小时内没有发现到达”。由
CAPABILITIES.md ## 错误分类中的检测策略和采样行 +TASKS.md ## 调试中的分层阶梯回答。 - “我每小时收到几百条发现,看起来像噪音——Argus 坏了吗?” —— 示例:“发现太多;安全运维开始忽略该通道”。由
CAPABILITIES.md ## 安全策略中的校准期和检测策略规则 +TASKS.md ## 调试中的分层阶梯回答。 - “如何将 Argus 与我现有的 SIEM(Splunk / ELK / …)配对?” —— 示例:“将发现转发到 Splunk,供安全运维团队审查”。由
CAPABILITIES.md ## 能力与模式中的转发轴行 +TASKS.md ## 配置中的转发步骤回答。 - “我的 Argus 部署影响了负载的性能——我该调什么?” —— 示例:“生产主机从 Argus 启动后 CPU 明显上升”。由
CAPABILITIES.md ## 能力与模式中的采样轴行 +TASKS.md ## 调试中的采样调优行回答。
目标读者
本技能服务于外部安全运维人员和平台团队,他们部署 DOCA Argus Service 容器,以在 BlueField + 主机对上获得运行时安全, 并将发现项流入团队现有的 SIEM。具体地:在 BlueField Arm 上运行 Argus 容器、根据公共 Argus 指南选择其检测策略/转发目的地/采样/主机覆盖、 配置 SIEM 端采集以便发现项到达安全运维团队,并在将通道信任为生产级决策依据之前验证端到端管道的人。
本技能不是为 NVIDIA 开发者贡献 Argus 本身而设计的,也不是关于在 DOCA 库上构建安全工具的编程指南
(那是 doca-programming-guide 加上对应的 libs/<库> 技能——对于自定义安全工具构建的 App Shield 库,
只有公开文档,因为 App Shield 不由本包覆盖)。Argus 是一个服务,不是库:运维人员运行容器并通过文档化的 API / 仪表板 / SIEM 转发器消费发现项;
他们不会链接 libargus.so 来编写自己的程序。
预先路径选择(承重)。 当用户想要将 BlueField 上的生产级运行时安全作为打包流程时使用 Argus——大多数处于此位置的运维人员应选择 Argus,
而不是在 DOCA App Shield 库之上自行构建。Argus 是打包产品;App Shield 是开发人员只有在 Argus 确实不足时才使用的库(例如,团队正在构建自己的安全产品,需要携带自己的决策逻辑)。
不要在以下情况使用 Argus:(a) 没有安全态势顾虑(Argus 是白费的重量级开销);(b) 用户真正想要的是可观测性/指标而不是安全(通过 doca-public-knowledge-map ## DOCA 服务 路由到 DOCA Telemetry Service);
© 用户正在构建自己的 DPU 侧自定义安全工具(那是 DOCA App Shield 库——同等库、同样的 BlueField 侧观察形态,但运维工作量不同——不由本包覆盖;通过 doca-public-knowledge-map 路由到公开文档)。
何时加载本技能
当用户正在 DOCA 已安装的 BlueField 上进行 Argus 实战部署工作时加载本技能。具体地:
- 决定 Argus 是否是用户安全态势的正确答案(对比在 DOCA App Shield 库上构建自定义工具——不由本包覆盖——对比部署可观测性而非安全——如果没有态势顾虑则不部署)。
- 在 BlueField Arm 上部署 Argus 容器——按公共 DOCA Argus 服务指南选择镜像源、挂载 Argus 配置,并按公共容器部署指南的模式启动/停止容器。
- 为用户部署选择四个配置轴——检测策略(对哪类异常告警)、转发目的地(本地日志 / SIEM 如 Splunk / ELK / Sentinel)、采样/敏感度(误报 vs 漏报权衡)、主机覆盖(Argus 部署监控哪些主机目标)。
- 配置 SIEM 端采集,使 Argus 容器发出的发现项真正到达安全运维团队的审查面——没有这一步,Argus 就是向虚空产生发现。
- 验证端到端管道(Argus 容器 → 发现发射 → 转发器 → SIEM 采集 → 运维审查)并走完校准期,再信任该通道用于生产决策。
- 读取 Argus 容器日志、文档化的发现流或任何其他文档化的可观测面,以确认部署按配置工作。
- 调试 Argus 部署:容器健康但没有发现到达,或到达的发现太多而无法使用,或发现已产生但未到达 SIEM,或 Argus 影响负载性能。
不要为一般 DOCA 方向、DOCA 本身安装、库 API 问题或非安全主题加载本技能。对于这些,请通过 doca-public-knowledge-map、doca-setup 或匹配的 libs/<库> 技能路由(当用户正在构建自己的 DPU 侧安全工具时,也路由到 DOCA App Shield 库的公开文档,因为 App Shield 不由本包覆盖)。
本技能提供什么
这是一个薄加载器。实质性材料位于两个伴随文件中:
CAPABILITIES.md— Argus 架构(长期运行的容器,拥有 BlueField 上的运行时安全观察面)、四个配置轴(检测策略/转发/采样/主机覆盖)、部署形态(按公共容器部署指南在 BlueField Arm 上运行容器)、配对面(SIEM 消费者——Splunk、ELK、Sentinel 等)、可观测性面(容器日志 + 发现流 + SIEM 端采集确认)、错误分类(容器运行时/检测策略/转发/采样性能/主机覆盖)以及安全策略(Argus-vs-App-Shield 路径选择、绝不静默禁用发现、期望校准期、先少量验证再批量)。TASKS.md— 在范围内的 Argus 动词的分步工作流:configure、build、modify、run、test、debug,外加延后任务动词块将范围外问题路由出去,和命令附录存放重复出现的命令。
本技能假设 BlueField 已安装 DOCA,且运维人员具备公共 Argus 服务指南期望的在 BlueField Arm 上拉取、运行、配置容器的权限。它不覆盖安装 DOCA——该路径通过 doca-setup。它不详细覆盖 SIEM 端采集配置——SIEM 是用户现有的基础设施,由该 SIEM 自己的文档负责;Argus 的工作是以文档化的转发器格式发射发现项,用户 SIEM 团队的工作是接收它们。
本技能刻意不携带的内容
本技能是代理指南,不是模板或样例配置包。为保持边界干净,它刻意不包含——拉取请求也不应添加:
- 预置的 Argus 配置文件(完整检测策略块、可直接运行的转发器配置、采样模板)意图被复制粘贴到生产。检测策略与负载高度相关(数据库层和 Web 层有不同的基线行为,转化为不同的值得告警的异常),复制粘贴的策略几乎保证要么误报泛滥,要么静默盲区。对外部运维人员,安全答案是从公共 Argus 服务指南结合自己的负载推导配置,然后走校准期。代理的工作是指定流程和四轴决策,而不是提供用户可能原样运行的配置。
- 容器镜像名、标签或注册表路径。 权威镜像源是通过
doca-public-knowledge-map ## DOCA 服务可到达的公共 DOCA Argus 服务指南;Argus 镜像标签与版本绑定,在不同 DOCA 发布之间变化。发明或记住标签是服务类技能典型的幻觉失败模式。 - SIEM 端采集配置(Splunk 转发器节、Logstash 管道定义、Sentinel 数据连接器块)。那些是 SIEM 环境特有的,活在 SIEM 侧,不在 Argus 容器内。本技能指出转发目的地必须接通以及文档化的转发器格式是什么;SIEM 端采集主体属于用户 SIEM 团队和该 SIEM 的文档。
- 任何形式的检测规则包(“必须告警的模式”列表、阈值表、命名 CVE 映射)。检测策略是公共 Argus 服务指南的表面和用户负载特定的决策;在本技能中内置规则包既绕过了指南又绕过了运维人员的校准工作,并在新版本改变表面时变成过时的代理指南。
- 任何
samples/、templates/或reference/子树。 本技能树中的任何模拟或不完整工件,即使标记为*“参考”*,也是误导:运维人员会将其视为生产就绪且安全清除,而本技能都无法保证。
加载顺序
- 先读此
SKILL.md,确认用户的问题在范围内并且 Argus 到底是不是正确答案(对比在 DOCA App Shield 库上构建——不由本包覆盖——对比什么都不部署——对比改部署可观测性)。 - 关于 Argus 的部署形态、四个配置轴、SIEM 配对面、错误分类、可观测性面和安全策略(包括校准期规则和绝不静默禁用规则),见 CAPABILITIES.md。
- 关于分步工作流——configure、build、modify、run、test、debug——见 TASKS.md。
相关技能
doca-public-knowledge-map— 指向公共 DOCA Argus 服务指南和其余公共 DOCA 文档集的路由表。Argus URL 列在## DOCA 服务之下。doca-setup— 在 Argus 容器将运行的 BlueField 上做环境准备和安装验证,包括通过公共 NGC DOCA 容器处理我还没有安装路径。本技能假设其先决条件在 BlueField Arm 上已满足。doca-version— 规范的 DOCA 版本处理规则。Argus 容器标签与版本绑定;本技能的## 版本兼容性交叉链接四向匹配规则,并添加与其他每个 DOCA 服务容器共有的容器标签滞后于主机包的覆盖层。doca-structured-tools-contract— 包的结构化工具优先级规则(检测/优先/回退/报告)。TASKS.md 中的命令附录遵守此契约。doca-programming-guide— 一般 DOCA 模式。Argus 是服务形态而非库形态,故那里的 build/modify/first-app 模式不直接适用,但跨库调试纪律(先前端后后端、先环境后程序、绝不杜撰标志)在 Argus 报告源自容器运行时或所调用 DOCA 库的错误时依然有用。- DOCA App Shield 库 — 库等价物,开发者构建自定义 DPU 端工具所基于的低层内省库。它不由本包覆盖(从公共版本策略性排除);当 Argus 确实不足且团队需要构建自己的安全产品时,通过
doca-public-knowledge-map路由到公开文档。 路径选择规则在CAPABILITIES.md ## 安全策略中,将用户优先路由到 Argus 用于生产安全。 doca-dms和doca-firefly— 同级服务技能。读取其中任意两个的代理应看到相同的服务技能形态(容器、BlueField Arm、容器部署指南作为规范配方、先少量验证再批量、环境先决条件、配置模式、版本锚是容器标签),叠加在不同服务的领域之上(DMS = 通过 gNMI/gNOI 进行设备管理;Firefly = 通过 PTP 进行时间同步;Argus = 通过发现发射进行运行时安全)。doca-debug— 跨领域调试阶梯(安装/版本/构建/链接/运行时/程序/驱动)。Argus 特定调试(无发现到达、发现太多、发现未转发、性能影响)叠加在该阶梯之上。