2023年8月9日 外部审计安全性
我们委托位于荷兰的安全公司 Radically Open Security (RoS) 进行针对我们 VPN 基础设施的第三次审计。
我们要求他们专注于从记忆体运行的 VPN 伺服器,一个是 OpenVPN 伺服器,另一个是 WireGuard 伺服器。
我们邀请您 阅读最终报告 就我们在2023年6月中进行的第三次安全审计结论,许多修补在2023年6月底前部署。进一步的重新测试和验证也在7月进行。
RoS 发现了一些新的问题,对于他们的全面和详细报告,我们表示感谢。他们指出,尽管发现了一些问题,但表示:“本次测试中的 Mullvad VPN 中继伺服器显示出成熟的架构”以及“在测试中我们未发现用户活动数据的记录。”
我们给了 RoS 完整的 SSH 访问权限到两台2运行于记忆体中的 VPN 伺服器,使用我们最新的精简版 Linux 核心 (632) 和定制的 Ubuntu 2204 LTS 操作系统部署这些伺服器。这些伺服器的部署方式如同将要成为面向客户的生产伺服器,然而这些伺服器从未被用作这样的目的。
我们请他们确认:
内部伺服器的安全性和设置外部伺服器的安全性和设置我们是否记录客户活动RoS 还询问是否应该调查我们系统上运行的各种二进制文件的源代码,或是否应考虑硬件级别的安全性。我们拒绝了这些提议,表示这应被视为一个 “系统运行并被客户使用后的” 审计。
关键收获: 我们的 VPN 基础设施已进行了第三次审计。
引述 RoS 的话:“影响 生产用户流量对渗透测试用户可见。”
我们的评论:
RoS 获得的是类似生产的伺服器,与所有其他面向客户的伺服器在配置和部署上无异。不过,这些伺服器从未向客户提供过连接,它们未在我们的伺服器列表中广告,也未向用户提供。然而,由于这些伺服器已连接到我们的 WireGuard 多跳功能,任何客户在扫描 IP 时都可以在连接到另一台 VPN 伺服器使用 SOCKS5 代理的情况下,通过它们发送流量,并不存在阻止措施。
在 RoS 的发现中,仅显示了 WireGuard 内部接口的 IP。该接口仅对 SOCKS5 多跳流量可用,因此这将是进入的 WireGuard 伺服器。
如果没有提供 RoS 生产伺服器,此次审计将不会被视为有效的生产伺服器审计,也无法防止客户流量在伺服器上可见。
推特加速器引述 RoS 的话:“低权限系统帐户可以通过操纵 systemd 计时器脚本内容提升其权限到 root。”
我们的评论:
在与 RoS 讨论后,显然主要问题在于使用嵌套的主目录以及管理员用户的 mad 群组的成员资格。
使用嵌套的 /home/mad 目录结构是早期 RAM VPN 伺服器的遗留问题,这将在我们基础设施即将更新中移除。在短期内,我们已从 mad 群组中移除了所有管理员用户,同时也将所有相关脚本移至 /opt/localchecks,这一点 RoS 也确认了解决了问题。
引述 RoS 的话: “VPN 伺服器接受来自管理员的远程登录,技术上来说能够监控生产用户的 VPN 流量。”
我们的评论:
我们已经意识到这个问题有一段时间,与 RoS 的对话确认了我们实施这些措施的计划:
实施一种方法,使未经授权的登录可以进行审计,并添加所有命令不带参数的日志。 我们正在实施这样的系统。完全移除对 SSH 的支持,这意味著即使是管理员也无法启用客户流量的日志,因为不再通过 SSH 进行访问。我们正在调查这项系统,虽然这将需要更多时间来正确执行。引述 RoS 的话:“Telegraf 在 VPN 伺服器上使用的共享 Influx 数据库凭据允许操纵全球伺服器指标,如 CPU 和磁碟使用情况或网络指标。”
我们的评论:
我们认为最好的解决方案是使用 Hashicorp Vault 中的 PKI 基础设施实施客户证书进行身份验证。这已经实施,我们将调查在我们基础设施的其他地方使用这些证书的可能性。
未来还会部署更多变更,上述列出的修补是 Radically Open Security 发现的最有趣问题的例子。
为了普遍的隐私权,Mullvad