公司有一项业务使用了双向 tls 验证客户的身份,现在为了避免遭受攻击需要配置 cdn 。
但配置了以后发现服务一直响应 400 The SSL certificate error
,直接携带客户端证书请求源站没有问题。查阅了文档 Managing Cloudflare Origin CA certificates 后发现可能是 cloudflare 以为我需要保证他们到源服务器之间连接的安全,向我们发送了 cf 自己的客户端证书。。。
想知道各位有没有类似的应用,正确配置 cf 的姿势是怎么样的?如果 cf 没有支持,还有没有别的 cdn 服务提供商支持双向 tls 认证?蟹蟹
1
ryd994 2021-03-31 17:46:12 +08:00 via Android
CDN 的工作方式就是一种中间人
所以你想要双向认证是做不到的,否则 CDN 还怎么缓存数据? cloudflare 有一种 keyless mode,能够在不持有私钥,不影响握手的情况下解密数据。但是不知道是否能支持双向。建议你向 cloudflare 客服咨询。这是企业版功能,价钱肯定不便宜 |
2
eason1874 2021-03-31 18:19:09 +08:00
cf 的不了解,百度智能云 CDN 和阿里云 CDN 支持,可以试试。阿里云的没开放控制台自助配置,要提交工单问。
|
3
ruixue 2021-03-31 19:17:55 +08:00
cloudflare 可以配置客户端证书,但是需要用 cloudflare 的 CA 来签发,无法使用自己的 CA
https://developers.cloudflare.com/ssl/client-certificates |
4
9yu 2021-03-31 21:13:57 +08:00 via Android
可以做到,TLS Passthough 模式,高级版或企业版才有。
https://developers.cloudflare.com/spectrum/ |
5
ZeroClover 2021-03-31 21:18:31 +08:00
|
6
sxbxjhwm OP |
7
sxbxjhwm OP @eason1874 😂阿里云看过了,有个 scdn 要六千多一个月。。域名数 20 还不给改
|
8
eason1874 2021-03-31 22:51:23 +08:00
@sxbxjhwm 不如简单改造一下业务适应 Cloudflare 。
双向 TLS 验证环节独立出来做一个登录服务,部署在自己的服务器或者亚马逊、阿里云的 API 网关(这些支持 HTTPS 双向认证),用户证书验证后带令牌跳转访问在 Cloudflare 的业务域名。 业务域名通过 Cloudflare Workers 的边缘脚本验证令牌,通过才把请求转到后端。令牌可以是 JWT,也可以允许吊销,Workers 支持 KV 键值存储。Workers 也不贵,每天 10 万次免费,付费最低 $5/mo 支持一千万请求了。 这样主业务依然受 Cloudflare 防护,万一登录服务被攻击,临时不能登录也不影响已登录用户,影响不会太大。 |