上周叫师傅开通了家用公网,一个月 20 块钱。
想搭建一个 samba 或者 webdav 服务器,给公司和外出作文件分享使用。
先前的方案是坚果云,无奈空间太小价格太贵,其他的网盘又担心资源和谐问题。
有没有什么方法可以既保证一定安全的情况下,又可以自己舒服的同步和传输文件?
目前已经设置的:
但是除此之外就不知道还需要如何设置了。
或者有什么更好的文件服务器部署方式,可以推荐以下。
1 cxtrinityy 2023-04-22 12:53:17 +08:00 via Android zerotier 打洞,只在 zerotier 子网内公开不就行了? |
2 Cineray OP @cxtrinityy 穿透太慢了,外出不方便,也不便于分享。 |
3 ruidoBlanco 2023-04-22 13:00:07 +08:00 ![]() wireguard 或者 zerotier ,总之就是 VPN 。samba 只监听在 wireguard 的 IP 地址上。 要不要密码什么的,随意就好。 |
4 systemcall 2023-04-22 13:00:18 +08:00 via Android ![]() 现在国内很多地方的运营商会查 HTTP 入站 zerotier 有些地方已经不能正常用了,差不多是几年前 GitHub 的待遇,tailscale 还是可以用的 现在跨省甚至跨市,都要过反诈了,和 gfw 类似的东西,封锁的权限下放了。现在还是 p2p 打洞比较稳 |
![]() | 5 dogfight 2023-04-22 13:03:22 +08:00 frp 安全吗 |
6 aru 2023-04-22 13:07:40 +08:00 vpn 连进来就行了 wiregurad 、openvpn 、pptp 、l2tp 、zerotier 都行 |
![]() | 8 mingl0280 2023-04-22 13:11:46 +08:00 via Android ![]() 别用 smb ,webdav+https+TLS Auth 可以干死大部分的攻击了…… |
9 eudemonwind 2023-04-22 13:14:09 +08:00 via Android ![]() smba 换 ssh 好点吧? webdav 建议套 nginx ,禁 ip 访问,限定域名访问,防扫描,套 https ,套 cf 等等,跟建站防的那一套差不多。 简单安全的话还是建议 wireguard ,家里用 openwrt 搭个服务器,需要的话连回去,其他设置都不需要怎么动,网盘里放一份客户端,手机上存一份,基本上几分钟就能搞定客户端回去。 还一建议就是家里 nas 上开个虚拟机的 win 系统,有需要 rdp 回去,就是互传速度会大大受限于两边网速。 总之就是暴露的越少越好 |
11 hefish 2023-04-22 13:15:42 +08:00 ![]() 又要公网,又要方便,又要安全。。。 那看起来还是得花钱啊。。。fw,ips,av,waf 买下来,再每两年做个等保测评,二级等保就可以了,再每年做个风险评测,漏洞扫描, 再找个第三方运维公司。 一套下来应该就安全了。 |
![]() | 12 vibbow 2023-04-22 13:17:26 +08:00 禁止国外 IP 连接解决 99%的问题 |
13 mzliangjianjun 2023-04-22 13:19:52 +08:00 via Android 不开放到公网 |
14 Cineray OP @hefish 这…很久没接触网络安全了,现在攻击都这么恐怖的吗…我记忆里还停留在暴力破解密码,跑彩虹表的阶段。 |
![]() | 16 mengdodo 2023-04-22 13:49:07 +08:00 想起了很久之前看过的一篇文章 http://fisherworks.cn/?p=3541 |
17 dancercl 2023-04-22 13:51:29 +08:00 用过坚果云,那就自部署个 Nextcloud 啊,开源平替,多端同步。 |
18 hefish 2023-04-22 13:59:42 +08:00 攻击有很多很多种途径和方法,一般自建站没有什么利益可挖的话,不用特别去强调安全。 主贴里面的措施大致也可以了。 真是大站,那基本都是按照规范,来个全套。 |
19 hefish 2023-04-22 14:02:12 +08:00 要禁止外国 IP 的话,可以自己去 APNIC 去下载一份 IPv4 的分配表,筛选出分配给 CN 的部分,然后针对这部分 IP 做个路由,默认路由就删掉。这样外国 IP 就访问不到了。 也有人家筛选好的 IP 列表,以前记得是 https://ispip.clang.cn/ |
![]() | 20 DonaidTrump 2023-04-22 14:04:03 +08:00 典型的既要又要 |
![]() | 21 kkocdko 2023-04-22 14:05:29 +08:00 webdav 比较合适,开 https 并且密码有足够复杂度就行。只要操作规范,相信密码学和数学的力量。 |
![]() | 22 makelove 2023-04-22 14:07:10 +08:00 高位端口 + webdav nginx 前端足够了,能突破这个的都是百万级大杀器,不可能浪费在你身上 |
![]() | 23 LiSrRbE2Mac 2023-04-22 14:14:36 +08:00 via Android fail2ban 根据登录日记自动封禁,可以根据登录失败次数改变封禁时间,逐渐拉长 |
![]() | 27 totoro625 2023-04-22 14:31:54 +08:00 打算分享的话,你就没办法设置太高的门槛,如端口敲门等防护都没办法开启 samba 默认是无法设置端口号的,所以只能放弃该方案 我是自建的 Seafile ,带 webdav ,而且能多用户控制、去重、分享等等,自带 App ,同步软件,缺点是服务端比较重,部署麻烦: https://cloud.seafile.com/published/seafile-manual-cn/home.md 其次推荐 filebrower ,很简单好用: https://github.com/filebrowser/filebrowser |
28 Believer 2023-04-22 14:33:00 +08:00 via iPhone 最小攻击面,入站只留 vpn 的端口其他都 drop |
29 Cineray OP @totoro625 samba 我是准备设置端口转发的方式改,感觉最主要是安全问题。Seafile 和 filebrowser 我有考虑,这种就是不知道什么时候出个 0day 就比较麻烦。 |
![]() | 30 SenLief 2023-04-22 15:12:46 +08:00 如果用公网最好的还是 wireguard ,我现在有时候翻出来都是网络先回家再从家里代理出去。wg 这个协议大部分代理 app 都支持的。 |
31 Jamy 2023-04-22 15:19:02 +08:00 ![]() 首先用 iptables 把 samba 对外端口全部禁用了, 然后做一个需要登陆的 web 界面, 登陆成功之后,调用 iptable ,允许指定的 ip 连接 samba 。退出登陆的时候,再继续禁用。最大限度减少端口暴露于公网的时间。 |
![]() | 32 Eytoyes 2023-04-22 15:23:04 +08:00 主路由开 VPN 模式最佳,就像在家里一样,软件配置也不需要改动,主路由性能不够的话 60 元买个魔百盒刷 armbian 做旁路由,性能强劲功耗也低。 |
34 Fri 2023-04-22 15:39:02 +08:00 楼主搜一下“端口敲门”,可能有帮助。 |
![]() | 35 mohumohu 2023-04-22 15:55:27 +08:00 ![]() zerotier 穿透一点都不慢,在其中一端有公网 IP 的情况下百分百打洞成功,而且还加密压缩流量甚至更快更安全,还不用主动暴露任何端口。另外,zerotier 也可以自建私服的,教程很多,比如这个教程: https://blog.03k.org/post/zerotier-moon-ui.html 。 |
![]() | 36 totoro625 2023-04-22 16:12:13 +08:00 ![]() @Cineray #29 担心安全问题那就 filebrowser 吧,docker 部署,只映射一个能公开的目录,专门用于分享 因为我是 Windows ,直接用 Tailscale 方式组网后通过 samba 回家,隔了 2 个地级市只有 15ms ,能跑满带宽,相对公网比较安全 |
![]() | 37 yufeng0681 2023-04-22 16:21:27 +08:00 阿里云盘 一年 88 元的时候 ,你可以选择续三年的。6T 空间足够你放,分享。速度也很快。 现在价格升到 168 一年( 8T ),如果你分享频率高,用这个省时间,高效。 |
39 Cineray OP @yufeng0681 公有云我应该考虑做一层备份,主要是怕删东西。。 |
40 yws112358 2023-04-22 16:59:37 +08:00 seafile 好用不 安全性 便利性 |
![]() | 41 documentzhangx66 2023-04-22 17:44:26 +08:00 @Cineray 楼主在 2 楼提到: 穿透太慢了,外出不方便,也不便于分享。 我大概了解了,楼主想要一套知乎这种方案: 1.基于 Web 。 2.不需要穿透。 3.可以共享。 那么,楼主至少需要专业的 防火墙 + WAF 。 这两台安全设备,一线牌子的,第一次采购的费用基本上在 10 - 30 万左右,过了维护期后,每隔 3 年还需要花几万元续费一次授权。 楼主确定愿意花这个钱嘛? |
42 kmvvv 2023-04-22 18:05:04 +08:00 我觉得尽量用 vpn 连回来,能省很多事 |
43 Cineray OP @documentzhangx66 倒不必这么极端,根据楼上的很多推荐,貌似 webdev+https+tls auth 是比较折中的解决方案。 |
44 dann73580 2023-04-22 18:25:37 +08:00 专业的防火墙也是有开源方案的,看看 goedge ,是非常好的项目!不过一般使用的话,https+webdav+复杂密码足以,不需要的端口用防火墙关掉,不要转发。 |
![]() | 45 mohumohu 2023-04-22 18:30:42 +08:00 webdev 并不算很方便,相比 zerotier 直接挂 smb ,webdav 的体验在 windows 下简直是灾难。 |
![]() | 46 killgfat 2023-04-22 18:35:39 +08:00 via Android samba 不太适合外网使用吧,真要用建议通过 zerotier 或者 tailscale 搭一个虚拟局域网用 |
47 spacezip 2023-04-22 18:39:13 +08:00 至少 ipsec 进去吧 纯公网 墙划 dmz 设策略 ddos 防毒墙 waf ips 一套下来 得几十个 真有人打还要折腾蜜罐 |
![]() | 48 awsl2333 2023-04-22 19:04:13 +08:00 via iPhone 只开一个 http 端口,我外网用 alist 的 webdav 来传输文件,http 的服务都走 nginx ,绑定域名 |
![]() | 49 luny 2023-04-22 19:16:17 +08:00 家用的开 http 端口,估计比较容易被查吧 我是买断了花生壳 2 台主机,挺方便 |
![]() | 51 MFWT 2023-04-22 20:39:08 +08:00 ![]() 嫌 VPN 麻烦,可以考虑 SFTP ,Windows 用 FileZilla 访问就行 但是,毕竟你有公网,建议还是 VPN 的方案比较好 最次的,是系统自带的 VPN ,比如 L2TP/IPSec ,IKEv2/IPSec 什么的,但是因为没办法分流,所以平时上网也会受影响 基本还是建议用 WireGuard 或者 OpenVPN ,配置下路由,让一个特定的内网段进去就好了,这样的话文件传输用啥都无所谓,FTP ,SMB ,WebDAV 随便你 |
![]() | 52 EvineDeng 2023-04-22 20:44:13 +08:00 其实爱快或者 openwrt 都可以限制到只允许某国,甚至某省、某市的 ip 方可访问指定端口。 |
53 crazyweeds 2023-04-22 21:00:15 +08:00 成本最低,体验最好的其实就是 VPN ,前提是你有公网 IP 。 |
![]() | 54 gdfsjunjun 2023-04-22 21:11:37 +08:00 公网还要收费的?莫非是固定 IP ? 最好部署 VPN ,最安全。 |
55 q000q000 2023-04-22 21:17:03 +08:00 WebDAV + HTTPS , 不要开 SMB ! |
56 yinmin 2023-04-22 21:37:11 +08:00 via Android @Cineray 你是使用 mac 吧? 推荐 stunnel 双证书加密隧道,把远程 smb 端口 map 到本地,安全而且稳定。端口建议 465 、993 、995 等邮件常用的 tls 端口,有些企业内网防火墙限得比较严格,设这些端口能过。 |
57 Cineray OP @gdfsjunjun 我们这是要收费的,湖南电信。。 |
58 ixiumu 2023-04-22 23:17:30 +08:00 1. 公网绝不要直接 SMB 和版本或者 guest 无关 刚需请套 VPN 2. WebDAV 一定要套 TLS 证书 3. 端口几位数没有多大意义 (你想用 80/443 电信也不同意 安全这块如果你不是特别熟悉 建议上群晖 (买系统送软件不是开玩笑 黑的也行 直接跑个 VM 很方便 |
59 ixiumu 2023-04-22 23:22:38 +08:00 @ixiumu 打错了 买系统送硬件 群晖默认的设置就足够应付大多数情况了 扫描 锁 IP 之类的基础工作都帮你处理好了 超管账号开 2FA 普通用户简单设置一下权限就可以了 |
61 ixiumu 2023-04-22 23:36:13 +08:00 @Cineray 据我所知 "严重缺陷"应该是没有 但是这个是局域网协议 它握手也不考虑公网情况 这种中间人和嗅探会泄露不少东西出去 还怕被暴力 你既然在意安全性 这个首先就应该排除掉的 |
62 TheNine 2023-04-23 08:27:06 +08:00 smb 不安全,不方便。 我目前的方案是用 vpn 回家访问 还有一台专门用来控制家里其他设备的 linux 开了公网的端口,用的是私钥登陆。有时候没办法会控制它临时打开一些端口,用完就关 |
![]() | 63 MartinWu 2023-04-23 08:45:01 +08:00 wireguard + noip 免费 ddns |
![]() | 64 motai 2023-04-23 08:51:36 +08:00 via Android 开个 v2ray 服务到公网连上到局域网 |
![]() | 65 terrancesiu 2023-04-23 09:05:26 +08:00 我既有 wireguard 又有 ip 白名单,因为公司连接回去肯定是用的静态地址,所以白名单有效。 |
![]() | 66 lingeo 2023-04-23 09:08:12 +08:00 op 是哪家的运营商啊?支持购买公网 IP. |
![]() | 67 newmlp 2023-04-23 09:39:44 +08:00 用 ipv6 也可以,只要别人不知道地址,几乎不可能被攻击到 |
![]() | 68 goodryb 2023-04-23 10:03:32 +08:00 如果只是文件服务,建议使用 webdav , 前面套个 HTTPS ,端口非常用,不要弱密码,有公网 IP 直接端口映射,直连最方便 smb 不建议在公网使用,也有可能根本使用不了,运营商把 SMB 的端口都干掉了。 |
70 Cineray OP @newmlp v6 还是得用 ddns 。 这个就基本上有风险被扫到了,同时 v6 据说也有是大内网?比如手机的 v6 无法访问到电脑。既然开了公网 v4 我还是不折腾 v6 了 |
![]() | 72 cy18 2023-04-23 11:59:20 +08:00 不要用 samba 。 用群晖,seafile ,nextcloud 之类的现成的系统,配好 https ,除了 ddos 跟 0day 漏洞,应该问题不大了。 |
![]() | 73 cy18 2023-04-23 12:02:13 +08:00 另外可以看看 syncthing 满足你要求不 |
![]() | 74 vhus 2023-04-23 13:00:35 +08:00 带宽是上下行对等吗? |
75 troilus 2023-04-23 13:04:06 +08:00 最后用的 sftpgo 搭建的 WebClient ,登录支持两步验证 |
![]() | 76 777777 2023-04-23 15:30:43 +08:00 如果你介意隐私的化,可以直接 nginx 、apache 公开目录。hhhh |
77 superliy 2023-04-23 15:50:30 +08:00 @systemcall zerotier 不是 udp 类似 p2p? |
![]() | 78 fastcache 2023-04-23 21:59:37 +08:00 via iPhone zerotier 没广告,用 webdav https 还要装个有广告的软件(收费版可去广告),体验不好 |
79 dude4 2023-04-23 22:36:21 +08:00 @fastcache 你说的是 windows 的 RaiDrive 吧,支持 webdav https 和其他很多云盘本地挂载但免费版确实有广告 可以用 rclone 替代,虽然是命令行,但是开源免费还支持多种系统,能上这个坛子的人整点命令行很简单 |
80 cwbsw 2023-04-23 22:40:02 +08:00 @MFWT ipsec 也可以分流的啊,虽然不如 wireguard/openvpn 强大,但是给客户端下发一个内网段还是可以的。 |
![]() | 81 gdfsjunjun 2023-04-24 01:48:35 +08:00 @Cineray 收费的话会给固定公网 IP 吗? |
82 systemcall 2023-04-24 09:10:14 +08:00 via Android @superliy #77 现在一些地方把 zerotier 的 planet 屏蔽了,自建 moon 的话好像还是可以用的,但是 iOS 和安卓的官方客户端不可以支持。套代理的话,zerotier 似乎不能正常打洞,因为会影响对那个设备 endpoint 的判断 tailscale 没这个问题,开了代理,它会识别到走代理和直连的 endpoint ,似乎是通过设备之间互相访问来判断的,在局域网里面也可以打洞。如果你同时开启了 zerotier ,它甚至会尝试走一下 zerotier ,之后选择连线质量最好的回路 |
83 YGBlvcAK 2023-04-24 09:32:07 +08:00 ![]() 我的方案:webdav+https+二级目录+密码验证,之前也分享过 t/923605 效果:只有正确输入二级目录才能打开,比如: https://abc.com/666 ,如果 666 输错或不输入,全部不返回(非 404 ),完美隐藏 webdav 页面 优点: 1.666 可以理解为第一层密码,即便有中间人攻击也抓不到,最多只能抓到 sni ( abc.com ),除非证书劫持 2.输错 666 直接 abort ,不是 404 之类,进一步降低被探测的风险 3.实现方式:caddy |
![]() | 84 acbot 2023-04-24 10:08:57 +08:00 如果公网访问的用户不多或者网络环境相对稳定的情况下,可以考虑在网关上限制相关服务访问 IP 范围,这个可以避免 90%以上的安全问题! 如果用户多或者说网络使用环境变化大可以考虑部署 VPN ,然后在此基础上部署服务! |
85 sarkur 2023-04-24 11:40:28 +08:00 不建议 smb 开给公网,谁知道这玩意还有多少漏洞。最安全的肯定还是路由器开 vpn ,或者就本地搭建个 nextcloud 或者可道云(这个配置简单),然后弄个域名配置证书反代本地的这两个服务到公网。这样除非知道你的域名+ip 才能访问到文件服务,还是比较安全的 |
![]() | 86 Tamamopoi 2023-04-24 17:52:04 +08:00 个人用的 openvpn ,openwrt 里面直接搜索下载,点击启动,导出 ovpn 文件给手机就能直接连接了...其他 vpn 的配置太麻烦。 实测 tcp 模式传输丢包严重,udp 模式倒是不错。今天还试了在公司连接 openvpn 用 qtscrcpy 远控手机,有云手机的体验。 |
87 Cineray |
![]() | 88 knva 2023-04-25 09:10:17 +08:00 用别怕 怕别用。 |
89 MrTlyer 2023-04-25 09:34:38 +08:00 本地安装 lucky+ddnsgo+socat, 通过 cf wokers 代理走 cf cdn,前提是要开启 SSL,但是访问速度上有损失 |
90 yunisky 2023-04-25 13:22:15 +08:00 既然有公网了,装个 softether 得了,协议兼容性还挺好的,用起来也方便 |
91 eudemonwind 2023-04-26 14:08:01 +08:00 via Android @dude4 rclone+ssh 的 sftp 杠杠滴 |
92 yijiangchengming 2023-04-27 14:26:04 +08:00 WireGuard 直接上,安全性绝对有保障,而且速度也快。跑满上传带宽不是问题。还有一种是小流量文件分享,开个高位端口接入腾讯云 CDN 。端口设置只允许腾讯云回源 IP 访问,运营商也扫不出来。搭建 alist 分享也行。 |
93 mm2x 2023-04-27 19:23:56 +08:00 避免被攻击就一个比较好的办法 1.禁止 ICMP 2.只用 V6 访问。 现在还真没几个人有能力扫 V6 的 IP |