但是ollama本身并没有提供安全认证功能,部署后会开放一个接口服务,如果直接部署或者穿透到公网,无疑是明晃晃的未授权,来看看公网上有多少服务:
https://github.com/ollama/ollama/blob/main/docs/api.md
接口名称 |
接口地址 |
请求方法 |
接口描述 |
Chat |
|
POST |
使用提供的模型生成聊天中的下一条消息。 |
Tags |
|
GET |
列出本地可提供的型号。 |
Show |
|
POST |
获取指定模型的详细信息。 |
Copy |
|
POST |
从现有模型创建副本。 |
Delete |
|
DELETE |
删除模型及其数据。 |
Pull |
|
POST |
从 Ollama 库中下载指定模型。 |
Push |
|
POST |
将模型上传到模型库。 |
ListRunning |
|
POST |
列出当前加载到内存中的模型。 |
Version |
|
GET |
获取 Ollama 服务的版本号。 |
GET /api/tags
直接就是AnythingLLM调用API,爽了,兄弟们。
sudo ufw enable
只允许你的本地PC 的公网 IP访问 Ollama 服务的端口(默认 11434
):
sudo ufw allow from 你的公网IP to any port 11434
2、云服务器安全组,进行端口白名单的限制
3、通过nginx转发然后配置一些认证:
location / {
set$auth_check0;
if ($http_Authorization!="Basic xxxxxxxx") {
set$auth_check1;
}
if ($auth_check) {
return403Forbidden;
}
proxy_pass http://192.168.31.110:11434/;
}
location / {
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://192.168.31.110:11434/;
}
location / {
allow 192.168.1.0/24;
deny all;
proxy_pass http://192.168.31.110:11434/;
}
location / {
access_log /var/log/nginx/access.log combined;
proxy_pass http://192.168.31.110:11434/;
}
原文始发于微信公众号(Secu的矛与盾):速度自查,看看你的通过Ollama部署的大模型有没有中招
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论