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 的对话确认了我们实施这些措施的计划: 引述 RoS 的话:“Telegraf 在 VPN 伺服器上使用的共享 Influx 数据库凭据允许操纵全球伺服器指标,如 CPU 和磁碟使用情况或网络指标。” 我们的评论: 我们认为最好的解决方案是使用 Hashicorp Vault 中的 PKI 基础设施实施客户证书进行身份验证。这已经实施,我们将调查在我们基础设施的其他地方使用这些证书的可能性。 未来还会部署更多变更,上述列出的修补是 Radically Open Security 发现的最有趣问题的例子。 为了普遍的隐私权,Mullvad基础设施审计由 Radically Open Security 完成
发现概览
Radically Open Security 未发现任何信息泄露或客户数据日志RoS 在此次渗透测试中发现 1 个高风险问题、6 个提升风险问题、4 个中等风险问题、10 个低风险问题和 4 个信息级别问题。其他值得关注的问题
MLL024 生产环境多跳流量在测试系统中 (高)
MLL019 使用 systemd 计时器和不安全的目录权限的 LPE 到 root (提升)
MLL045 管理员访问生产机器 (中等)
MLL016 Telegraf 密码在伺服器之间共享 (低)