2026 OpenClaw Gateway 安全加固 回环绑定 · Token · dmPolicy / networkPolicy

已经把 OpenClaw Gateway 跑起来的工程师在 2026 年最常跳过的,不是「装得上」,而是监听面、身份白名单与出站策略是否按生产收敛。本文给出一套可放进变更工单的 checklist:先用127.0.0.1 绑定 + 反代/Tunnel拆掉裸奔管理面,再用 Token 轮换、dmPolicy、networkPolicy 与执行审批把 SSRF、越权会话与「一句话让 Agent 跑 rm」分开治理;并说明与站内 systemd / Docker / 观测篇的分工。读完你会拿到对照表、六步落地顺序,以及 config:validatedoctor 的标准用法。

01

一分钟威胁模型:默认 Gateway 上最先该改的 3 件事是什么

OpenClaw 的价值在于把模型与会话编排到可常驻的 Gateway;风险也集中在这里——它同时握着凭证、工具调用与出站网络。若安装教程只关心「能连上控制台」,却把监听地址、Token 与策略块留成默认,你得到的是带推理能力的远程执行入口,而不是「内网助手」。本文与站内《Linux systemd + Tunnel》《Docker Compose 生产》《跨平台安装》《生产观测》互补:那些篇负责怎么起进程与看日志,本篇负责怎么把暴露面与权限收敛到可审计状态

下面六条是安全评审里最常见的缺口:它们不是否定 OpenClaw,而是帮你判断什么时候必须把配置从「开发态」切到「生产态」。若任意两条在两周内被触发(扫描、误拨号、越权会话、异常出站),就应冻结功能迭代,先做加固。

  1. 01

    监听面过宽:绑定 0.0.0.0 或等价「全网卡开放」时,管理 API 与调试端口会直接暴露在扫描器视野里。

  2. 02

    Token 长期静态:网关 Token 与聊天入口令牌混放、明文躺在仓库或同步盘,泄露后攻击路径极短。

  3. 03

    身份面无界:未配置 dmPolicy allowlist 时,任意新会话可能被默认策略接进来,审计无法回答「谁在何时接入了哪个 Agent」。

  4. 04

    出站默认过宽:未启用 networkPolicy / egress 白名单时,提示注入或恶意技能可能把内网 metadata 或密钥通道扫出去。

  5. 05

    执行面无审批:高危 shell 与文件系统操作缺少人审或二次确认,一次误提示即可造成不可逆破坏。

  6. 06

    变更不可追溯:直接手改 JSON、跳过校验与 doctor,回滚时无法 diff 出是哪一把键导致 Gateway 拒绝启动。

把上述条目压成三句行动优先级,就是:先收敛监听 → 再轮换与收纳密钥 → 最后叠加身份、出站与执行策略。顺序反过来常见后果是:Policy 写得很漂亮,但管理面仍能从公网直接打到。

另一个误区是把「Tunnel 已经加密」当成「Gateway 不需要回环绑定」。Tunnel 解决的是链路上的窃听与入口统一,并不自动替你完成进程监听面最小化;理想拓扑是 Gateway 只信任本机回环上的反代或隧道客户端,由外层做 mTLS、WAF 与速率限制。否则一旦隧道进程配置漂移,内层服务仍可能意外暴露。

最后,安全加固不是一次性项目:每次升级 OpenClaw 大版本、换模型供应商或新增 Skill,都要重跑校验与医生诊断,并把差异记在变更单上——这与观测篇里的「升级回滚」流程是同一枚硬币的两面。

02

对照矩阵:开发态 Gateway 与生产态 Gateway 差在哪

评审时把「能跑 demo」与「能扛误操作与扫描」分开打分:前者看连通性,后者看监听、身份、出站、执行、可追溯性五元组。下表给平台与安全干系人一套共同词汇,便于和「装在哪」「谁运维」解耦讨论。

维度开发态(本机 quick start)生产态(可审计常驻)
监听绑定常为便于调试而放宽网卡范围默认 127.0.0.1,由反代/Tunnel 统一入口
凭证管理Token 可能明文或短周期临时Token 轮换、密管存储、最小分发面
会话身份信任局域网或单用户场景dmPolicy allowlist,拒绝未知会话源
出站默认允许访问公网模型与工具networkPolicy + egress 白名单,防 SSRF/数据渗出
高危操作直接执行 shell 以提速执行审批或等效人审闸门,命令审计落盘

生产态 Gateway 的目标不是「功能最多」,而是「在误提示与恶意技能并存时,默认仍安全失败」。

当你的 Agent 还要驱动远程 Mac 上的构建或发布脚本时,Gateway 的安全边界会直接与 CI 凭证、内网 Registry 与供应商 API 相交;这时把出站白名单与执行审批写进 Runbook,比单纯加防火墙规则更能减少连环事故。NodeMini 的远程 Mac 算力适合作为「有签名的执行后端」,但网关侧仍必须先收敛,避免把云 Mac 变成公网任意脚本的跳板。

03

六步落地:从回环绑定到 dmPolicy / networkPolicy 叠加

下列步骤假设你已完成 Gateway 的基础安装并能本地健康检查;具体键名以你当前 OpenClaw 版本的 schema 为准,变更前请备份 openclaw.json。顺序强调先网络监听与 Token,再身份与出站,最后执行审批与验证

  1. 01

    绑定回环:将 Gateway 监听限制在 127.0.0.1(或文档推荐的等效本地套接字),确认没有多余的调试端口从公网可达。

  2. 02

    轮换 Token:使用官方 CLI 生成足够长度的网关 Token,写入密管;禁止把 Token 同步到网盘或截图进 IM。

  3. 03

    配置 dmPolicy:为聊天与会话来源设置 allowlist(用户/会话 ID 维度),默认拒绝未知主体;记录变更工单与责任人。

  4. 04

    收敛 networkPolicy:关闭默认全出站或改为显式 egress_allowlist,覆盖模型 API、必要工具域名与内网 Registry;为远程 Mac 场景单独评审 Apple/Xcode 相关域名需求。

  5. 05

    打开执行审批:对 shell/文件删除等高危能力启用人审或等效二次确认,并把审计日志接入你在观测篇里定义的采集路径。

  6. 06

    校验与演练:依次运行 config:validatedoctor,再做一次「故意用未授权会话拨入」与「故意访问非白名单域名」的红队小演练,确认失败是安全失败而非静默成功。

json5 示意(键名随版本调整)
// 片段:仅表达结构意图,上线前请以 schema 与官方文档为准
{
  "gateway": {
    "bind": "127.0.0.1",
    "auth": { "token": "${ENV_OPENCLAW_GATEWAY_TOKEN}" }
  },
  "dmPolicy": {
    "mode": "allowlist",
    "allowIds": ["U-INTERNAL-1", "U-INTERNAL-2"]
  },
  "networkPolicy": {
    "allow_egress": false,
    "egress_allowlist": ["api.openai.com", "api.anthropic.com"]
  }
}
info

提示:若你使用 systemd 或 Docker 部署,请把环境变量注入与文件挂载方式写进单元/Compose 注释,避免「容器内 Token 明文挂卷」与宿主机权限不一致。

04

doctor、回滚与误配症状:改坏配置时怎么安全撤退

openclaw doctor 的价值在于把「Gateway 起不来」从玄学变成可对照的错误码与缺失键列表;在变更窗口里,应把 doctor 输出粘贴进工单附件,而不是只在聊天里口头描述。对已知历史遗留的无效键,可在评审后使用 doctor --fix 做受控清理,但必须在修复前后各保存一份配置快照,以便秒级回滚。

常见误配症状包括:dmPolicy 过严导致合法用户无法接入(表现为认证通过但会话被拒绝)、networkPolicy 过宽导致安全评审不通过、或过窄导致模型与工具域名间歇性超时。处理原则是先恢复可用性(回滚快照),再缩小变更粒度做金丝雀,而不是在生产上「边猜边改」。若 Gateway 与远程 Mac 执行层联动,还要同时检查 Mac 侧出口与密钥是否仍与新的白名单一致。

审计侧建议保留:Token 轮换记录、dmPolicy/networkPolicy 变更 diff、执行审批触发的日志片段,以及每次大版本升级的 doctor 报告。与观测篇联动时,把 Gateway 进程日志中的拒绝事件与反代访问日志关联,能快速判断是策略问题还是上游 DDoS。

warning

注意:不要为了排错长期关闭执行审批或临时把 allow_egress 改成全局放行;若确需宽放,应设时间盒工单并在窗口结束自动回滚,否则「临时调试」会变成永久后门。

05

可引用实践与和「执行后端」协同时的检查项

下列条目来自公开文档与社区实践,用于帮助你在评审中对齐预期;具体 CLI 子命令与 schema 以你安装的 OpenClaw 版本为准。

  • 本地绑定优先:多数生产拓扑推荐 Gateway 仅监听回环,由反向代理或 Tunnel 提供 TLS 与访问控制;把「谁能打到 18789(或你自定义端口)」限制在反代层更易审计。
  • 出站白名单粒度:实践上常见做法是按「模型供应商 + 必备工具域名 + 内网 artifact/registry」三类拆分;远程 Mac 场景还要预留 Apple/Xcode 相关更新域名是否走代理的策略位。
  • 人机协同闸门:对文件删除、包管理器全局安装、云凭证操作等高危命令保留人审,可以把事故面从「一次提示」收敛到「一次工单」。

把 Gateway 长期暴露在公网、无 Token 或无出站约束地跑工具调用,短期能做出炫酷 demo,但会把 SSRF、凭证窃取与供应链风险同时放大;与把 macOS 构建硬塞进不受支持的虚拟化相比,又会在签名与 Metal 链路上欠技术债。对需要稳定远程 Mac 作为 Agent 执行后端、并想把网络与密钥策略写进合同与 Runbook的团队,在网关侧完成最小暴露面后,再把算力落到可地区化、可磁盘档位化的云 Mac 节点通常更贴近生产。综合安全边界与执行层可控性,NodeMini 的 Mac Mini 云端租赁适合与收敛后的 OpenClaw 拓扑配套:Gateway 管「谁能调用模型与工具」,远程 Mac 管「苹果生态内的可重复构建与发布动作」,两者用白名单与审批链衔接。

FAQ

常见问题

0.0.0.0 会把管理面暴露在所有网卡上,扫描与爆破成本极低。优先绑定 127.0.0.1 并由反代/Tunnel 做 TLS 与访问控制。若同时需要远程 Mac 执行层,可先对照 租赁价格说明 规划节点与出口,再与白名单一起评审。

先跑配置校验(如 openclaw config:validate),再跑 openclaw doctor 对照 schema 与运行态;需要自动清理已知无效键时在变更窗口内使用 doctor --fix 并保留前后快照。

可先浏览 OpenClaw 分类列表帮助中心,再回到本文 checklist 核对监听、Token、dmPolicy 与 networkPolicy 是否都已落地。