Windows 在校园网中会自动下载 CA 证书,而 Linux 却不会?

Windows 在校园网中会自动下载 CA 证书,而 Linux 却不会?

当我尝试通过我的个人 Windows 计算机连接到学校的 WiFi 网络时,会弹出一个提示,要求我输入我的 ID 号和密码,这样我就可以连接到网络。但是,当我尝试在 Linux VM 上连接时,会出现一个更大的提示,其中包含加密/身份验证方法的选项。

我做了一些研究,弄清楚了需要设置哪些属性才能使其正常工作,但最终还是无法连接。我认为这是因为我的虚拟机上没有网络似乎需要的 CA 证书文件。不过我对此感到困惑,因为在 Windows 上连接时这不是问题。Windows 是否会在这样的 AD 网络中自动获得信任并下载 CA 证书?是否有可能让 Linux 连接到这样的网络?我的学校不公开允许我们从他们那里下载证书。

我知道我的帖子中没有具体的细节/日志。不幸的是,我暂时无法访问网络,因此在发帖时无法重现该问题。如果需要更多信息来找到可能的解决方案,请告诉我,我会尽快更新此帖子!

答案1

不,Windows 不会自动下载CA 证书;相反,它没有查看站点证书完全与 CA 有关。

PEAP 本质上就是 TLS,其工作原理与 HTTPS 完全相同,CA 证书不是你必须提供给服务器的东西,而是相反——它由客户端用来验证所提供的内容经过服务器。因此您如果不进行 CA 验证,则无法同时连接到网站和 PEAP 安全网络,它的安全性将不尽如人意。

如果您没有指定正确的 CA 证书,Windows 会跳过 CA 验证,但会切换到 SSH 样式的“首次使用时信任”系统,其中它会记住第一次看到的服务器“叶”证书,并期望它始终保持不变 - 这就是您收到的“您是否希望在这里找到此网络 y/n”提示。(我相信 iOS 对 PEAP 也这样做,而 Firefox 对 HTTPS 也这样做。)

不幸的是,Linux 上的 NetworkManager 没有实现这种替代方案,因此您必须找出正在使用的 CA 证书,例如从 wpa_supplicant 系统日志中。(您可以选择在 NetworkManager 中禁用证书检查,但这会让您完全无法进行服务器验证 - 这意味着任何人都可以使用相同的 SSID 设置 Wi-Fi 接入点并获取您的密码 - 因此只能在万不得已的情况下这样做。)

我的学校不公开允许我们从他们那里下载证书。

他们这样做有点傻。但更有可能的是,他们只是认为不需要公开它——也许他们希望你使用安装工具(例如在 Linux 上运行的 Eduroam CAT)来自动安装它。

请注意,许多机构最近已开始使用公共 Web CA 进行 PEAP。在这种情况下,无需指定单个 CA(这样做也没有意义)——相反,您应该选择“使用系统 CA”选项并指定服务器域应该与证书相匹配(不是 AD 域,但更像是网站 URL 的对应项)。

当然,也有一些学校使用内部 CA。如果您的网络使用 AD 证书服务,通常有一种方法可以从 AD 域控制器下载 CA(默认情况下,AD CS 将所有内容发布到 LDAP),或者从任何加入域的 Windows PC 将它们导出到文件中。

相关内容