![Cisco ASA 5510 上的 AnyConnect 证书/CA 固定](https://linux22.com/image/632414/Cisco%20ASA%205510%20%E4%B8%8A%E7%9A%84%20AnyConnect%20%E8%AF%81%E4%B9%A6%2FCA%20%E5%9B%BA%E5%AE%9A.png)
我想“锁定”证书或至少锁定 AnyConnect 连接的证书颁发机构。考虑到 SSL 攻击和受感染 CA 的数量,我想确保在建立与 VPN 的连接时,只有由特定 CA 签名的证书才会被 AnyConnect 客户端接受为有效证书。
如何在 ASA 5510 上执行此操作?
答案1
我不太了解您的 Cisco 设备,但一般来说,任何 SSL 客户端都会安装其信任的 CA 的公钥副本。我假设您的 Cisco 设备也是一样,但我无法帮助您安装它尚未拥有的特定证书。
如果您的系统依赖于公共 CA 基础设施,那么如果 CA 受到攻击,那么帮助就微乎其微了。此时 MITM 攻击者可以签署自己的密钥,而您几乎无法区分该密钥是否经过合法签名。如果攻击者拥有 CA 密钥,那么它们与 CA 使用相同密钥签名的密钥之间没有任何区别。您唯一能做的就是确保您有一个机制来跟踪可能针对 CA 证书颁发的撤销。
如果您只想接受由特定 CA 签名的证书(限制您受到其他 CA 的威胁),那么您可以删除除您信任的 CA 证书之外的所有 CA 证书。
许多与一组已知设备进行的 SSL 通信(因此对于 VPN 产品来说很可能如此)会保留一个包含每个客户端证书指纹的注册表,或者使用服务器持有的密钥对客户端证书进行签名(即服务器是它自己的 CA)。在这些情况下,不需要外部 CA,但必须有一个系统来安全地颁发或签署证书。这似乎可能适用于您的 VPN 产品,但正如我所说,我不了解 Cisco 设备。但是,如果您拥有这种类型的架构,那么关键点是公共 CA 的泄露不太可能让您担心。
如果您有一个系统中您的 VPN 服务器自己签署证书,那么让您自己的 CA 签署客户端证书就和根据某种注册表检查客户端证书一样好,而这实际上就是您的固定证书列表。