这是我的第一个问题,我希望能够解释清楚情况。
简短解释:
我有一个家庭网络,其中有各种客户端和一台 TrueNAS NAS。NAS 是备份和同步服务的目标,例如使用 SMB 和 HTTP,并通过其私有网络 IP 寻址。
- 我如何确保任务仅在我自己的家庭 WiFi 中运行而不是在其他网络中运行,以防止我在其他地方使用移动设备时数据被共享?
- 换句话说:例如,如果我的智能手机连接到其他网络中的相同 IP(NAS 在我家的 WiFi 中具有该 IP),那么恶意的人是否能够获取数据或凭据,这种风险有多高?
- 我的客户如何确保他们在 WiFi 网络中连接到正确的目标(NAS)?
我感谢任何提示和指点。
更详细的解释:
目前,NAS 由其本地 IP(192.168.xxx.xxx)寻址,并由 Android(>= 10)和 Windows(10/11)客户端访问。在家庭网络中,无需对流量进行加密。
我目前发现的情况:
- 在 Android 上,应用程序有时仅支持在具有特定 SSID 的 WiFi 网络上运行(例如文件夹同步)。 从这个答案,在 WPA2 上伪造 SSID 似乎很难(WPA3 应该更安全),所以这些应用程序的问题应该已经解决了。但是,并不是我使用的所有应用程序都支持这一点。
- 我使用 Syncthing,它为每个设备创建唯一的密钥对和证书,用于设备之间的加密同步,因此 Syncthing 流量也应该没问题。
- 自签名证书可能是一种选择。我认为我必须将它们添加到我的所有设备中,但我不确定这些证书是否受所有客户端/应用程序支持。
- 因为所有 NAS 服务都在同一个 IP 上运行,所以我可以在客户端和 NAS 之间添加一些层来对所有流量执行身份验证。
有人在自己的家庭网络中遇到过同样的问题吗?提前致谢。
答案1
确保服务器的真实性取决于所使用的应用程序和协议:
- HTTP:购买域名并将 DNS 中的域名映射到您的本地 IP。然后获取该域名的 SSL 证书并将其安装在您的服务器上。通过 HTTPS 将域名用作客户端上的目标。这样,即使不同的网络中存在相同的本地 IP,客户端也只会信任您的服务器(带有证书)。您还可以在服务器上为不支持 HTTPS 的应用程序使用反向代理。
- Syncthing:已经基于 TLS;上述方法可用于管理 Web 界面
- SMB:(参见 u1686_grawity 的评论)SMBv2/SMBv3 不对服务器进行身份验证。可以使用 Kerberos 或 SMB over QUIC 协议进行服务器身份验证,但移动应用程序通常不支持这两种协议。
此外,对于移动设备,您有时可以限制应用程序仅在特定的 WiFi 网络上运行。