选择暴露模式
优先选择能够满足工作流的最小范围模式。
避免将公共端口直接转发到 Gateway 网关。如果必须提供公共访问,请在其前端部署感知身份的代理,并使该代理成为访问 Gateway 网关的唯一网络路径。
预检清单
更改绑定、代理、Tailscale 或渠道策略前,请记录以下信息:- Gateway 网关主机、操作系统用户和状态目录(默认为
~/.openclaw)。 - Gateway 网关 URL 和绑定模式(
gateway.bind;默认端口为18789)。 - 身份验证模式、令牌/密码来源或受信任代理身份来源。
- 所有已启用的渠道,以及它们是否接受私信、群组消息或 Webhooks。
- 非本地发送者可以访问的智能体。
- 每个可访问智能体的工具配置文件、沙箱模式和提升权限工具策略。
- 这些智能体可用的外部凭据。
~/.openclaw/openclaw.json和凭据的备份位置。
基线检查
开放访问前运行:checkId 的含义及其修复键,请参阅安全审计检查。
进行远程 CLI 验证时,请显式传递凭据:
最低安全基线
将以下配置作为暴露部署的起点:tools.exec.security: "deny" 会阻止所有 Exec 调用,包括无害的诊断。如果需要诊断或低风险命令,只有在选择了符合你的威胁模型的特定发送者、智能体、命令和审批模式后,才可放宽此限制。
私信和群组暴露
消息渠道是不受信任的输入表面。允许私信或群组消息前:- 优先使用
dmPolicy: "pairing"或严格的allowFrom列表,而非dmPolicy: "open"。 - 不要将
"*"允许列表与宽泛的工具访问权限结合使用。 - 除非聊天室受到严格控制,否则要求在群组中提及机器人。
- 当多人可以向机器人发送私信时,请设置
session.dmScope: "per-channel-peer"(多账户渠道则设置"per-account-channel-peer"),以免私信会话共享上下文。 - 将共享渠道路由至仅拥有最低限度工具且不具备个人凭据的智能体。
反向代理检查
对于感知身份的代理:- 代理必须先对用户进行身份验证,然后才能将请求转发到 Gateway 网关。
- 防火墙或网络策略必须阻止直接访问 Gateway 网关端口。
gateway.trustedProxies必须仅列出代理的源 IP。- 代理必须剥离或覆盖客户端提供的身份标头和转发标头。
- 当代理服务多个受众时,请设置
gateway.auth.trustedProxy.allowUsers。 - 仅当代理与 Gateway 网关位于同一主机、信任本地进程且代理控制身份标头时,才可使用
gateway.auth.trustedProxy.allowLoopback。
openclaw security audit --deep。受信任代理相关的发现具有很高的参考价值,因为代理将成为身份验证边界。
工具和沙箱审查
向远程发送者暴露智能体前:- 确认哪些会话在主机上运行,哪些会话在沙箱中运行。
- 拒绝主机 Exec 或要求对其进行审批。
- 除非特定的受信任发送者需要提升权限工具,否则应保持其禁用状态。
- 对于开放或半开放的消息表面,应避免提供浏览器、canvas、节点、定时任务、Gateway 网关和会话生成工具。
- 严格限制绑定挂载的范围;避免挂载凭据、主目录、Docker 套接字和系统路径。
- 对于信任边界存在实质差异的场景,请使用不同的 Gateway 网关、操作系统用户或主机。
更改后验证
每次更改暴露方式后:- 重新运行
openclaw security audit --deep。 - 确认经过授权的连接可以成功建立。
- 确认未经授权的发送者或浏览器会话被拒绝。
- 确认日志会隐去机密信息。
- 确认私信/群组路由仅到达预期的智能体。
- 确认高影响工具会请求审批或被拒绝。
- 记录已接受的剩余警告。
回滚计划
如果 Gateway 网关可能暴露过度:- 停止公共转发、Tailscale Funnel 或反向代理路由。
- 轮换 Gateway 网关令牌/密码以及受影响的集成凭据。
- 从允许列表中移除
"*"和意外出现的发送者。 - 审查近期审计日志、运行历史记录、工具调用和配置更改。
- 重新运行
openclaw security audit --deep。 - 使用能够满足工作流的最小范围模式重新启用访问。
审查检查清单
- 除非有已记录的理由,否则 Gateway 网关保持仅限 local loopback。
- 非 local loopback 访问具有身份验证和防火墙保护,且不存在直接公共访问路径。
- 受信任代理部署使用严格的代理 IP 和标头控制。
- 私信默认使用配对或允许列表,而不是开放访问。
- 群组要求提及机器人或使用明确的允许列表。
- 共享渠道无法访问个人凭据。
- 非主会话在沙箱模式下运行。
- 主机 Exec 和提升权限工具被拒绝或受审批控制。
- 日志会隐去机密信息。
- 严重审计发现已解决。
- 回滚步骤已经过测试并记录。