相关安全漏洞的产生机制
Ollama 默认仅在127.0.0.1:11434 端口监听请求——该端口仅限本机访问,外部设备根本无法连接。若需让局域网内其他设备、手机、另一台电脑甚至远程运行的编程代理也能访问该服务,常见的解决方式如下:
11434 端口即可对全互联网开放,不再局限于局域网范围。默认情况下该端口并无任何身份验证机制,因此任何发现该端口的用户均可直接调用相关 API:查询可用模型、执行推理运算;对于支持工具调用的服务器而言,甚至还能借助模型触发代码执行操作。
这正是 Shodan、Censys 这类批量扫描工具专门搜寻的目标模式。此类风险无需针对性攻击即可触发,仅需执行一次端口扫描即可实现。
这本质上属于配置层面的问题,并非 Ollama 本身的缺陷。类似的安全隐患——即监听地址设置为全接口、端口对外开放且未设置身份验证机制——同样存在于各类本地模型服务器中,并不仅限于 Ollama。
为何仅添加身份验证机制无法彻底解决问题
在0.0.0.0:11434 端口前部署具备基础身份验证功能的反向代理确实能提升安全性,但无法根除根本隐患:该端口始终处于监听状态,且网络路径中的相关组件也必须保持对外可访问状态才能维持代理正常运行。 从反向代理、防火墙规则、端口转发设置到 TLS 证书配置,每一个面向入站请求的组件都必须长期保持正确配置状态。只要其中任一环节出现配置失误,甚至在调试过程中临时修改了设置,端口便会再度处于开放状态。
另一种方案:干脆不开放任何入站端口
Tokios 采用了另一种方案:您在模型旁边运行的tokios-connector 永远不会监听入站流量。它只会发起一条出站 wss:// 连接至 https://api.tokios.com——这与浏览器加载网页所使用的方向相同——然后 Tokios 通过该连接路由请求。无需转发任何端口,无需开放任何防火墙规则,也无需将任何地址绑定到 0.0.0.0。
所有能够抵达模型的请求都必须携带限定了使用范围的 sk-tok-… API 密钥,只有在验证通过后 Tokios 才会将其通过隧道转发至连接器。这些密钥可依据模型名称模式限定其适用的部署范围,也可随时轮换、禁用或删除;一旦密钥被撤销,其认证效力即刻失效。
需要明确的是:仅具备出站能力的连接器从结构上来说根本不存在可对外暴露的入站接口。这属于连接模型层面的差异,而非某种安全层面的绝对保障。Tokios 也并未宣称能杜绝所有因模型暴露而引发的滥用风险——一旦 API 密钥泄露,其带来的危害与普通密码泄露并无二致。其实质意义更为具体且技术化:由于根本不存在监听端口,扫描器也就无从探测到任何端口。
实际运行效果示例
1
按默认设置让 Ollama 在本地回环地址上运行即可
OLLAMA_HOST 覆盖参数,也无需启用绑定至所有接口的标识。2
随后完成连接器配对操作
tokios-connector 会主动向 https://api.tokios.com 发起连接请求,随后静候您在控制台中予以确认。此步骤绝不会在您的电脑或路由器上开启任何端口。3
此时您便能从任意位置调用该模型了
sk-tok-… 密钥,否则请求根本无法抵达您的连接器。总结要点
175,000 台主机的数据是一项扫描结果,而非针对任何特定服务器的预测。但其背后的规律很简单,无论具体数量如何都值得牢记:入站可达性加上无身份验证就是问题的全部。 去掉入站这部分,就消除了整类”他们是怎么发现这个的”事件,因为根本没有监听任何端口可供发现。快速入门
配置连接器、注册模型并发送您的首个请求即可。
Ollama 远程访问设置
将原本已对外开放的 Ollama 服务重新绑定至本地回环地址,之后通过 Tokios 实现对该服务的访问。
Tokios 的请求路由机制
全面了解这种仅允许出站连接的架构设计。