夜雨聆风学习资料网

ARTICLE · 1164780

Open Claw 安全配置

Open Claw 安全配置
点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!

快速安全审计

1.1 运行安全审计
# 基本审计openclaw security audit# 深度审计(包含实时探测)openclaw security audit --deep# 自动修复常见问题openclaw security audit --fix# JSON 格式输出openclaw security audit --json
1.2 审计检查项目
`security audit --fix` 会自动修复:
- 将开放的群组策略改为允许列表- 恢复 `logging.redactSensitive: "tools"`- 收紧状态/配置/include-file 权限- Windows 上使用 ACL 重置而非 POSIX `chmod`
1.3 主要检查项(高优先级)
检查项
严重性
说明
fs.state_dir.perms_world_writable
critical
其他用户可修改 OpenClaw 全部状态
fs.config.perms_writable
critical
其他用户可修改认证/工具策略/配置
gateway.bind_no_auth
critical
远程绑定无共享密钥
gateway.loopback_no_auth
critical
反向代理环回可能变为未认证
gateway.tailscale_funnel
critical
公网暴露风险
security.exposure.open_groups_with_elevated
critical
开放群组 + 提升工具 = 高风险

硬化基线配置

2.1 基线配置
将以下配置添加到 `~/.openclaw/openclaw.json`:
{gateway: {    mode: "local",    bind: "loopback",    auth: { mode: "token", token: "replace-with-long-random-token" },  },session: {dmScope: "per-channel-peer",  },tools: {profile: "messaging",    deny: ["group:automation", "group:runtime", "group:fs", "sessions_spawn", "sessions_send"],    fs: { workspaceOnly: true },exec: { security: "deny", ask: "always" },elevated: { enabled: false },  },channels: {whatsapp: { dmPolicy: "pairing", groups: { "*": { requireMention: true } } },  },}
2.2 配置说明
配置项
值
说明
gateway.mode
local
仅本地运行
gateway.bind
loopback
仅绑定环回地址
gateway.auth.mode
token
使用令牌认证
gateway.auth.token
长随机字符串
必须替换
session.dmScope
per-channel-peer
DM 按频道/对等体隔离
tools.profile
messaging
消息处理工具配置
tools.deny
拒绝自动化/运行时/文件系统/spawn
禁用高风险工具组
tools.fs.workspaceOnly
true
文件系统仅限工作区
tools.exec.security
deny
拒绝执行(默认)
tools.exec.ask
always
执行前始终询问
tools.elevated.enabled
false
禁用提升工具
channels.*.dmPolicy
pairing
需要配对才能 DM
channels.*.groups.*.requireMention
true
群组需要 @ 提及

DM 访问控制

3.1 DM 策略模式
模式
说明
适用场景
open
允许任何人 DM
仅测试环境
pairing
需要配对才能 DM
推荐
allowlist
仅允许列表中的用户
高安全要求
3.2 配置示例
{channels: {    whatsapp: {      dmPolicy: "pairing", // 需要配对      allowFrom: ["+15555550123"], // 可选:额外允许列表    },telegram: {dmPolicy: "allowlist",      allowFrom: ["user_id_1", "user_id_2"],    },feishu: {dmPolicy: "pairing",    },  },}
3.3 共享收件箱规则
如果多人可以 DM 你的机器人:
- 设置 `session.dmScope: "per-channel-peer"`(或 `"per-account-channel-peer"`)- 保持 `dmPolicy: "pairing"` 或严格的 allowlists

群组聊天安全

群组策略配置:
{channels: {whatsapp: {groups: {"*": { // 所有群组requireMention: true, // 必须 @ 机器人policy: "allowlist", // 或 allowlist        },      },    },  },}

工具策略配置

5.1 工具配置文件
{tools: {// 预设配置profile: "messaging", // minimal, messaging, coding, full// 显式拒绝的工具deny: ["group:automation", // 自动化工具组"group:runtime", // 运行时工具组"group:fs", // 文件系统工具组"sessions_spawn", // 禁止生成子代理"sessions_send", // 禁止发送消息到其他会话    ],// 文件系统限制fs: {workspaceOnly: true, // 仅限工作区    },// 执行限制exec: {security: "deny", // deny, sandbox, allowlist, fullask: "always", // always, off, on-miss    },// 提升工具(危险!)elevated: {enabled: false, // 默认禁用    },  },}
5.2 安全级别说明
  • - `deny`:拒绝所有执行;
  • - `sandbox`:沙箱内执行(需启用沙箱);
  • - `allowlist`:仅允许列表中的命令;
  • - `full`:完全信任(仅可信环境使用)。

Exec 执行安全

执行批准模式:
openclaw.json{  tools: {    exec: {      security: "allowlist", // deny, sandbox, allowlist, full      ask: "on-miss"           // always(每次询问), off(自动允许), on-miss(未匹配时询问)      ],    },  },}exec-approvals.json"agents": {"main": {"allowlist": [        {"id": "1ed855df-da23-4e44-8825-88f0db501b4d","pattern": "/usr/bin/ls*","source": "allow-always","lastUsedAt": 1776764389659,"lastUsedCommand": "ls -1 /bin | head -n 10","lastResolvedPath": "/usr/bin/ls"        }      ]    }  }

网络暴露控制

7.1 Gateway 绑定配置
{gateway: {mode: "local", // local, relay, exposebind: "loopback", // loopback, 127.0.0.1, 0.0.0.0auth: {mode: "token", // none, token, password, trusted-proxy, devicetoken: "your-long-random-token",rateLimit: {windowMs: 60000, // 时间窗口(毫秒)max: 10, // 最大请求数      },    },tailscale: {mode: "off", // off, serve, funnel    },  },}
7.2 网络安全检查项
检查项
严重性
修复
gateway.bind_no_auth
critical
配置 gateway.auth.*
gateway.tailscale_funnel
critical
关闭 funnel 模式

事件响应

8.1 安全审计清单
发现问题时,按以下优先级处理:
  • 立即处理:任何"开放" + 工具启用的配置
  • 立即处理:公网暴露(LAN 绑定、Funnel、缺失认证)
  • 优先处理:浏览器控制远程暴露
  • 常规处理:权限配置、插件/扩展、模型选择
8.2 紧急响应步骤
  • 隔离:断开网络或停止 gateway
  • 检查:运行 `openclaw security audit --deep`
  • 修复:根据审计结果修复配置
  • 验证:重新运行审计确认
END

本文作者:胡京康 (上海新炬中北团队)

本文来源:“IT那活儿”公众号

相关学习资料