文章总结: 文档针对OpenClaw安全风险提供生产级Docker部署模板。核心策略包括权限坍缩、网络隔离与只读挂载。通过配置docker-compose.yml强制非特权用户运行、阻断外网及绑定本地端口,有效防止容器逃逸与恶意下载。另提供Dockerfile优化建议。该方案实战性强,能显著降低Agent被投毒风险,适合开发者复用以加固系统。 综合评分: 88 文章分类: 安全建设,实战经验,解决方案,应用安全,云安全
拒做黑客跳板!OpenClaw 生产级安全部署实战(含 Docker 模板)
原创
Hankzheng Hankzheng
技术修道场
2026年3月4日 07:59 广东
昨天咱们聊了 OpenClaw 的“连环炸”,尤其是那个让无数开发者中招的 ClawJacked 漏洞(后台回复“OpenClaw”回看上文)。不少兄弟私信我:“道理我都懂,但到底该怎么跑才安全?”
今天,我分享一份 OpenClaw 生产级安全部署模板 给大家。这套配置不只是简单的 docker run,而是从底层锁死了权限,就算 Agent 被“投毒”注入,黑客也休想跨出容器半步。
一、 核心防御逻辑:为什么要搞这么复杂?
很多人的部署习惯是 root 用户 + 全开网络,这在 AI Agent 时代无异于给黑客递刀子。我们的加固模板核心逻辑有三点:
-
权限坍缩:
彻底丢弃
root,使用非特权用户,并移除所有不必要的内核 Capability。 -
网络孤岛:
默认禁止外网访问,只允许通过受控网关进行通信。
-
只读挂载:
核心配置目录设为
read-only,防止攻击者通过修改配置来实现持久化潜伏。
二、 生产级 docker-compose.yml 模板
废话不多说,直接上干货。建议大家收藏这份配置,部署新实例时直接复用:
version: '3.8'services: openclaw-gateway: image: openclaw/gateway:2026.2.25-hardened # 强制使用已修复漏洞的版本 container_name: oc_gateway restart: unless-stopped
# 【安全加固 1】丢弃所有系统权限,防止容器逃逸 cap_drop: - ALL security_opt: - no-new-privileges:true - seccomp:default.json
# 【安全加固 2】以非特权用户(UID 1000)运行 user: "1000:1000" # 【安全加固 3】环境变量加固 environment: - OPENCLAW_GATEWAY_PASSWORD=${OC_PWD} # 必须设置强密码,防止 ClawJacked 暴力破解 - OPENCLAW_AUTH_MODE=token # 强制开启 Token 认证 - OPENCLAW_WORKSPACE_ONLY=true # 锁死 Agent 的操作范围
# 【安全加固 4】本地回环绑定,严禁公网直连 ports: - "127.0.0.1:18789:18789" # 【安全加固 5】只读挂载核心目录 volumes: - ./config:/app/config:ro # 配置文件只读 - ./workspace:/app/workspace:rw # 仅此处允许写入 - /etc/localtime:/etc/localtime:ro
networks: - oc_internal_net
# 【资源限制】防止 Agent 逻辑陷入死循环耗尽主机 CPU/内存 deploy: resources: limits: cpus: '2.0' memory: 4Gnetworks: oc_internal_net: driver: bridge internal: true # 核心配置:开启内部网络,禁止容器主动访问互联网
三、 关键配置项深度拆解
1. 为什么要用 cap_drop: - ALL?
默认情况下,Docker 容器拥有很多不必要的权限(如修改网络、挂载文件)。把它们全砍掉,即便黑客拿到了 Shell,也无法执行高级攻击动作。
2. internal: true 的妙用
OpenClaw 的很多攻击案例都是 Agent 被诱导去外网下载木马。通过开启 internal 网络,我们可以物理断开 Agent 的外网链路。如果你的 Agent 需要访问某个特定 API,建议在宿主机使用 iptables 针对特定的 IP 做白名单放行。
3. 端口绑定的技巧
注意我配置的是 127.0.0.1:18789 而不是 18789:18789。这意味着该服务只对本机开放。如果你在广州办公,想要远程访问家里的 Agent,强烈建议配合 Tailscale 或内网穿透工具,千万别在路由器上开端口映射!
四、 进阶:如果你想自己构建镜像(Dockerfile)
如果你需要自定义 Skill 运行环境,千万别忘了在 Dockerfile 里清理掉那些“危险工具”:
FROM openclaw/runtime:2026.2.25-slim# 创建专门的运行用户RUN groupadd -r clawuser && useradd -r -g clawuser -u 1000 clawuser# 重点:卸载 curl, wget 等工具,切断黑客下载载荷的途径RUN apt-get purge -y netcat curl wget && apt-get autoremove -yWORKDIR /app/workspaceRUN chown -R clawuser:clawuser /app/workspaceUSER clawuserCMD ["node", "dist/index.js", "start"]
最后:
AI Agent 时代,“默认安全”应该是每个技术人的基本操守。虽然这套模板配置起来比直接跑一条命令多花 5 分钟,但这 5 分钟省掉的可能是你整台服务器被勒索的风险。
大家在部署过程中遇到任何报错(尤其是权限相关的 Permission Denied),欢迎在评论区留言,我会一一解答。
如果你觉得这份模板有用,请点个“赞”,并转发给身边的兄弟吧!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:技术修道场 Hankzheng Hankzheng《拒做黑客跳板!OpenClaw 生产级安全部署实战(含 Docker 模板)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论