第07章 安全模型 —— 配对白名单如何保护你

OpenClaw 跑在你自己服务器上,对外开放吗?谁能访问你的 AI?这就是安全模型要解决的问题。

OpenClaw 默认安全策略:默认拒绝,手动配对允许。本章我们讲解这个设计。

威胁模型

你把 Gateway 暴露在互联网上,可能的威胁:

  1. 陌生人发到你 Gateway 消息 → 想用你的 AI,花你的 API 钱
  2. 未授权访问会话 → 读到你的历史对话,泄露隐私
  3. 恶意调用危险工具 → 比如 bash -c rm -rf /
  4. 随机扫描端口 → 尝试闯入

OpenClaw 安全模型就是针对这些威胁。

核心设计:配对白名单

OpenClaw 用 配对白名单 模型:

谁能访问 → 你手动配对允许 → 进白名单 → 才能访问
不在白名单 → 直接拒绝 → 不会处理

就是这么简单。

哪里配对手

不同渠道配对方式不同:

  • Discord/Slack/Telegram:机器人只回应你配对允许的用户/服务器
  • 群组:可以允许整个群组,或者只允许群组里某些用户
  • DM:只允许配对的用户发 DM

配置示例

配对白名单配置写在你的主配置文件 ~/.openclaw/openclaw.json 的 channels 下:

{
  channels: {
    discord: {
      token: "bot-token",
      pairing: {
        allowUsers: ["your-user-id"], // 只允许这些用户
        allowGuilds: ["your-guild-id"], // 允许这个服务器
      },
    },
  },
}

默认安全策略

OpenClaw 默认:

项目默认策略
端口绑定127.0.0.1 → 只本地能访问
新用户默认拒绝
  • 工具调用 sessions_spawn | HTTP API 默认拒绝 |
  • 敏感工具 | 需要显式允许 |

开箱安全,你不用配也安全。

为什么默认拒绝

如果你不开白名单,谁也用不了,就算你忘记关端口,扫描到了也没用。

“默认拒绝” 比 “默认允许” 安全。就算漏配置,也不会爆。

远程访问安全

你想要远程访问(比如在外边也能用家里 Gateway),推荐做法:

方法 1:SSH 隧道

ssh -N -L 18789:localhost:18789 your-server

只有 SSH 认证通过才能连上,安全。

方法 2:Tailscale

Tailscale 组网,你的设备都在 Tailnet 里,外部看不到,安全。

不推荐:直接绑 0.0.0.0 暴露到公网

你要是直接绑 0.0.0.0:18789 暴露公网:

  • 任何人只要知道 IP 就能连
  • 就算有白名单,也没必要暴露
  • 真要暴露,放 Nginx 后面加认证

工具权限安全

除了访问控制,工具也有权限:

sessions_spawn 权限

HTTP API 默认禁止 sessions_spawn,防止未认证调用 spawn 子任务。你要是 API 需要,显式打开,配置写在你的主配置文件 ~/.openclaw/openclaw.json 的 gateway.tools 下:

{
  gateway: {
    tools: {
      allow: ["sessions_spawn"],
    },
  },
}

敏感工具权限

像 exec、bash 这些危险工具,默认配置也要小心:

  • 只给信任的 agent 开
  • 不要给未认证用户开

数据安全

  • 所有对话存在你本地磁盘,OpenClaw 不收集
  • API 密钥只存在你本地,不会传给第三方
  • AI 模型 API 调用是你自己密钥,走你自己网络

最佳实践

  1. 保持默认:端口绑 127.0.0.1,远程用 SSH 隧道/Tailscale
  2. 最小权限:只允许你自己用户,不要开放整个群组
  3. 定期检查:看看白名单,把不用的去掉
  4. 不要:直接绑 0.0.0.0 暴露公网,不要放 CDN 后面不加认证
  5. 更新:关注 OpenClaw 安全更新

本章小结

  • OpenClaw 安全模型:默认拒绝,配对白名单
  • 不在白名单直接拒绝,根本不处理
  • 开箱安全,默认配置就是安全的
  • 远程访问推荐 SSH 隧道或者 Tailscale,不推荐直接暴露公网
  • 工具权限也要最小化,敏感工具小心开


相关内容

如果这篇文章对你有帮助,欢迎请我喝杯咖啡 ☕
Cygnus Yang 支付宝支付宝
Cygnus Yang 微信微信