Mysql使用SSL进行安全连接

2023-05-16

一、服务器端强制每个接入系统网络的用户使用SSL/TLS安全传输协议----------这时候就不用管客户端配置了
使用GRANT语句使所有用户均使用SSL
GRANT USAGE ON . TO <my_user>@ REQUIRE SSL;

检查每个用户返回的ssl_type值为ANY, X509, 或 SPECIFIED。
SELECT user, host, ssl_type FROM mysql.user WHERE NOT HOST IN (’::1’, ‘127.0.0.1’, ‘localhost’);

二、如果mysql服务器是第三方的,默认是优先建立SSL连接,如果客户端发起非SSL连接也能建立。
我们无法配置服务端,只能去配置客户端:确保在mysql服务器支持ssl认证的前提下,一定用ssl连接。

1、检查服务端
(1)show variables like ‘%ssl%’;检查返回值是否为配置的证书路径
https://ssl.zzidc.com/SSLjiaocheng/2019/0718/646.html
ssl_ca、ssl_key、ssl_cert是CA和CA用服务端的key颁发给服务端的证书。
(2)show variables where variable_name=‘have_ssl’ or variable_name= ‘have_openssl’;
have_openssl 与 have_ssl 值都为DISABLED表示ssl未开启

mysql> show variables like 'have%ssl%';
+---------------+----------+
| Variable_name | Value    |
+---------------+----------+
| have_openssl  | DISABLED |
| have_ssl      | DISABLED |
+---------------+----------+

(3)https://blog.csdn.net/hrbhanyu/article/details/61196443 :如何给服务端生成并配置证书

2、检查客户端
(1)代码
关于下面3个字段,只要配置了useSSL : set to true;就行?
useSSL : set to true;
requireSSL : set to true;
trustCertificateKeyStoreUrl : set

public class test6JavaJdbc {
    public static void main(String[] args) {
        Connection con;
        String driver="com.mysql.jdbc.Driver";
        //这里我的数据库是cgjr
        String url="jdbc:mysql://localhost:3306/cgjr?useUnicode=true&characterEncoding=utf-8&useSSL=false";
        String user="root";
        String password="12345";
        try {
            Class.forName(driver);
            con = DriverManager.getConnection(url, user, password);
            if (!con.isClosed()) {
                System.out.println("数据库连接成功");
            }
            Statement statement = con.createStatement();

(2)设置用户必须以SSL方式连接MySQL数据库

mysql> create user 'ssl_test'@'%' identified by '123' require SSL;

在服务器端配置了SSL参数后,客户端发起连接时默认使用SSL方式。

mysql -h 192.168.20.246 -ussl_test -p'123'  --ssl

以非加密方式连接MySQL,通过密码连接测试 [ 默认采用SSL连接,需要指定不使用SSL连接 ]

mysql -h 192.168.20.246 -ussl_test -p'123' --ssl=0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql使用SSL进行安全连接 的相关文章

随机推荐