Sam*_*tch 5 mysql ssl google-cloud-sql google-cloud-platform
我发现,如果您通过 SSL 连接到 Cloud SQL 实例,服务器证书中提供的 CommonName 会my-project-123456:myinstance导致证书变得不可验证,因为客户端期望 CN 是主机名或 IP。
这个问题的每个解决方案似乎都相当于“只是禁用验证”,这对我来说是不可接受的,因为:
为什么 GCP 决定正确执行其他所有操作(提供 CA 证书和客户端证书),却在身份验证方面失败了?通过禁用验证,您基本上是在说“我同意在某个时候接受 MITMed”。
由于 PIPA/HIPAA 的原因,我们无法快速、宽松地进行验证的项目怎么办?
不支持关闭验证的 mySQL 客户端怎么办?例如:在即将发布的 5.6.16 版本之前,所有使用 mysqlnd 的 PHP 5.6 mysql 库。
有没有办法让 SSL 在 Cloud SQL 上正常工作?
小智 1
服务器证书的通用名称中没有实例的 IP 地址的原因之一是因为这些 IP 可能会更改。今天实例 A 的 IP 地址可能是明天实例 B 的 IP 地址,因为 A 已被删除,或者 A 决定不再需要该 IP 地址。因此,实例名称被确定为实例的更唯一标识。
另外,mysql 客户端库默认禁用主机名验证。http://dev.mysql.com/doc/refman/5.7/en/ssl-options.html
关于 MITM 攻击,MITM 攻击 Cloud SQL 实例是不可能的,因为服务器证书和每个客户端证书都是由唯一的自签名 CA 签名的,而这些 CA 绝不会用于签署多个证书。服务器仅信任由这些 CA 之一签名的证书。每个客户端证书使用唯一的 CA 的原因是因为 MySQL 5.5 不支持证书吊销列表,而且我们也不想处理 CRL,但希望支持删除客户端证书。
我们将研究为无法关闭主机名验证的客户端支持 SSL 的方法。但我不能就此承诺预计到达时间。
云 SQL 团队。
| 归档时间: |
|
| 查看次数: |
1108 次 |
| 最近记录: |