一、Ollama是什么
Ollama是一款开源框架,专为在本地计算机上快速部署和运行大型语言模型(如Llama 2、DeepSeek、通义千问等)而设计。它通过类Docker的操作方式(支持pull、run等命令),将模型权重、配置和数据打包成“Modelfile”,让用户无需复杂配置即可在本地高效调用大模型,同时支持GPU加速和多平台运行。无论是开发者还是普通用户,Ollama都能将大模型的使用门槛降至最低,成为探索AI能力的利器。Ollama的核心功能和优势如下。
极简部署
支持macOS、Windows、Linux及Docker,安装仅需一行命令。例如,Mac用户通过brew install ollama即可完成安装,Windows用户可直接下载安装包。内置预训练模型库(如Llama 2、Mistral、DeepSeek-R1等),通过ollama run 模型名即可一键下载并启动。
灵活管理模型
支持模型版本切换、参数自定义(如温度值、上下文长度)和本地存储路径调整。用户可通过编写Modelfile文件,实现个性化配置。提供类似Docker的命令行工具,例如ollama list查看已下载模型,ollama rm删除冗余模型。
多场景调用方式
命令行交互:直接输入文本与模型对话,适用于快速测试。
REST API:通过HTTP接口集成到Spring Boot等应用中,例如curl http://localhost:11434/api/generate调用模型生成文本。
可视化界面:集成ollama-webui-lite、Lobe-Chat等第三方工具,提供更友好的交互体验。
隐私与性能兼顾
所有计算均在本地完成,避免敏感数据上传云端,保障隐私安全。支持多GPU并行推理,优化显存占用,7B模型仅需8GB内存即可流畅运行。
二、Ollama未授权访问漏洞详情
由于 Ollama 的默认部署配置未强制启用身份认证机制,如果服务端口(默认11434)直接暴露于公网,则攻击者可直接访问高危接口,从而读取、下载或删除私有模型文件,并窃取敏感业务数据或滥用模型推理资源,如果 Ollama 以 Docker 部署,则攻击者可能通过恶意指令注入实现容器逃逸。漏洞风险如下:
1. 无访问控制机制:Ollama服务默认暴露RESTful API接口(端口11434),默认未开启身份认证措施
2. 网络暴露隐患:若未进行网络隔离,服务接口可直接被公网访问
3. 资源滥用风险:攻击者可通过API接口
-
拉取/删除模型文件 -
执行任意 Prompt 指令 -
远程调用模型计算资源 -
获取私有知识库内容 -
注入恶意数据污染训练集
漏洞影响Ollama 所有版本(若直接暴露公网且未配置认证)。
如下图所示,根据国内某知名互联网资产探测引擎发现,截止目前互联网共有14679个ip地址可能存在安全风险。
参考以下方式可以查看服务器已下载的模型清单
-
URL:
http://<目标IP>:11434/api/tags
-
请求方式:
GET
其他Ollama的官方API接口:
(1) 文本生成测试
-
URL:
http://<目标IP>:11434/api/generate
-
请求方式:
POST
-
功能: 发送文本请求生成内容
curl http://<目标IP>:11434/api/generate -d '{
"model": "llama2",
"prompt": "用一句话解释AI是什么",
"stream": false
}'
响应示例:
curl http://<目标IP>:11434/api/generate -d '{
"model": "llama2",
"prompt": "用一句话解释AI是什么",
"stream": false
}'
(2) 聊天交互测试
-
URL:
http://<目标IP>:11434/api/chat
-
请求方式:
POST
-
功能: 多轮对话交互
curl http://<目标IP>:11434/api/chat -d '{
"model": "llama2",
"messages": [
{"role": "user", "content": "如何学习编程?"}
],
"stream": false
}'
响应示例:
{
"message": {
"role": "assistant",
"content": "学习编程可从选择一门语言开始,如Python,通过实践项目逐步掌握基础语法和算法。"
}
}
(2) 模型操作
拉取模型:
curl http://<目标IP>:11434/api/pull -d '{"name": "deepseek"}'
删除模型:
curl -X DELETE http://<目标IP>:11434/api/delete -d '{"name": "llama2"}'
三、安全部署建议
1、如无必要,建议将 Ollama 服务端口(11434)从公网关闭,仅允许内网或 VPN 访问;
2、配置网络安全策略,限制指定来源 IP 才能访问 Ollama 服务端口(11434);
3、若需公网访问,建议配置反向代理(如 Nginx)并启用 HTTP Basic 认证或 OAuth 集成:
# Nginx 配置示例(需生成 .htpasswd 文件)
location / {
proxy_pass http://localhost:11434;
auth_basic "Ollama Admin";
auth_basic_user_file /etc/nginx/conf.d/ollama.htpasswd;
}
原文始发于微信公众号(安全有术):基于ollama部署DeepSeek等大模型的安全风险提醒
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论