很多人都觉得部署OpenClaw就是跑个命令那么简单,结果服务刚上线几分钟就被扫描器盯上,端口暴露导致服务器变成矿机。防火墙配置才是保障安全的核心环节,尤其是18789和80这两个端口,必须精准控制访问权限。
今天这篇教程专门解决OpenClaw部署中最头疼的防火墙问题,从云安全组到系统内部防火墙,再到容器环境特殊处理,全部拆解成可以直接照着做的步骤。不管你是第一次部署还是已经踩过坑,按照这个方法配置就能把暴露面降到最低。
如果你的需求只是使用最新模型,而不是自己折腾部署环境,也可以直接使用api.

云安全组配置是第一道防线
云安全组相当于服务器的门卫,所有流量进来都要先过这一关。进入云服务器控制台找到你的OpenClaw实例,在安全组管理页面添加入方向规则。核心操作是放行TCP协议的18789端口,这个端口负责网关通信和控制界面连接,测试阶段可以把来源设为0.0.0.0/0,但服务稳定后必须改成官方提供的白名单IP地址。
另外需要放行TCP80端口,主要是为了适配部分平台的回调请求。出方向规则默认放行所有流量,如果对安全要求更高可以限制只允许HTTPS的443端口和DNS的53端口。保存规则后一定要用端口检测工具验证18789的连通性,确保规则已经生效。
系统防火墙实现双层保护
云安全组过滤完流量后,系统自带的防火墙是第二道屏障。以最常用的ufw工具为例,执行命令放行TCP18789和80端口。更严格的配置是只允许官方白名单IP访问89端口,其他所有来源一律拒绝,这样即使云安全组配置失误也能兜底。
同时要封堵高危端口,比如SSH管理用的22端口如果必须开放就只放行你本地的固定IP,数据库默认的5432端口直接全部拒绝。配置完成后用命令查看已有规则,确认没有多余的开放端口。每次修改完防火墙规则都要重启服务,否则配置不会立即生效。
容器部署的防火墙特殊处理
在容器里运行OpenClaw需要同时管理宿主机和容器两层防火墙,很多人在这里翻车。宿主机的安全组或者防火墙必须放行端口,并且白名单只包含官方IP,特别注意不要放行容器内部使用的数据库端口比如5432。
容器内部同样要用防火墙工具配置规则,只开放18789端口,禁止其他端口对外暴露。还需要核对配置文件路径,容器部署时配置文件默认在/root/.openclaw目录,要确保防火墙规则没有阻止OpenClaw读取这个目录。端口映射也要确认正确,宿主机端口和容器端口必须对应上。
常见错误及快速排查方法
最典型的错误是端口没放行或者白名单IP写错了,表现出来的症状就是控制界面连接超时或者提示认证失败。这时候先检查安全组规则里18789端口是否真的添加了,再看来源IP是不是官方白名单地址,有时候复制IP时多了空格也会导致失败。
规则优先级冲突也很常见,比如你配置了一条拒绝所有流量的规则,又配置了一条允许白名单IP的规则,但拒绝规则的优先级更高就会把正常流量拦截掉。容器部署时宿主机放行了端口但容器内部没放行,或者端口映射写错了数字,都会导致服务无法访问。排查时用TCP协议检测工具测试,别用UDP工具。
安全优化实战建议
测试完成后必须把18789端口的来源从0.0.0.0/0改成官方白名单IP,这是最关键的优化动作。很多人测试完忘记改回去,导致端口暴露在公网上被全网扫描。远程管理端口22和3389如果不需要就彻底关闭,非要使用就只放行你自己的办公网络IP。
建议开启防火墙的日志功能,每周查看一次访问记录,发现异常IP立刻加入黑名单。即使防火墙配置完美,也要配合OpenClaw自带的Token认证,这样就算端口意外暴露攻击者也拿不到控制权。把安全组规则和防火墙配置定期备份到本地,服务器出问题时能快速恢复。

生产环境部署检查清单
部署完成后用这个清单逐项检查:云安全组入方向只开放89和80端口,89的来源限制为官方白名单IP。系统防火墙同样只放行这两个端口,并且89拒绝非白名单来源。容器环境确认宿主机和容器内规则一致,端口映射没有错误。
用外部机器测试89端口,只有白名单内的IP能连通,其他IP全部超时。检查出方向规则是否限制了高危端口,比如禁止服务器主动连接外部的不明地址。最后确认防火墙日志已经开启,并且日志存储路径有足够空间。全部通过后再把服务切到生产模式。
你部署OpenClaw时遇到过端口被扫或者被攻击的情况吗?欢迎在评论区分享你的经历和应对方法,觉得这篇教程有用就点个赞让更多人看到





































