保姆级教程:13步配置OpenClaw,让AI助手安全又可控
好的,我现在需要帮用户总结一篇文章的内容,控制在100个字以内。首先,我得仔细阅读用户提供的文章,理解其主要内容和重点。 这篇文章主要讲的是如何安全地配置和使用OpenClaw。里面提到了很多安全措施,比如使用非root用户、更改默认端口、安装Tailscale、配置SSH密钥、启用防火墙、设置Telegram白名单、使用Docker沙盒等等。这些都是为了保护用户的系统免受攻击。 接下来,我需要把这些要点浓缩成一句话,不超过100个字。要抓住核心:安全配置方法和工具的使用。可能的结构是“文章介绍了如何通过多种方法确保OpenClaw的安全性,包括...”。 然后,检查字数是否符合要求,并确保内容准确传达文章的核心信息。这样用户就能快速了解文章的主要内容了。 </think> 文章介绍了如何通过多种方法确保 OpenClaw 的安全性,包括使用非root用户、更改默认端口、安装 Tailscale、配置 SSH 密钥、启用防火墙、设置 Telegram 白名单以及使用 Docker 沙盒等措施。 2026-3-6 01:16:0 Author: www.freebuf.com(查看原文) 阅读量:4 收藏

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

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

sudo adduser openclawsudo usermod -aG sudo openclawsu - openclaw

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

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

重启 OpenClaw

openclaw gateway restart

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"    }  }}

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

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

请明确告知 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"    }  }}

将此内容复制并粘贴到您的 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"]时,沙盒功能是否被移除?

配置 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

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

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

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等)。可用于开发任务。

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

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

npminstall -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是否已更新至最新版本逐项检查已完成的工作,协助我完成未完成的部分。

文章来源: https://www.freebuf.com/articles/472719.html
如有侵权请联系:admin#unsafe.sh