我在雇主的局域网上操作几台 NAS 设备。我这样做得到了雇主的许可,但我无法控制域,而且这些设备仅供局域网上的一小群工作组使用,无法从广域网外部访问(也就是说,没有 VPN)。不过,他们可以访问互联网来获取固件更新。
我使用 https 作为 Web 界面(通过非标准端口),用于管理,但用户也使用它来设置密码和用于某些用例,尽管大多数用户使用 SMB 或 SFTP 访问他们的数据。这些设备预装了 Synology 的不受信任的 https 证书。
是否有一种普遍推荐的方法来处理浏览器抱怨不受信任的证书这一事实?据我所知,到目前为止,选项包括:
创建例外
每个用户都需要在浏览器中为每个设备创建一个例外,在他们要连接的每台设备上都创建一个例外。我不太确定这样做有多安全。这是否意味着浏览器将始终接受给定机器的任何证书,或者接受来自任何机器的相同证书,或者例外仅适用于特定的证书/设备组合?使用预装的制造商证书有多智能?
生成我自己的证书
通常建议使用 Let's Encrypt 来获取干净、有效的证书,但他们要求我证明对某些域的控制权,所以据我所知,这是行不通的。
自签名证书可以吗?按照 Mircea Vutcovici 的建议去做会不会有点过分这里并制作我自己的 CA 等等?
我通常对不同的处理方式能提供的安全级别感到困惑。NAS 设备包含的数据不应该被 LAN 上的大多数人访问,但我们也不允许将这些数据存储在办公室计算机上,所以我们不需要疯狂的安全级别,但我想确保我没有做傻事。大多数用户对网络安全知之甚少,因此让他们全部安装自定义证书可能会引起一系列支持问题——但如果需要的话,我可能会咬牙坚持。
答案1
让已在用户设备上受信任的 CA 颁发您的证书。TLS 不关心这是内部 PKI 还是由第三方管理的 PKI。
建立自己的 CA 只会转移自签名问题,用户仍然默认不信任您的 CA。
建议实际获取测试环境的证书并使用它。
如果用户的浏览器没有收到任何可怕的警告,那么这就是成功。警报疲劳很糟糕。用户不知道如何管理证书。