文章信息

Ollama启用API密钥安全加固建议

发布时间:『 2025-03-08 09:21』  文章类别:技术开发  阅读(68) 评论(0)

国家网络安全通报中心2025年03月03日通报ollama存在安全风险,风险隐患重点来自ollama服务无任何鉴权机制,存在数据泄露、算力盗取、服务中断等安全风险,极易引发网络和数据安全事件。

鉴于ollama提供的api服务与openai规范一致,建议安全加固落地方法为启用api密钥管理。我们接下来采用nginx反向代理来解决这个问题。

首先我们修改ollama服务的端口,如端口5000:

# 编辑ollama的Systemd服务文件
root@uzen.zone:~# vim /etc/systemd/system/ollama.service
[Service]
# 追加环境变量
Environment="OLLAMA_HOST=127.0.0.1:5000"
# 重新加载systemd的配置文件
root@uzen.zone:~# systemctl daemon-reload
# 重启ollama服务
root@uzen.zone:~# systemctl restart ollama

然后,安装好nginx后编辑nginx配置文件:

root@uzen.zone:/usr/local/nginx/conf# vim nginx.conf
worker_processes  2;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    gzip  on;
    
    server {
        listen 11434;
        server_name xxx.xxx.xxx.xxx; # 服务域名或IP

        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            # 检查请求头中是否包含 Authorization
            if ($http_authorization = "") {
                return 403;
            }
            # 检查API密钥是否为有效值
            if ($http_authorization != "Bearer YOUR_API_KEY") {
                return 403;
            }
            proxy_set_header Authorization $http_authorization;

            proxy_pass http://localhost:5000/;
        }
    }

}

最后,启动nginx服务,记得对外开放11434端口。

root@uzen.zone:/usr/local/nginx/sbin# ./nginx

测试ollama的api key是否生效:

root@uzen.zone:~# curl -H "Authorization: Bearer YOUR_API_KEY" http://localhost:11434
Ollama is running.
root@uzen.zone:~# curl http://localhost:11434/
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.26.3</center>
</body>
</html>

通过以上测试发现,如果不携带正确的api key,则请求不到接口返回403。


其他:为本地ollama客户端配置服务端口,以便相关相关ollama指令能正常执行。

root@uzen.zone:~# echo 'export OLLAMA_HOST=http://localhost:5000' >> ~/.bashrc
root@uzen.zone:~# source ~/.bashrc
# 执行ollama指令测试
root@uzen.zone:~# ollama list
NAME                        ID              SIZE      MODIFIED    
qwen2.5:7b-instruct-q5_0    16c4cf552635    5.3 GB    2 days ago


关键字:  ollama  apikey  鉴权  大模型  安全  nginx  端口

上一篇:基于mysql数据库层面的字段格式化处理

下一篇:没有了

评论信息
暂无评论
发表评论
验证码: 
当前时间
小主信息

愿历尽千帆,归来仍少年。
3D标签云

Anything in here will be replaced on browsers that support the canvas element

友情链接

Copyright ©2017-2024 uzen.zone
湘ICP备17013178号-3