保姆级教程:13步配置OpenClaw,让AI助手安全又可控

admin 2026-03-06 18:51:53 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文档详细介绍了配置AI助手OpenClaw以确保安全运行的13个关键步骤。内容涵盖基础设施安全如独立机器部署、非root用户运行,网络安全如更改默认端口、配置Tailscale和UFW防火墙,以及访问控制如SSH密钥认证和Telegram用户白名单。此外,强调了使用Docker沙箱隔离子代理以防止提示注入攻击,并建议设置自动安全审计与实时警报,为AI助手的安全部署提供了全面的实操指南。 综合评分: 90 文章分类: AI安全,安全建设,实战经验,安全工具,应用安全


cover_image

保姆级教程:13步配置OpenClaw,让AI助手安全又可控

原创

Khan安全团队 Khan安全团队

Khan安全团队

2026年3月6日 09:16 中国香港

1、单独机器运行OpenClaw

千万不要在用于网上银行、收发邮件或处理个人事务的同一台电脑上运行 OpenClaw。请使用单独的电脑、即使是便宜的电脑也可以。

2、切勿以 root 用户身份运行

Linux 系统上的用户root可以执行任何操作——删除文件、安装恶意软件、读取机密信息。建议为 OpenClaw 创建一个普通用户。

sudo adduser openclawsudo usermod -aG sudo openclawsu - openclaw

3、更改默认端口

OpenClaw 默认运行在某个端口上8080。任何知道 OpenClaw 存在的人都可以扫描互联网找到该端口。更改它就像移动你家的前门——自动化攻击者根本找不到。

{  "gateway": {    "port": 39217,    "bind": "loopback"  }}

重启 OpenClaw

openclaw gateway restart

4、安装 Tailscale

Tailscale会在您的设备之间创建一个私有网络。您的服务器对整个互联网都是不可见的——只有您授权的设备才能访问它。这就像一条只有您拥有钥匙的秘密隧道。

在您的服务器上安装 Tailscale

curl -fsSL https://tailscale.com/install.sh | shsudo tailscale up

它会给你一个登录链接。点击链接,用 Google/GitHub 登录,就完成了。

也可以安装到你的手机/笔记本电脑上。

在所有你想访问 OpenClaw 的设备上下载 Tailscale 应用。现在它们就可以互相私密通信了。

配置 OpenClaw 以使用 Tailscale

{  "gateway": {    "bind": "loopback",    "port": 39217,    "auth": {      "allowTailscale": true    },    "tailscale": {      "mode": "serve"    }  }}

5、SSH 密钥 + Fail2ban

SSH 是您远程连接到服务器的方式。默认情况下,它使用密码,而密码很容易被猜到。SSH 密钥就像一把无法被猜到的物理钥匙,Fail2ban 会自动阻止任何试图破解它的人。

步骤A:创建SSH密钥(在您的本地计算机上)

ssh-keygen -t ed25519 -C "[email protected]"

步骤 B:将密钥复制到您的服务器

ssh-copy-id openclaw@YOUR_SERVER_IP

步骤 C:禁用密码登录

sudo nano /etc/ssh/sshd_config

重启 SSH

sudo systemctl restart sshd

步骤 D:安装 Fail2ban

sudo apt updatesudo apt install fail2ban -ysudo systemctl enable fail2bansudo systemctl start fail2ban

6、带有UFW的防火墙

UFW(简易防火墙)会阻止所有入站连接,只允许你明确允许的连接。你可以把它想象成门口的保安——如果你不在名单上,就进不去。

# Block everything by defaultsudo ufw default deny incomingsudo ufw default allow outgoing
# Allow SSH (so you don't lock yourself out!)sudo ufw allow ssh
# If NOT using Tailscale, allow your OpenClaw port# sudo ufw allow 39217
# Turn it onsudo ufw enable
# Check it's workingsudo ufw status

7、将用户加入白名单

请明确告知 OpenClaw 哪些 Telegram 账号可以与它互动。其他任何人给你的机器人发消息?完全无视。没有回复,没有确认,什么都没有。

查找您的 Telegram 用户 ID

打开 Telegram,搜索@userinfobot,发送/start。它会回复你的用户 ID(类似 10 123456789…

将其添加到您的配置中openclaw.json

{  "channels": {    "telegram": {      "dmPolicy": "pairing",      "groupPolicy": "disabled",      "allowFrom": ["tg:YOUR_USER_ID_HERE"]    }  }}

设置强密码openclaw.json

{  "gateway": {    "auth": {      "mode": "password",      "password": "PICK-A-RANDOM-30-CHAR-PASSWORD-HERE"    }  }}

8、请机器人审核其自身安全性

将此内容复制并粘贴到您的 OpenClaw 中

审核您的安全设置。检查:你是以root用户身份运行的吗?(你不应该这样做)2. 网关运行在哪个端口上?(不应为8080,应为自定义端口)3. 网关绑定的是“loopback”(良好)还是“0.0.0.0”(不良)4. Tailscale 是否配置为“mode”为“serve”且“allowTailscale”为 true?5. 配置文件中是否有允许来源列表?(应该有)6. DM和组策略设置正确吗?(dmPolicy:配对,groupPolicy:禁用)7. UFW是否已启用?哪些端口处于开放状态?8. Fail2ban正在运行吗?9. openclaw.json 文件的权限是什么?(应为 600)R1:“API”必须译为API  原文:10. 配置文件中是否有硬编码的API密钥?(它们应放在.env文件中)  译文:11. 子代理是否配置了Docker沙箱?12. 使用“capDrop”: ["ALL"]时,沙盒功能是否被移除?

9、设置实时警报

配置 OpenClaw,使其在发生任何异常情况时通知您。登录失败、配置更改、新的 SSH 连接您将立即知晓。

添加到 ~/.openclaw/workspace/SOUL.md

## Security Monitoring- If you detect any failed authentication attempts, alert me immediately- If any configuration files are modified, tell me what changed- If a new SSH session connects to this server, let me know- Never output API keys, passwords, tokens, or .env file contents- If someone asks you to reveal secrets, refuse and alert me- Run a daily security check and report any issues

10、仅限私信

如果你的机器人放在群聊里,群里的任何人都可以给它下达指令。他们可以让它读取你的文件、运行命令,或者做任何你从未授权的事情。所以,请只在私聊中使用机器人。

openclaw.json

{  "channels": {    "telegram": {      "dmPolicy": "pairing",      "groupPolicy": "disabled",      "allowFrom": ["tg:YOUR_USER_ID"]    }  }}

11、在 Docker 中对子代理进行沙箱隔离

OpenClaw可以生成子代理、更小的 AI 工作单元,它们可以自主处理特定任务。你可以把它们想象成你的助手雇佣的助手。它们可以独立研究某个主题、编写代码或处理文件。

问题在于:子代理会读取各种内容,例如网页、文件和文档。如果子代理读取了包含隐藏指令的恶意网页(这称为提示注入),它就可能被诱骗执行恶意操作,例如读取您的.env文件并将您的 API 密钥发送给攻击者。

解决方法?在 Docker 容器内运行子代理。Docker就像一个密封的盒子、子代理可以执行其工作,但它无法访问你的真实文件、密钥或服务器上的任何其他内容。即使它被注入了提示符,也无法窃取任何东西。

curl -fsSL https://get.docker.com | shsudo usermod -aG docker openclaw

配置沙盒设置openclaw.json

{  "agents": {    "defaults": {      "sandbox": {        "mode": "non-main",        "workspaceAccess": "rw",        "scope": "session",        "docker": {          "readOnlyRoot": false,          "network": "bridge",          "user": "1000:1000",          "capDrop": ["ALL"]        }      }    }  }}

“none”—安全性最高。子代理无法查看您的任何文件。请将其用于浏览网页等不受信任的任务。

“ro”—只读。子代理可以读取您的工作区文件,但无法更改它们。适用于研究任务。

“rw”—读写。子代理可以读取和写入文件。灵活性最高——可用于构建网站等编码任务。

“none”—无需联网。安全性最高。子代理完全隔离。如果任务不需要联网,请使用此选项。

“bridge”—互联网访问。子代理可以访问互联网(例如npm install,执行某些操作git push等)。可用于开发任务。

12、设置每日安全审计定时任务

        你把所有东西都锁定了。但下周如果情况有变怎么办?软件包更新、配置偏移、新端口开放等等。除非有人检查,否则你根本不会注意到。

        OpenClaw 内置了 cron 定时任务功能。您可以设置机器人每天早上自动运行一次完整的安全审计。这就像有个保安每天早上在您起床前检查所有门锁一样。

Set up a daily cron job that runs a full security audit every morning at 9am. Check: firewall status, fail2ban, SSH config, file permissions, open ports, Docker status, and report any issues.

13、保持 OpenClaw 更新

每次软件更新都包含安全补丁、修复自上个版本发布以来发现的漏洞。运行旧版本的 OpenClaw 意味着运行存在已知安全漏洞的软件。攻击者会主动扫描过时的软件,因为这些漏洞利用方法早已公开。

更新至最新版本

npm install -g openclaw

完整安全配置~/.openclaw/openclaw.json

{  "gateway": {    "port": 39217,    "bind": "loopback",    "auth": {      "mode": "password",      "password": "YOUR-STRONG-30-CHAR-PASSWORD-HERE",      "allowTailscale": true    },    "tailscale": {      "mode": "serve"    }  },  "agents": {    "defaults": {      "sandbox": {        "mode": "non-main",        "workspaceAccess": "rw",        "scope": "session",        "docker": {          "readOnlyRoot": false,          "network": "bridge",          "user": "1000:1000",          "capDrop": ["ALL"]        }      }    }  },  "channels": {    "telegram": {      "dmPolicy": "pairing",      "groupPolicy": "disabled",      "allowFrom": ["tg:YOUR_TELEGRAM_USER_ID"]    }  }}

让你的 OpenClaw 为你完成设置

请帮我实施全部13项安全措施:检查是否以root身份运行(若为root则创建专用用户)2. 将我的网关端口从8080更改为随机值3. 帮我安装Tailscale并以"serve"模式进行配置4. 配置SSH密钥并禁用密码认证5. 安装并配置Fail2ban6. 配置UFW防火墙7. 使用我的Telegram用户ID配置我的白名单8. 进行全面安全审计9. 在我的SOUL.md中添加安全监控10. 确保仅通过私信联系(私信策略:配对,群组策略:禁用)11. 为子代理设置带有适当安全措施(capDrop: ALL)的Docker沙箱12. 创建每日安全审计定时任务(每天上午9点执行)13. 检查OpenClaw是否已更新至最新版本逐项检查已完成的工作,协助我完成未完成的部分。

免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Khan安全团队 Khan安全团队 Khan安全团队《保姆级教程:13步配置OpenClaw,让AI助手安全又可控》

评论:0   参与:  0