minio数据泄露的高风险问题

如果应用中存在大量的图片,音频,视频,或者文件等资源,最好的办法不是把它们放在静态目录下,而是保存到资源服务器oss上。

目前可选的资源服务器挺多,比如FastDFS,Minio,AWS/S3等,云服务器供应商也提供资源服务器OSS租用。但最舒心的方式还是自己搭建一个私有资源服务器,比如Minio。

为什么选择Minio呢?因为实在是太简单易用了,功能却很强大。但Minio不注意使用的话,会存在一个超级大的信息泄露的风险。

简单说,就是如果你想要提供永久性的资源下载链接,就需要把Bucket(桶)的BP设置为Read&Write。

问题来了!!!

当你用 http://minio_out_url/bucket_path/ 访问时,会得到一个超大的XML

这是怎么回事呢?!原来minio的桶有一个listObjects的功能,默认最多1000条记录,这就意味着,如果你打开永久下载链接模式,那么任何人可以通过桶路径来获取你保存的所有资源的信息,然后一个一个下载下来!如果这些资源是各种敏感数据,比如说艳照门之类,那超级八卦又该爆发了。

怎么去封堵这个风险隐患呢?需要做两件事情:

1、把Minio隐藏到内网去,让公网用户无法直接访问到minio服务器

2、通过Nginx的proxy_pass跳转访问Minio资源

3、Nginx的配置文件进行Rewrite屏蔽,只允许访问具体资源文件,不允许访问桶路径:

  location  ^~ /images {
      rewrite ^/images/(.+)$ /images/$1 break;
      proxy_pass http://minio_local_url/;

再去访问http://minio_out_url/bucket_path/,你会发现路径无效。但是你用具体的资源链接去访问,仍然可以获得资源内容。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值