安全配置
访问控制
用户白名单
只允许指定用户使用你的 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