🔗 使用中间 CA 进行 SSL-Bump
- 作者:Jok Thuau 和 Yuri Voinov
🔗 目录
您可以在代理上使用中间 CA 来进行 SSL-Bump。
🔗 用法
如果中间证书 CA2 被泄露,您只需使用主 CA1 撤销中间 CA2,然后重新签发一个新的中间 CA2,而无需打扰您的客户端。
🔗 CA 证书准备
- 创建一个包含 CRL URL 的 **根 CA**,并将 CRL URL 编码在 CA1 中。您的客户端需要能够访问此 CRL URL。
- 使用 CA1 签发一个中间 CA2,它将用于代理上签发模拟证书。例如,在下面的配置中,我们将此私钥称为 *signingCA.key*。
- 将主 CA1 的公钥安装到客户端。例如,在下面的配置中,我们将此公钥(证书)称为 *signingCA.crt*。
- 准备一个包含中间 CA2 后跟根 CA1 的 PEM 格式的公钥文件。例如,在下面的配置中,我们将此文件称为 *chain.pem*。
现在 Squid 可以将中间 CA2 的公钥与根 CA1 一起发送给客户端,而无需将中间 CA2 安装到客户端。
🔗 Squid 配置文件
🔗 端口 80 流量
像这样粘贴配置文件
http_port 3127 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB \
cert=/etc/squid/signingCA.crt \
key=/etc/squid/signingCA.key \
cafile=/etc/squid/chain.pem
🔗 端口 443 流量
像这样粘贴配置文件
https_port 3129 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB \
cert=/etc/squid/signingCA.crt \
key=/etc/squid/signingCA.key \
cafile=/etc/squid/chain.pem
🔗 显式代理流量
像这样粘贴配置文件
http_port 3129 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB \
cert=/etc/squid/signingCA.crt \
key=/etc/squid/signingCA.key \
cafile=/etc/squid/chain.pem
🔗 测试是否生效
请参阅 https://langui.sh/2009/03/14/checking-a-remote-certificate-chain-with-openssl/ 的说明,了解如何验证远程证书链。测试应针对 Squid 监听的端口进行,以验证它是否同时生成了有效的证书并发送了正确的 CA 链顺序。
⚠️ Disclaimer: Any example presented here is provided "as-is" with no support
or guarantee of suitability. If you have any further questions about
these examples please email the squid-users mailing list.
类别: ConfigExample
导航:站点搜索、站点页面、分类、🔼 向上