☁️搭建私有分布式对象存储服务
2024-1-7
| 2024-8-18
字数 863阅读时长≈ 3 分钟
👀
背景:之前使用阿里云OSS、腾讯云COS这些都是按照存储占用和访问流量进行计费,比较心疼,后来我就都不用了。最近网上冲浪发现其实可以使用minio来搭建私有的S3存储服务,并且可以通过PicGo满足Typora写作时自动上传图片作为图床使用。
以极空间NAS为例介绍方法(要买带Docker服务的NAS):

一、极空间配置

仓库搜索:elicro/minio并下载,选择导入到容器
notion image
(minio/minio测试也可以用,但注意容器设置和下面不一致)

容器设置:

设置文件夹路径、端口、环境,增加
MINIO_ROOT_USER、MINIO_ROOT_PASSWORD两处配置
notion image
容器运行后:
notion image

二、配置minio

访问http://极空间内网IP:40001地址,使用账号密码登录后,创建Bucket,例如我命名为“images-oss”
notion image

创建Access Keys

记得保存下来,后面配置上传时需要用到
notion image
设置access key只能用于images-oss这个bucket

json

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "admin:*" ] }, { "Effect": "Allow", "Action": [ "kms:*" ] }, { "Effect": "Allow", "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::images-oss/*" ] } ] }
JSON
"arn:aws:s3:::images-oss"这样好像也可以

修改为public

notion image
设置好以后,可以上传文件进行测试,看是否可以正常访问
notion image

三、配置Typora上传服务

下载PicGo
点击插件设置-搜索"minio"
notion image
按照下图进行设置,注意配置完之后可以在上传区上传图片进行测试是否可以上传成功
notion image
打开Typora-偏好设置-设置上传服务
插入图片时选择“上传图片”,这样设置好以后每次在typora粘贴图片时,就会自动上传
notion image

四、minio安全性配置

有一些安全性风险还需要注意⚠️

1、存储桶目录遍历风险

前文提到要将存储桶(bucket)配置为public,方便存储的文件能够直接通过链接访问,适用于博客图床。
notion image
但是默认配置会存在“存储桶目录遍历”的安全风险,攻击者获得文件分享链接后,将文件名删除,直接访问存储桶就可以看到存储的所有文件。如下图所示:
notion image
如何解决呢?可以设置custom,删除下面这一行后点击SET保存即可
notion image
此时再次直接访问存储桶,就会提示无权限
notion image

2、旧版本在集群模式下部署存在漏洞会泄露账号密码(CVE-2023-28432)

在其RELEASE.2023-03-20T20-16-18Z版本(不含)以前,集群模式部署下存在一处信息泄露漏洞,攻击者可以通过发送一个POST数据包获取进程所有的环境变量,其中就包含账号密码MINIO_SECRET_KEYMINIO_ROOT_PASSWORD。详见:https://github.com/vulhub/vulhub/blob/master/minio/CVE-2023-28432/README.zh-cn.md

五、其他补充说明

现在新版本的Minio在存储中实际的不是源文件,例如上传了cat.jpg,实际存储为cat.jpg/xl.meta,此时文件名是一个文件夹。如下图所示:
notion image
notion image
如果要以源文件进行存储,需要使用老版本,根据百度查到的信息,使用RELEASE.2022-05-26T05-48-41Z即可。
notion image
完结!
 
  • 建站
  • 开发
  • 20元低成本家庭无线中继方案网址反欺诈工作实践
    Loading...