MariaDB上的“需要SSL”和“需要X509”SSL选项之间的区别

jgwigjjp  于 2022-11-08  发布在  其他
关注(0)|答案(3)|浏览(213)

我正在学习在MariaDB上启用双向TLS设置。为此,它需要一个带有X509 SSL选项的用户帐户。我阅读了理论,但仍然不清楚两者的区别。此外,何时应该使用哪个选项。
请帮助完成此查询。

编辑

我做了一个测试,我发现与“要求SSL“选项只需要“CA”证书,而与X509,你需要一个客户端证书与CA证书。
我仍然没有得到这背后的主要登录。

rt4zxlrg

rt4zxlrg1#

对于使用REQUIRE SSL子句创建的帐户,如果无法建立加密连接,连接尝试将失败。对于没有特殊加密要求的帐户,如果无法建立加密连接,连接尝试将回退到未加密连接。
对于使用REQUIRE X509子句创建的帐户,客户端必须至少指定--ssl-cert--ssl-key。此外,建议使用--ssl-ca(或--ssl-capath),以便可以验证服务器提供的公共证书。例如:

mysql --ssl-ca=ca.pem \
      --ssl-cert=client-cert.pem \
      --ssl-key=client-key.pem

对于使用REQUIRE ISSUERREQUIRE SUBJECT子句创建的帐户,加密要求与REQUIRE X509的加密要求相同,但证书必须分别与帐户定义中指定的发行或主题匹配。
有关REQUIRE子句的其他信息,请参见:https://dev.mysql.com/doc/refman/8.0/en/create-user.html

6pp0gazn

6pp0gazn2#

如果用户帐户设置了“需要SSL”,则该用户只能通过安全传输(没有未加密的端口,如果这些端口可用)进行连接,但仍然可以使用用户名+密码进行身份验证。
如果用户帐户设置了“Requre X590”,则该用户只能通过安全传输进行连接,但需要客户端证书进行身份验证。

cu6pst1q

cu6pst1q3#

MySql doc所述:
对于使用REQUIRE SSL子句创建的帐户,如果无法建立加密连接,连接尝试将失败。对于没有特殊加密要求的帐户,如果无法建立加密连接,连接尝试将回退到未加密连接。

对于使用REQUIRE X509子句创建的帐户,客户端必须至少指定--ssl-cert和--ssl-key。此外,建议使用--ssl-ca(或--ssl-capath),以便可以验证服务器提供的公共证书。
并且如所提到的Igor Cicimov
REQUIRED X509表示客户端必须具有有效的证书,但证书的确切名称、颁发者和主题并不重要。唯一的要求是它应该能够使用CA证书之一验证其签名。
如果您使用REQUIRE SSL,则客户端不需要提供任何内容。
如果您使用REQUIRE X509,则客户端必须提供自己的(?)证书和密钥,以及用户和连接密码。
这两种类型都强制加密通信,但x509模式更为严格。

相关问题