Skip to content

安全配置

访问控制

用户白名单

只允许指定用户使用你的 OpenClaw:

json
{
  "security": {
    "allowedUsers": ["your_telegram_username"],
    "dmPairingPolicy": "whitelist",
    "requireAuth": true
  }
}

IP 白名单

限制 Web 控制台只能从特定 IP 访问:

json
{
  "gateway": {
    "allowedIPs": ["127.0.0.1", "你的家庭IP"]
  }
}

API Key 保护

永远不要将 API Key 硬编码在配置文件中再上传 GitHub。

推荐做法:使用环境变量:

bash
# ~/.zshrc 或 ~/.bashrc
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENCLAW_CONFIG="~/.openclaw/config.json"

配置文件中引用环境变量:

json
{
  "ai": {
    "apiKey": "${ANTHROPIC_API_KEY}"
  }
}

工具权限最小化

只开启你实际需要的工具权限:

json
{
  "tools": {
    "permissions": {
      "shell": "ask",
      "filesystem_read": "allow",
      "filesystem_write": "ask",
      "network": "ask",
      "camera": "deny",
      "screen": "deny"
    }
  }
}

HTTPS 部署

如果将 Web 控制台对外暴露,必须使用 HTTPS

  • 使用 Caddy(自动申请 Let's Encrypt 证书)
  • 或使用 Nginx + Certbot

本站的部署方案(详见部署文档)使用 Caddy,自动处理 HTTPS。

审计日志

开启操作审计,记录所有工具调用:

json
{
  "logging": {
    "level": "info",
    "auditLog": true,
    "auditPath": "~/.openclaw/audit.log"
  }
}

定期检查日志:

bash
# 查看最近的工具调用
grep "tool_call" ~/.openclaw/audit.log | tail -50

基于 OpenClaw 官方文档整理,仅供学习研究