如何防止基于证书颁发机构的加密网站访问
27190
Created On 09/25/18 17:52 PM - Last Modified 06/01/23 03:08 AM
Resolution
在某些情况下, 您可能希望根据证书颁发机构 (CA) 限制或阻止对某些加密网站的访问。CA 本身可能已被泄露, 因此您希望立即采取行动, 或者不再信任由特定 CA 颁发的证书。
通过从浏览器的受信任根 ca 列表中删除问题中的证书, 您可以手动控制单个客户端上的访问, 但手动过程可能很繁琐, 绕过这些控件相对容易。此外, Firefox 等浏览器使用自己的证书存储库, 增加了确保所有类型的浏览器都得到解决的总体复杂性。
从 PAN OS v5.0, 您可以查看已安装的证书存储库的内容, 并禁用不再受信任的根 ca。此功能最低限度需要泛 OS v5.0 和启用 SSL 解密. 请参阅SSL 转发代理 (中间的人).
要查看证书列表, 请转到设备 > 证书管理 > 证书:
步骤
要限制对由特定 CA 签名的所有站点的访问:
- 启用转发代理。 请参阅帕洛阿尔托网络管理员指南5.0 版 (英语) 中的解密策略部分。
- 虽然可以将单个证书用于前向信任和转发不信任, 但为不信任 (必须生成为 CA) 创建单独的证书可以轻松区分有效的证书/信任错误, 如帕洛阿尔托网络设备代理安全会话:
- 验证要阻止的 CA, 请记住这样做会阻止对此 ca 颁发的所有站点的访问.
验证证书颁发者的简便方法是使用浏览器直接访问站点, 而无需解密和查看证书属性:
注意:本示例演示一个合法的和受信任的根 CA, 通常不会禁用它--示例仅用于演示目的.
在该示例中, 证书由 DigiCert 高保 CA-3 (从属 CA) 颁发。中间 ca 未安装到帕洛阿尔托证书存储库中, 因为呈现完整/有效的链通常是宿主服务器的责任。证书层次结构中最顶端的 CA 需要禁用, 在此示例中, GTE CyberTrust 全局根。此时, 证书的公用名 (CN) 是已知的, 但为了确保禁用了正确的 CA, 最好直接查看根证书。将序列号与安装在帕洛阿尔托网络设备上的证书进行比较, 因为可能会安装多个具有相似名称的 ca。使用火狐, 直接突出显示根 CA, 并在证书字段列表中滚动以查看序列号。
如果使用 Internet 资源管理器或 Chrome (共享 Windows 证书存储库), 请查看颁发的证书的证书路径, 突出显示根 CA (查看证书), 然后滚动序列号的证书详细信息:
转到设备 > 证书管理 > 证书, 搜索证书的 CN, 突出显示, 然后导出以与通过网站/浏览器直接导出的证书进行比较:
导出后, 打开证书/查看证书详细信息, 并将序列号与站点/浏览器导出的 CA 的编号进行比较:
确认匹配的 servial 数字后, 突出显示证书并禁用:
- 接下来, 转到对象 > 安全配置文件 > 解密配置文件并创建解密配置文件。下面是一个简单的示例, 用于阻止与不受信任的颁发者的会话。单击"确定".
- 转到策略 > 安全 > 解密并将解密配置文件与解密策略关联:
- 提交配置。
- 禁用的 CA 颁发的各种站点的证书可能以前已被缓存, 从而导致用户完全绕过新的解密配置文件。输入命令
> 显示系统设置 ssl 解密证书缓存
如果站点绕过块策略, 请通过 CLI 删除证书缓存:
>> 调试 dataplane 重置 ssl 解密证书-缓存
清除此缓存将删除所有缓存的证书, 并要求再次访问站点以重新填充.
- 验证预定的站点是否被阻止。显示初始证书错误, 随后 (在继续时) 阻止页:
如步骤2所述, 查看证书属性表明颁发证书是 "不信任" 证书 (如果已创建), 进一步验证会话是否被帕洛阿尔托网络设备截获并不受信任:
要回滚更改, 请转到设备 > 证书管理 > 证书, 搜索禁用证书的 CN, 重新启用, 并提交配置.
所有者: 布莱恩