WebDAV vs SFTP,群晖外网文件访问到底谁更合理?
最近在折腾家庭 NAS 的外网文件访问方案,也看了不少关于 WebDAV 、SFTP 在性能和安全性方面的讨论,发现很多结论差异很大,想结合自己的场景再请教一下各位如何选择。
网络环境:家庭宽带(电信)、公网 IPv4 ,上行 50Mbps ,下行 1000Mbps ,有域名,有 DDNS 脚本进行 IP 绑定。 设备:群晖 NAS (最新版 DSM ) 使用场景:同城同运营商,偶尔会跨运营商。手机客户端用 Documents by Readdle ,电脑客户端用 Mountain Duck 5 或者 RaiDrive (旧版,无广告的),电脑在外基本要靠手机热点联网。
主要用途是:办公文件管理(列目录、找文件、在线编辑等),偶尔大文件传输,有时还会访问 3000+文件的超大目录。
看了前段时间飞牛的问题,在安全方面也有考虑,希望不要被攻破。但由于家人都要使用,设备太多,全部配 VPN 也不现实,还是得通过 DDNS 直连。
考虑了好久现在有 2 种方案:
WebDAV 套 Nginx 反代后暴漏到公网,限制本省 IP 访问 使用群晖官方套件的 WebDAV 服务,套一层内置的 Nginx 反代后通过高位端口映射出去。WebDAV 和 Nginx 都启用 https ,TLS 强制 1.3 版本。所有用户设置 50 位以上的强密码,群晖启用自动封锁。
SFTP 直接暴漏到公网,限制本省 IP 访问 目前 DSM 最新版的 OpenSSH 版本信息为
OpenSSH_8.2p1, OpenSSL 1.1.1u 30 May 2023,通过高位端口直接映射出去,给所有用户都生成 ed25519 的密钥(带 passphrase ),仅允许密钥认证,禁止密码登录。所有的公钥都添加restrict,command="internal-sftp"限制使用范围。群晖启用自动封锁,且强制所有用户登录 SFTP 后进入家目录,不得进入其他路径。
综合性能、安全、稳定等多方面因素,上面两个方案哪个更合适呢?
我用的 WebDAV 因为客户端支持的多
@dilidilid OneDrive 太慢了呀,既然有了 NAS 当然首选自己的机器呢
@lqzhgood @billgong @coffeesun 我也知道 VPN 好,我自己就用 VPN ,但是家人设备太多,实在管理不过来,一想到分流配置就头大。至于 0day ,这么宝贵的 0day 拿来打我也不合适吧
@nananqujava 确实 WebDAV 支持的很多,有好多客户端不支持 SFTP
@Autonomous #10 0day 刷肉鸡,肉鸡攻 DDoS 。多一只鸡就能早几十 ms 拖垮一个服务🤣
你提到 OneDrive 了,如果只是需要像 Dropbox 那样同步文件,Syncthing 蛮方便的,能自己 NAT 打洞。
也可以研究一下 Cloudflare Zero Trust ,不过你有公网 IP ,啥都过一遍 CF ,尤其还在国内的话,会比较慢。我之前回国通过 CF One 打洞翻墙流量从国外家宽出口,稳得一批,比 AARNet 的 VPN 还稳
从性能和安全性来说 SFTP 是更好的,处理小文件速度快很多,而且搭建起来更容易。
但是从兼容性来说,WebDAV 对移动端 app 兼容性更好。
我的个人建议是两个都开。另外密码不用搞这么麻烦吧,网络安全重在意识,你这个有点过度保护了,容易把自己锁外面