首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果mysql服务器不验证客户端,那么使用客户端证书有什么意义?

问如果mysql服务器不验证客户端,那么使用客户端证书有什么意义?
EN

Database Administration用户
提问于 2022-08-06 05:16:11
回答 1查看 178关注 0票数 0

默认情况下,mysql服务器在/var/mysql/lib中创建这6个证书:

代码语言:javascript
复制
-rw------- 1 mysql mysql 1676 Aug  3 00:16 ca-key.pem
-rw-r--r-- 1 mysql mysql 1112 Aug  3 00:16 ca.pem
-rw-r--r-- 1 mysql mysql 1112 Aug  3 00:16 client-cert.pem
-rw------- 1 mysql mysql 1676 Aug  3 00:16 client-key.pem
-rw------- 1 mysql mysql 1680 Aug  3 00:16 private_key.pem
-rw-r--r-- 1 mysql mysql  452 Aug  3 00:16 public_key.pem
-rw-r--r-- 1 root  root  1172 Aug  6 12:20 server-cert.pem
-rw------- 1 mysql mysql 1676 Aug  3 00:16 server-key.pem

正如https://dev.mysql.com/doc/mysql-security-excerpt/5.7/en/creating-ssl-rsa-files-using-mysql.html中提到的,public_key.pem和private_key.pem用于:

这些密钥对文件启用了安全的密码交换使用RSA通过未经加密的连接帐户认证的sha256_password插件;

如果我正确理解,其他6个证书将用于相互tls验证。

我用DataGrip测试了它,有三个选项:Require、Verifa CA和Full Verification。(命令行接口,例如mysqlsh有相应的选项)

  • Require与证书无关,它像普通的https一样使用服务器启动tls加密。
  • Verify CA验证从服务器/var/lib/ca.pem获得的ca.pem。
  • Full Verification不仅是验证ca.pem的客户机,而且也是验证server-cert.pem和server-key.pem.的客户机(您需要为这项工作重新生成server-cert.pem。因为自动生成的server-cert.pem 's Subject:字段与服务器ip/域不匹配)

没有指定客户端证书和密钥的选项。那么,在客户机中证明client-key.pem和client-cert.pem有什么用途呢?我在mysql服务器中找不到像“验证客户端”这样的选项。所以这仅仅是一种方式验证和客户证书是完全无用的?我还是不明白。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2022-08-07 14:12:46

您肯定在文档中忽略了这一点:当您创建一个用户时,您可以指定各种TLS身份验证选项。例如,

代码语言:javascript
复制
CREATE USER 'rick'@'%' REQUIRE SUBJECT 'CN=Rick' AND ISSUER '...'
票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/315324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档