我是个网络小白,还有几个问题: 1. 如果使用 VPN 或 WireGuard 来访问 NAS 的话,手机和电脑就要在打开 VPN 应用的时候才能访问 NAS 吗? 2. 我看有人说要限制 NAS 暴露的地址和端口,这个我不太明白。要实现的话是不是需要在路由器中限制端口?还是说在 NAS 系统中就可以限制? 3. 在极空间中可以设置 IP 白名单或者 IP 自动禁止吗,还是要在 Docker 负责做代理的容器中做这个事情? 4. 对于个人 NAS 来说,需要考虑设置自动备份数据到百度云盘吗?
先简单说一下,物理隔离是有必要的。不建议 All in one 。你想跑的服务可以放到另外一台机器上,nas 就好好的用来做存储,计算放在其他计算机上。安全而言,上个物理防火墙,设置白名单,登陆方式 2FA ,或者用 usb key 。 像是你的各种需求,单独来一台 PVE 主机可以解决。 现在的各种国产 nas 确实在硬件上堆料,给人一种刚买 nas 跑什么计算服务的错觉。 计算上服务器。
bluedawn
141 天前
我的方案: 1. 能够使用 IPv6 的情况下,安装 Tailscale 在所有需要连接到 nas 的设备上,在 Tailscale 的 ACL 设定中设置 nas 和一些 server 的 tag ,以及特定用户/组可以访问的端口,通过 tailscale 统一管理而不开放任何端口在 nas 防火墙上。根据 tailscale 官方的文档关闭 nas 上的 tailscale 的 userscape 模式,保证所有访问 nas 的 tailscale ip 都能被记录到。 2. 在(至少一个) nas 上搭建 DNS 服务器( AdguardHome 或者其他),将 tailscale 上特定域名的 DNS 服务器指向 nas (或多个 nas 上的 dns 服务器),之后所有的访问在这个域名下进行。(多个 nas 的多个 dns 服务器可以保证不会有单点故障) 3. 在 nas 上搭建需要的服务,所有服务均只允许 127.0.0.1 访问,即本地访问,但由于防火墙开启所以所有服务均只能由本地的反向代理服务器访问。nas 上的反向代理服务器管理所有服务并设定子域名,使用 ACME-DNS 兼容服务自动化申请 SSL 证书进行 HTTPS 加密。(这样申请证书无需翻墙) 4. 在 tailscale 连接正常的情况下,正常访问设定的域名即可。 5. 使用 Cloudflare Tunnel 进行公网服务隧穿,保证一些需要公开到互联网上的服务可以正常访问。 6. 所有第三方服务不使用任何 nas 第三方套件,而是使用 Docker 容器,并不使用任何需要 privilege 的容器保证被入侵后的不可提权的安全性。