公网扫描器批量探测Open‑WebUI未鉴权实例威胁现状

Open-WebUI 是一个流行的本地大模型交互界面,很多人习惯用 Docker 一键部署。
但如果直接映射到公网且没有启用登录认证,扫描器在几分钟内就能发现你的实例,并立即尝试调用接口、消耗算力,甚至盗取对话记录。未鉴权的 Open-WebUI 实例相当于把后台管理页和 API 同时裸奔在公网上,后果远超“被人蹭一下”这么简单。 本文先帮你确认是否中招,再给出可直接照做的加固流程。

为什么 Open-WebUI 会成为扫描靶子

Open-WebUI 默认使用 8080 端口,启动时若设置了 WEBUI_AUTH=False 或漏掉了创建管理员账号的步骤,任何人都能直接进入聊天界面。
公网扫描器会持续遍历常见端口和 Docker 容器特征,一旦发现 HTTP 响应里带有 open-webui 或特定 API 路径,就立即标记为“可用实例”。

这类扫描不依赖漏洞利用,
纯粹是撞“未鉴权”配置。只要实例暴露公网且未开启认证,
扫描器就能批量收割。
你会在日志里看到大量来自陌生 IP 的 POST /api/chat/completions 请求,
这就是被外部调用的最直接证据。

先自查:你的实例是否已经暴露

登录服务器,执行下面两条命令,快速确认端口监听范围。

ss -tlnp | grep 8080
curl -I http://127.0.0.1:8080

如果 ss 输出中监听地址是 0.0.0.0:8080[::]:8080,说明服务对所有网卡开放;
再用 curl 访问本地,若返回 200 OK 且没有跳转登录页,基本可以判断为未鉴权状态。

接着检查容器日志:

docker logs open-webui --since 24h | grep "POST /api/chat" | head -20

这里 open-webui 换成你的容器名。
如果看到大量来自非本机 IP 的请求,说明已经被外部扫描或调用过。即使日志里暂时没有异常,也不代表安全,因为扫描器可能只做轻量探测,不一定会立即发起完整请求。

三步加固:认证、反向代理和防火墙

第一步:强制启用登录认证

在 Docker 启动命令中,去掉 WEBUI_AUTH=False 参数,并确保首次启动时通过 docker exec -it open-webui python create_admin.py(或 Web 界面引导)创建管理员账号。
确认环境变量里没有 WEBUI_AUTH=False,重启容器:

docker stop open-webui && docker start open-webui

第二步:用 Caddy 或 Nginx 做反向代理并加密码

不要直接把 8080 端口映射到公网。
推荐用 Caddy 自动配置 HTTPS,并在反向代理层再加一层 Basic Auth。
Caddyfile 示例:

chat.example.com {
    basic_auth {
        admin $2a$14$...   # 用 caddy hash-password 生成
    }
    reverse_proxy 127.0.0.1:8080
}

这样即使 WebUI 认证被绕过,外部请求也会被代理层拦截。

第三步:在云安全组和防火墙层面收紧端口

如果只是自己或团队使用,云控制台安全组里只放行 443/80 端口,删除 8080 的公网放行规则。
同时服务器防火墙执行:

sudo ufw allow 443/tcp
sudo ufw allow 80/tcp
sudo ufw deny 8080/tcp

如果必须保留 8080 公网访问,把它限制在办公 IP 段内。

验证加固效果并持续监控

加固后重新执行 ss -tlnp | grep 8080,确认监听地址变为 127.0.0.1:8080,说明外部无法直接访问。
再用手机流量(断开局域网)访问 https://chat.example.com,应出现登录页或认证弹窗。

建议添加一个简单的监控:每天查看一次 Docker 日志中的异常请求,或用 fail2ban 对反复尝试的 IP 做自动封禁。
如果你用的是云厂商的日志服务,也可以直接检索 api/chat 的访问来源。

常见误区:这样配置不等于安全

有些人以为加了 --network host 然后只在 WebUI 里设置密码就安全了,实际上 WebUI 本身的登录认证无法抵御暴力破解和接口直接调用
只要底层 API 路径暴露,攻击者可以绕过前端直接发包。
另一个误区是把服务隐藏在某个随机路径下,比如 /chat,扫描器仍能通过 robots.txt、SSL 证书信息或端口指纹发现真实路由。

最稳妥的做法是默认不向公网开放任何非必要端口,并始终把认证放在反向代理层。
对于已经暴露过的实例,建议重置所有账号密码、清理对话记录,并检查服务器上是否有异常进程或挖矿程序。

如果你正在处理公网扫描器批量探测 Open-WebUI 未鉴权实例的问题,先把当前实例断网隔离,然后按本文顺序完成自查和加固。
遇到登录反复跳转或代理配置不生效的报错时,优先检查环境变量和 Caddy 配置文件语法,确认 8080 端口没有被安全组或容器网络二次映射。

分享到:
上一篇
云主机元数据服务访问风险,防止Agent
下一篇
服务器文件完整性监控,检测系统关键文件被篡改脚本
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意