有没有方法可以在公共 SMB 上面加密保存并能够方便存取文件的方法?

1 天前
 yyy134341

背景

现在有一个大家都能访问的 SMB Nas 网盘,碍于电脑硬盘容量不足,需要把部分内容迁移到 SMB 里面 因为隐私关系,因为大家都有权限 Access ,所以不希望放在 SMB 里面的文件能够给大家太轻易地打开 但是放到 SMB 的文件也是会被经常读写的,所以用压缩软件加密后丢进去、要用的时候解密拿出来也不是一个好的解决方法 来求求大家有没有什么比较无感或者比较方便能够实现?

几个想法

  1. 开一个虚拟机,将虚拟磁盘文件丢到 SMB 里,然后再在虚拟机里面开一个 SMB Server ,个人电脑就能通过 SMB 无感存取里面的文件。这样在 SMB 里就只有一个映像文件,其他使用者也没那么容易打开里面的文件。缺点是这个映像毕竟也是没有加密,别人一拿去加载到虚拟机里就能拿到所有文件
  2. 架设类似于 ownCloud 、Nextcloud 的个人云盘服务并将数据库文件丢在 SMB 里,然后通过网页或者客户端访问文件。这个没实现过,我想到的缺点是存取文件不太方便?需要查阅文件的时候还是要通过客户端/网页去下载/上传文件,这样本地就会有很多文件副本,而且文件在下载不能按需读取,比如 40G 的视频如果直接在 SMB 打开就可以边加载边播放,这种方式如果想本地播放的话好像不太行,得 40G 全部下载后才能打开

来征求大家有什么好的 idea ,感激不尽

1296 次点击
所在节点    NAS
20 条回复
fangpeishi
1 天前
试过 cryptomator 吗
xxbing
1 天前
VeraCrypt 是不是可以? 我没实验过,创建一个巨大的文件,通过 VeraCrypt 可以打开、关闭. 这个文件应该可以转移存放到远程 smb.
xxbing
1 天前
问了 ai, ai 回答: VeraCrypt 本质上是把一个加密空间映射成虚拟磁盘,加密容器文件(.hc 之类的文件)其实就是普通文件,所以它完全可以存放在远程 SMB/CIFS 网络共享里。
includewins0ck2h
1 天前
如果是 windows 系统,bitlocker 一个 vhdx 磁盘在 smb 可以吗
alfawei
1 天前
用 nas ,每个一个账号,不同权限
Opportunity
1 天前
vhdx 可以开 bitlocker 的
kokerkov
1 天前
问题来了,那为什么 samba 不设置权限管理呢?
ooxxcc
1 天前
linux 的话用 encfs ,但你不怕别人删改你的文件吗

隐私重要内容不要放到这种地方
yyy134341
1 天前
@alfawei
@kokerkov
admin 设置的不是我设置的 我也控制不了 admin 怎么想
yyy134341
1 天前
@ooxxcc 删改倒是不怕 NAS 会有 snapshot
yyy134341
1 天前
@includewins0ck2h
@Opportunity
是指在虚拟机的那个系统里面开 bitlocker ?
Opportunity
1 天前

不需要虚拟机啊,直接用物理机不好吗?当然你要有隔离需求另说。
yyy134341
1 天前
@xxbing #2
@fangpeishi
这种其实方案挺理想的 但刚刚试了下性能 大文件 copy 写入是 50MB/s ,但小文件写入好像就只有 10MB/s ,正常 SMB 不加密拷贝的话能满速 115MB/s

CPU 是 AMD 9900x 拷贝的时候 cpu 也没占用多少 不知道是硬件问题还是软件优化还是设置问题
Satelli
1 天前
个人认为 Cryptomator 是最优解。它的加密产物是文件,而不是一个巨大的加密磁盘镜像。
yyy134341
1 天前
@Opportunity #12 实现了一下 确实可以 性能损耗几乎无感 挺好的 感谢指导
includewins0ck2h
1 天前
@yyy134341 nas 里面新建一个 vhdx 磁盘,本地加载,然后 bitlocker 加密,远程不需要虚拟机。
HTravel
1 天前
创建域账号,每个用户一个域账号,通过域账号登陆 Windows 。然后再创建域群组,域群组里面添加域账号。域群组支持嵌套。

大公司是这样玩的,因为有 IT 部门的域管理员。你们如果比较正规的话,可以试试,十几万人的权限控制都没问题。
tsvico
1 天前
openalist + alist-encrypt
然后使用 webdav 挂载到本地
WizardLeo
1 天前
很好奇为什么单文件加解密会比整个虚拟磁盘加解密性能要差,甚至是 10 倍性能差距?
w568w
1 天前
1. 关键词:Stacked filesystem encryption ,即「在现有文件系统中储存加密文件结构,且可以通过挂载等方式无感读写的用户级别文件系统」。

除了楼上提到的 EncFS 和 cryptomator ,gocryptfs 和 CryFS 也可以看看。后三者都是支持 Windows 的。个人推荐 Cryptomator (部分功能需要付费)、gocryptfs (完全开源免费,但界面不太友好)。

不过 Cryptomator 确实速度会慢一点,原因未知,可能是加解密算法设计问题?

2. 至于 VeraCrypt 、VHDX 这种块设备级别的加密,就要看具体的软件实现了,整栈从下到上都需要支持 sequence read/write in the middle 。SMB 本身应该是支持的,VHDX 应该也是支持的。VeraCrypt 速度慢可能是将 sequence read/write 转化为 random read/write 了。

3. 只是要防止其他人看到的话,楼上介绍的权限控制方法也是可取的,0 性能损失。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1153093

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX