给“龙虾”穿上盔甲:OpenClaw六大防护策略

导读部分 返回列表

工信部NVDB预警刚发完,GitHub Advisory Database又爆出数十个漏洞。有人问我:“这龙虾还能养吗?”我说能,但得穿上防弹衣再出门。 老张昨晚又发消息来了,这次不是吐槽,是截图。 ...

正文内容

工信部NVDB预警刚发完,GitHub Advisory Database又爆出数十个漏洞。有人问我:“这龙虾还能养吗?”我说能,但得穿上防弹衣再出门。

老张昨晚又发消息来了,这次不是吐槽,是截图。

截图里是GitHub Advisory Database的页面,密密麻麻列着OpenClaw的漏洞,光高危就5个,CVSS评分最高8.8。他问:“我这刚部署好的小龙虾,是不是该扔了?”

我说你慌啥,这些漏洞就像你家门锁有隐患,但你要做的是换把好锁,不是把房子点了。

今天就给你把这身“龙虾盔甲”从头到脚穿明白。

为啥非得穿盔甲?先看几个血淋淋的案例

奇安信刚发了一份安全排查指南,里面有几个真实案例值得看

案例一:某用户部署的OpenClaw暴露在公网,没改默认端口,没设IP白名单。攻击者扫到后,利用CVE-2026-25253漏洞直接远程执行代码,把服务器当肉鸡挖矿去了。

案例二:有人从网盘下了个“功能增强包”,结果是个恶意Skill。装上后API Key被偷,一天被刷掉800多美元。

案例三:更惨的一位,给OpenClaw开了管理员权限,让它“清理无用文件”。结果它把 /etc 目录当“无用文件”给清了,系统直接崩溃

这些不是吓唬你,是真事。

防护策略一:最小权限原则——别让它想干啥就干啥

OpenClaw默认追求功能最大化,啥权限都想要。但安全的原则正好相反:只给完成任务必需的最小权限

具体怎么做?

如果你在Linux上部署,千万不要用root用户跑OpenClaw。专门创建一个普通用户,比如叫 clawuser,然后限定它只能访问特定目录。

在配置文件里启用 allowlist(目录白名单),只允许它读写你指定的文件夹。比如:

"filesystem": {
  "allowlist": ["/home/clawuser/workspace", "/tmp/claw-temp"],
  "denylist": ["/etc", "/root", "/home/*/.ssh"]
}

国家应急中心(CNCERT)的官方提示里特别强调:对运行环境进行严格隔离,使用容器等技术限制OpenClaw权限过高问题

想了解怎么配置allowlist,可以翻翻 OpenClaw安全 专题里的详细教程。

防护策略二:端口修改+IP白名单——把门藏起来

OpenClaw默认用18789端口做管理界面,这个端口就像你家大门,门牌号全网都知道

第一层防护:改端口号

把18789改成别的随机端口,比如34567。这样攻击者扫默认端口就扫不到你了。

第二层防护:IP白名单

更关键的是设白名单。阿里云的安全组配置里,可以把18789端口的入方向来源设为只允许你的IP访问,而不是 0.0.0.0/0

华为云的官方文档也明确要求:配置IP地址白名单,以免暴露端口到公网

如果你确实需要公网访问,别直接暴露18789。用SSH隧道转发,或者配个Nginx加HTTPS和密码认证。OVHcloud的教程里专门讲了怎么用SSH隧道安全访问:

# 在本地电脑执行,把远程端口映射到本地
ssh -L 18789:127.0.0.1:18789 user@你的服务器IP

然后在本地浏览器打开 http://127.0.0.1:18789,这样外部根本扫不到你的服务

防护策略三:容器化隔离——套个透明罩子

Docker部署不只是为了省事,更是为了安全。

用Docker跑OpenClaw,相当于给它套了个透明罩子——它在里面怎么折腾,都不会直接影响宿主机

关键配置

services:
  openclaw:
    image: ghcr.io/openclaw/openclaw:latest
    container_name: openclaw-gateway
    restart: always
    ports:
      - "127.0.0.1:18789:18789"  # 只监听本地
    volumes:
      - ~/openclaw/data:/home/node/.openclaw
    environment:
      - NODE_ENV=production

注意上面 ports 那行写的是 127.0.0.1:18789:18789,这意味着端口只暴露在本地,外部网络根本访问不到

高级玩法还可以加 --cap-drop=ALL 和 --read-only 参数,彻底限制容器权限

关于容器部署的详细步骤,可以参考 OpenClaw防护策略 里的实战教程。

防护策略四:系统防火墙规则——第二道铁门

云安全组是第一道防线,系统防火墙是第二道。就算云平台配置失误,系统防火墙还能顶住

ufw(简单版)

# 启用防火墙
ufw enable

# 只允许官方白名单IP访问18789
ufw allow from 121.40.82.220 to any port 18789 proto tcp
ufw allow from 47.97.73.42 to any port 18789 proto tcp

# 允许SSH(但只限你的IP)
ufw allow from 你的IP to any port 22 proto tcp

# 默认拒绝其他所有
ufw default deny incoming

iptables(硬核版)

# 清除现有规则
iptables -F

# 默认策略:拒绝所有入站
iptables -P INPUT DROP

# 允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 允许官方IP访问18789
iptables -A INPUT -p tcp -s 121.40.82.220 --dport 18789 -j ACCEPT
iptables -A INPUT -p tcp -s 47.97.73.42 --dport 18789 -j ACCEPT

# 允许你的SSH
iptables -A INPUT -p tcp -s 你的IP --dport 22 -j ACCEPT

# 保存规则
iptables-save > /etc/iptables/rules.v4

阿里云开发者社区的工程师强调,双层防护能避免单一层级配置失误导致风险

防护策略五:Skill来源管控——别乱装插件

ClawHub上有几千个技能插件,但奇安信的报告中指出,约4.5%的Skill存在恶意行为或严重漏洞

国家应急中心也专门提了:严格管理插件来源,禁用自动更新功能,仅从可信渠道安装经过签名验证的扩展程序

三条铁律

  1. 安装前先查评分:只装安全评分≥90、下载量大、更新频繁的Skill
  2. 用skill-vetting扫描:装之前先用官方的安全扫描工具检查
  3. 拒绝网盘/群聊分享的插件:非官方渠道的Skill,再诱人也别装

防护策略六:密钥脱敏与审计——别把密码写脸上

GitHub Advisory Database披露的多个漏洞都涉及同一个问题:认证信息明文暴露

别这么做

  • 在代码里硬编码API Key
  • 在环境变量明文存密钥
  • 在URL里带Token

正确姿势

  • API Key单独存成 secrets.json,权限设为600
  • 使用密钥管理服务(如阿里云KMS)
  • 启用操作日志审计,定期检查谁调用了你的Key

国家应急中心的提示特别强调:加强凭证管理,避免在环境变量中明文存储密钥;建立完整的操作日志审计机制

DefectDojo的工程师还建议:为OpenClaw单独申请API Key,并在Provider后台设置硬性消费限额(比如每月50美元)。这样就算Key被盗,损失也有限。

写在最后:安全是养出来的,不是买来的

老张后来按这六条把自己的小龙虾全副武装了一遍,昨晚又发消息来了:“改完了,现在感觉不是虾了,是坦克。”

我说这就对了。

OpenClaw确实是个好东西,GitHub星标28万不是白给的。但它就像刚拿驾照的新手司机,你不能直接把它扔高速上。得给它系上安全带,装上防撞梁,再配个行车记录仪。

奇安信那篇指南的标题说得特别好:“在效率与安全之间寻找平衡”

别被漏洞吓退,也别不当回事。花半小时把这六条做完,你的小龙虾就能放心干活了。

想安全地养你的小龙虾?

本文出自 AI一族,原文链接:https://www.aiyizu.cn/?p=815

转发请注明出处,禁止未经允许用于任何商业用途。

文章评分

这篇文章对您有帮助吗?

🤖 随时召唤ZUZU陪你一起探索AI世界
ZUZU 伴学
登录享无限次提问 · 答案仅供参考
ZUZU答:
亲爱的小伙伴您好,我是ZUZU,有什么可以帮您的?😃

分享到

微信
朋友圈
QQ
QQ空间
微博
抖音
小红书
复制
二维码

实用功能

夜间模式
小字
大字
收藏
目录
笔记
朗读
相关
搜索
我的笔记
文章内搜索
相关文章推荐
正在加载相关文章...

反馈建议

您需要登录后才能填写意见反馈信息

分享二维码

使用手机扫描二维码

操作成功