当我尝试在不在域上的情况下连接到我们公司的无线网时,我收到一条消息,说我们的 RADIUS 服务器提供了由我们的根 CA 颁发的有效证书,但根 CA 未配置为有效的信任锚(在 Windows 7 计算机上)。
必须在无线网络连接的安全性下手动检查根 CA,才能删除此消息。手动告诉系统信任根 CA 有什么意义?这难道不是拥有受信任的根 CA 的意义所在吗?有什么办法可以解决这个问题吗?当用户认为我们的连接不安全或证书过期时,这就会成为一个问题。我无法手动配置每台可能使用无线的机器。
答案1
想一想你的问题。
“根 CA” 是您的域的“根 CA”。因此,是的,它将受到您域中成员的信任,而不会受到未加入您域的计算机的信任。事实上,如果您可以让计算机自动、任意地信任您的 CA,那将是一个相当大的安全漏洞,而不是安全功能(而这正是 Stuxnet 和 Flame 安装自己的方式 - 使用来自普遍信任的 CA 的伪造证书)。
您应该通过 GPO(自动注册)分发证书和 CA 信任,这意味着您不必手动配置每台需要使用无线网络的机器,而且您可以只允许加入域的机器(这些机器已获得这些证书和信任)进入公司无线网络,这样您就可以轻松很多,正因为如此,您不必手动颁发证书和信任。当然,您可以决定允许任何没有信任和证书的设备使用无线网络……但您看到的症状就是您为此付出的代价。
如果您不能制定法律并直接对办公室的个人无线设备说“不”,那么您还可以设置辅助无线 SSID,用密码保护并与公司网络隔离,以允许您的用户使用他们的个人设备上网(我们就是这么做的)。
答案2
请记住,无线安全有三个部分。
首先,网络想知道设备是否被允许接入网络。为此,它需要能够准确识别设备,因此将为每个设备颁发唯一的证书。但是,要为每个设备创建新证书,网络不仅必须获取自己的证书,还必须运行完整的证书颁发机构 (CA)。
第二部分是客户端设备也想知道接入点是否合法,而不是使用相同 SSID 的恶意接入点,它们试图通过一些随机数据包嗅探器传输流量,并将流量发送到其目的地。这是通过让 SSID 上的每个合法 AP 使用客户端设备可以验证的通用证书来实现的。
最后,证书中的密钥被用作无线流量的加密密钥。链路两端的伪造证书意味着中间的设备可以解密并以纯文本形式查看流量。
这是我们在这里要重点关注的第二部分。证书是链的一部分,为了让客户端验证接入点证书,它必须验证链中的每个证书,一直到链顶部的 CA。只有在客户端在连接到无线网络之前已经知道并信任链顶部的 CA 时,此检查才能成功。1 为了使这种和其他证书方案成为可能,操作系统和一些浏览器附带了预配置的受信任 CA 列表。
正如您所指出的,加入域的 Windows 计算机也可以信任其域控制器指定的 CA。但是,其他设备(例如 BYOD 或没有 Windows 域的设备)无法从街上的随机黑客那里知道您的域控制器或网络 CA,因为您网络上的 CA 不在预配置的受信任 CA 列表中。
这不是无线管理员的错误或疏忽。知名且受信任的根 CA 相对较少,这是设计使然。如果任何人都可以成为受信任的根 CA,整个系统就会崩溃,因为很容易颁发看似真实的伪造证书。
不幸的是,这给无线网络留下了一个漏洞。无线管理员必须拥有 CA 才能正确验证设备,但这未必受信任的根 CA,以保护证书系统的完整性。对于企业内的设备,例如 802.1x 的原始愿景,预先配置设备以信任网络 CA 是相当容易的。对于 BYOD 场景,这里有一点问题……而且哪个网络不再需要支持 BYOD 了?
有一些服务可以解决这个问题,并使您的 CA 被纳入客户的信任列表,对您的用户和访客透明。2这被称为入职培训,我想到的主要参与者是CloudPath XpressConnect,阿鲁巴 Clearpass, 和SecureW2 立即加入。思科也有 ISE,并且大多数无线供应商都会在这个领域有所动作。
1如今,大多数操作系统都允许用户在连接到无线网络时忽略无效的服务器证书,并接受它给出的任何内容。然而,这不是一个好的做法。除了让客户端容易受到上述 MitM 攻击之外,它还会向用户显示一条可怕的警告消息,就像您看到的那样,最好避免。
2不管怎样,这种情况并不能真正让我满意,因为这不是最好的解决方案。我不喜欢允许随机 wifi 提供商调整我的计算机的受信任证书颁发机构列表的想法。例如,如果我是 NSA,攻击 CloudPath 应用程序/脚本将是我的首要任务。此外,服务提供商总是在玩猫捉老鼠的游戏,以支持最新的设备和操作系统,尤其是在移动设备上。我设想未来会出现一种新的有限证书颁发机构,这种机构可能必须在现有的知名/受信任的证书颁发机构注册,并且只能颁发有限的“wifi”证书。