应按最小权限原则配置安全组入站规则:一、删除全通规则,仅保留必要端口;二、仅放行openclaw的tcp 18789端口并限制源ip;三、如启用web管理界面,仅开放https(443)端口且限定可信ip;四、禁用ssh公网直连,改用云平台管控通道;五、数据库与中间件服务须通过内网安全组互信通信,禁止公网访问。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在云服务器上部署WorkBuddy并需通过公网访问其管理界面或集成服务,但发现连接失败或存在未授权访问风险,则很可能是安全组入站规则配置过宽或缺失关键端口限制。以下是依据最小权限原则配置安全组入站规则的具体方法:
一、明确WorkBuddy核心通信端口并关闭默认全放行
WorkBuddy本身不直接监听公网端口,但其依赖组件(如OpenClaw服务)及配套管理接口需显式暴露有限端口。默认开放全部端口会极大增加攻击面,必须将入站规则设为“全部拒绝”,再按需添加白名单条目。
1、登录云服务商控制台,进入对应ECS实例所在的安全组管理页面。
2、定位到“入方向规则”列表,确认当前是否存在0.0.0.0/0或::/0的全通规则。
3、若存在,选中该规则并点击删除;若无明确业务需求,严禁保留任何允许任意源IP访问的入站规则。
4、检查现有规则中是否包含非必要端口(如TCP 3389、22、80、443等),仅保留与WorkBuddy实际运行强相关的端口。
二、仅放行OpenClaw服务监听端口(TCP 18789)
OpenClaw是WorkBuddy与QQ频道网关通信的本地协议桥接服务,必须对外暴露且仅限可信来源访问。该端口不可绑定至0.0.0.0,应严格限制访问源IP范围。
1、确认OpenClaw已在服务器启动并监听18789端口:执行netstat -tuln | grep :18789,输出应含LISTEN状态。
2、在安全组“入方向规则”中点击“添加规则”。
3、协议类型选择TCP,端口范围填写18789。
4、源地址填写具体运维IP或CIDR网段(例如203.203.203.203/32或192.168.10.0/24),禁止使用0.0.0.0/0作为源地址。
5、描述栏填写“WorkBuddy-OpenClaw专用通道”,保存规则。
三、如启用Web管理界面,单独开放HTTPS端口并绑定域名
若通过Nginx反向代理为WorkBuddy提供带SSL的Web控制台(如https://panel.example.com),则仅需开放443端口,并确保该流量经由代理层校验后才转发至本地服务,避免直接暴露内部端口。
1、确认Nginx已配置有效SSL证书,且proxy_pass指向WorkBuddy本地HTTP服务(如127.0.0.1:3000)。
2、在安全组中新增一条入方向规则:协议TCP,端口443,源地址限定为可信用户IP段。
3、同步检查Nginx配置中是否启用allow指令或GeoIP模块,对未匹配IP返回403。
4、不得同时开放80端口用于重定向,除非已配置HSTS且强制跳转HTTPS。
四、禁用SSH直连,改用云平台管控通道
WorkBuddy部署完成后,日常维护应避免长期开放SSH(TCP 22)端口。云厂商提供的免密登录工具(如阿里云Workbench、腾讯云堡垒机)可替代公网SSH,大幅降低暴力破解风险。
1、在安全组入方向规则中移除所有针对TCP 22的放行条目。
2、登录云控制台,进入目标ECS实例详情页,点击“远程连接”→“Workbench连接”。
3、验证Workbench能否正常建立会话;若失败,检查实例是否已安装并启用cloud-init及aliyun-service服务。
4、完成验证后,永久关闭22端口入站规则,不再恢复。
五、配置安全组关联策略:隔离数据库与中间件服务
若WorkBuddy需调用同VPC内其他云资源(如MySQL、Redis),应通过安全组内网互信机制实现通信,而非开放公网端口。数据库类服务必须禁止任何公网入站规则。
1、为MySQL服务器创建独立安全组A,仅在入方向放行端口3306,授权对象设置为WorkBuddy所在安全组ID(如sg-bp1abc123)。
2、为Redis服务器创建独立安全组B,入方向放行6379,授权对象同样设为WorkBuddy所在安全组ID。
3、检查WorkBuddy服务器安全组的出方向规则,默认允许即可,无需额外配置。
4、所有数据库与缓存服务的安全组均不得配置0.0.0.0/0的入站规则,且不分配公网IP。










