OpenClaw 安全配置最佳实践

权威配置指南:通过标准化设置加固 OpenClaw 实例,防范安全风险。

1引言

OpenClaw 作为一个具备完全自主执行能力的 AI 代理框架,其设计初衷是赋予 AI 直接操作计算机的能力。然而,这种强大的能力也伴随着极高的安全风险。根据 OpenClaw 安全架构文档,代理默认拥有与运行用户相同的系统权限,这意味着如果不加限制,AI 可以执行任意 Shell 命令、读写敏感文件甚至修改系统配置。

为了应对这些风险,我们必须严格遵循 “最小权限原则” (Principle of Least Privilege)“多层防御策略” (Defense in Depth)。最小权限原则要求仅授予 AI 完成特定任务所需的最低限度的工具和文件访问权;而多层防御则要求我们在沙箱隔离、工具白名单、网络边界等多个层面建立防线,确保即使某一层失效,系统整体依然安全。本文档旨在提供一份权威的配置指南,帮助管理员通过标准化的设置来加固 OpenClaw 实例。

2启用与配置 Docker 沙箱

OpenClaw 的核心安全机制是基于 Docker 的沙箱隔离。在生产环境中,绝不应直接在宿主机上运行高风险的代理任务。根据 Docker 部署指南,OpenClaw 采用了 “Host Gateway + Docker Tools” 的分离架构:Gateway 负责处理消息和逻辑,而实际的工具执行(如代码运行、文件操作)则被封装在隔离的 Docker 容器中。

模式: non-main (默认)

仅对非主会话(如通过 WhatsApp/Telegram 接入的外部用户)启用沙箱。主用户(Owner)在本地 CLI 的操作直接在宿主机执行。

模式: all (推荐)

强制所有会话(包括主用户)都在 Docker 容器内执行。这是 安全加固指南 强烈推荐的设置。

2.2 工作区访问权限 (Workspace Access)

workspaceAccess 参数控制容器对宿主机挂载目录的访问权。

  • rw (Read-Write): 默认值。允许 AI 修改工作区文件。适用于开发场景,但需防范数据篡改。
  • ro (Read-Only): 仅允许读取。适用于代码审查或分析任务,能有效防止恶意删库。
  • none: 不挂载任何宿主机目录。适用于纯逻辑计算或无需持久化的临时任务。

3工具权限管理策略

沙箱仅隔离了环境,而工具权限管理则控制了 AI “能做什么”。OpenClaw 提供了强大的 tools.allow and tools.deny 配置项。根据官方工具文档,系统内置了多个高风险工具组,如 group:runtime(包含 exec, bash)和 group:fs(包含 read, write)。

工具组/工具风险等级推荐配置 (Default Secure)说明
group:runtime (exec, bash)极高deny允许执行任意 Shell 命令,必须默认禁用,仅在受控沙箱中按需开启。
group:fs (write, edit)allow (需配合 Sandbox)文件写入权限应限制在 Docker 容器内的特定工作目录。
group:browserallow浏览器自动化,风险主要在于访问恶意网页或泄露 Cookie。
web_searchallow仅获取公开信息,通常是安全的。

配置示例 (openclaw.json):

{
  "tools": {
    "deny": ["group:runtime", "sys_shutdown"],
    "allow": ["group:fs", "group:browser", "web_search"]
  }
}

4网络与身份验证加固

网络层面的配置是防止未授权访问的第一道关卡。OpenClaw Gateway 默认监听 HTTP 端口,若配置不当,可能将控制接口暴露给公网。

网络绑定与远程访问

根据安全最佳实践,Gateway 的 bind 地址应严格设置为 127.0.0.1 (Loopback)。这确保了服务仅对本机可见。

如果需要远程管理,绝对不要将 bind 地址改为 0.0.0.0。推荐使用 Tailscale 或 WireGuard 等 VPN 方案。

IM 通道配对策略 (DM Policy)

对于 WhatsApp、Telegram 等通道,dmPolicy 至关重要。默认策略可能是 open。

  • 强制配对: 设置策略为 allowlist,要求新用户必须通过 One-Time Token 验证。
  • 审计日志: 定期检查 ~/.openclaw/credentials/ 目录下的已授权用户。

5审计与监控

安全不是一次性的配置,而是一个持续的过程。OpenClaw 提供了内置的 CLI 工具来辅助安全审计。

5.1 使用安全审计命令

管理员应定期运行 openclaw security audit 命令。该命令会扫描:

  • 是否存在未加密存储的敏感 Token
  • 当前沙箱模式是否为 off 或 non-main
  • tools.allow 中是否启用了高风险工具但未配置相应的限制
openclaw security audit --deep

5.2 定期检查清单

1

日志审查: 检查 gateway.log 中是否有来自未知 IP 的连接尝试或异常的 exec 调用。

2

容器状态: 使用 docker ps 确认沙箱容器是否正常运行,且没有挂载非预期的宿主机目录。

3

策略更新: 随着新工具的安装,重新评估 tools.deny 列表。