基于ollama部署DeepSeek等大模型的安全风险提醒

admin 2025年3月3日09:20:25评论29 views字数 2263阅读7分32秒阅读模式
基于ollama部署DeepSeek等大模型的安全风险提醒

一、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地址可能存在安全风险。

基于ollama部署DeepSeek等大模型的安全风险提醒

参考以下方式可以查看服务器已下载的模型清单

    • URLhttp://<目标IP>:11434/api/tags

    • 请求方式GET

基于ollama部署DeepSeek等大模型的安全风险提醒

其他Ollama的官方API接口:

(1) 文本生成测试

  • URLhttp://<目标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) 聊天交互测试

  • URLhttp://<目标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等大模型的安全风险提醒

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月3日09:20:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   基于ollama部署DeepSeek等大模型的安全风险提醒https://cn-sec.com/archives/3787318.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息