Centos服务器相关

如何为Ollama服务设置仅本地访问,堵住AI模型泄露漏洞

2025-09-11 5 0

简介 如何为Ollama服务设置仅本地访问,堵住AI模型泄露漏洞,自己搭的deepseek服务被检查出该主机存在Ollama Server 未授权访问问题该如何处理

安全加固实战:如何为Ollama服务设置仅本地访问,堵住AI模型泄露漏洞

一次意外安全扫描,竟发现我的AI服务暴露在公网!只需三步,成功将Ollama锁在本地安全区。

某日对服务器进行常规安全扫描时,我意外发现控制台飘红警报——“检测到Ollama Server未授权访问漏洞”。这意味着部署在Linux服务器上的DeepSeek模型可能被任何人随意访问,甚至模型文件都有被拖库的风险。

通过一番紧急处置,我成功解决了这个安全隐患。现将完整操作过程分享给大家,特别是AI应用开发者们。

01 漏洞风险:不只是理论上的威胁

Ollama默认安装后会监听0.0.0.0:11434端口,这意味着它不仅接受本地请求,还会响应来自任何网络的连接。在公网环境下,这相当于敞开大门欢迎不速之客。

攻击者可能利用此漏洞:

  •  任意拉取(下载)已部署的模型文件

  •  滥用计算资源进行模型推理

  •  投喂恶意数据污染模型

  •  导致服务拒绝访问,中断正常业务

02 修复方案:三种方法锁定本地访问

我发现了三种有效方法来解决这一问题,第三种方法最适合生产环境

方法一:临时环境变量(快速验证)

# 临时设置,当前终端会话有效
export OLLAMA_HOST="127.0.0.1:11434"
sudo systemctl restart ollama

这种方法简单快捷,但重启服务器后会失效,只适合临时测试。

方法二:永久环境变量(持久生效)

# 编辑系统环境配置文件
sudo nano /etc/environment

# 文件末尾添加一行
OLLAMA_HOST=127.0.0.1:11434

# 重新加载配置并重启服务
source /etc/environment
sudo systemctl restart ollama

这种方式对所有用户和服务生效,适合单用户环境。

方法三:修改Systemd服务文件(生产环境推荐)

这是最彻底、最可靠的方法,特别适合通过systemd管理的服务。

步骤如下:

  1. 编辑Ollama服务配置文件

sudo nano /etc/systemd/system/ollama.service

  1. 在[Service]部分添加环境变量

找到[Service]区块,在已有的Environment设置下添加新行:


[Service]
ExecStart=/u01/software/ollama/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"
Environment="OLLAMA_HOST=127.0.0.1:11434"  # 新增此行

  1. 重新加载配置并重启服务

# 重新加载systemd配置
sudo systemctl daemon-reload

# 重启Ollama服务
sudo systemctl restart ollama

# 检查服务状态
sudo systemctl status ollama

03 验证效果:如何确认配置已生效

配置完成后,必须验证是否真正起效。

执行检查命令:

# 检查端口监听情况
netstat -tlnp | grep 11434

# 或者使用ss命令
ss -tlnp | grep 11434

安全的表现:


tcp   0   0 127.0.0.1:11434   0.0.0.0:*   LISTEN

危险的表现(需修复):


tcp   0   0 0.0.0.0:11434     0.0.0.0:*   LISTEN

还可以通过curl命令测试:

# 本地访问应该成功
curl http://127.0.0.1:11434/api/tags

# 公网访问应该失败(替换your-server-ip为实际IP)
curl http://your-server-ip:11434/api/tags

04 额外加固:多层防御更安全

除了限制监听地址,还可以增加额外安全层:

1. 防火墙规则(UFW)

bash

# 允许本地访问sudo ufw allow from 127.0.0.1 to any port 11434# 明确拒绝外部访问sudo ufw deny 11434/tcp

2. 反向代理认证(Nginx)

如果需要远程访问,建议通过Nginx添加基础认证:

nginx

server {
    listen 80;
    server_name your-domain.com;
    
    location / {
        auth_basic "Ollama Admin Area";
        auth_basic_user_file /etc/nginx/conf.d/ollama.htpasswd;
        proxy_pass http://127.0.0.1:11434;
    }}

05 总结:安全无小事,防范于未然

这次安全事件给我敲响了警钟——AI基础设施的安全同样重要。通过简单的配置修改,我们就能避免重大安全风险。

关键要点:

  • 立即检查:你的Ollama服务是否暴露在公网

  • 优先选择:修改systemd服务文件是最可靠的方法

  • 必须验证:配置后务必检查端口监听状态

  • 多层防护:结合防火墙和反向代理提供额外保护

人工智能时代,数据和安全就是核心竞争力。一个小小的配置疏忽可能导致严重后果,希望本文能帮助大家避免这样的安全隐患。





点赞 0

我的名片

网名:梦宇信息技术

职业:软件开发、Mes系统工程师

现居:福建省-福州市

QQ:703159

站点信息

  • 联系QQ:703159
  • 文章统计99篇文章
  • 标签总数6
  • 加我微信:扫码,加我微信