在 Synology 上使用 MariaDB10 建立 SSL

在 Synology 上使用 MariaDB10 建立 SSL

有人能指出我在 Synology 设备上为 MariaDB10 启用 SSL 连接的解决方案吗?

该设备是一个运行 DSM 7.0.1(更新 2)的 Synology NAS

我有:

  1. 通过以下方式创建推荐的证书(ca-key.pem / server-key.pem / server-cert.pem):
openssl genrsa -out ca-key.pem 2048
    
openssl req -new -x509 -nodes -days 365000 -key ca-key.pem -out ca-cert.pem
    
openssl req -newkey rsa:2048 -days 365 -nodes -keyout server-key.pem
    -out server-req.pem
    
openssl rsa -in server-key.pem -out server-key.pem
    
openssl x509 -req -in server-req.pem -days 365 -CA ca-cert.pem -CAkey ca-key.pem set_serial 01 -out server-cert.pem
  1. 将证书放在“/etc/mariadb/”目录中

  2. 编辑 my.cnf 文件(即“/var/packages/MariaDB10/etc/my.cnf”)以包含以下内容:

[mysqld]
ssl
ssl-capath=/etc/mariadb/
ssl-ca=ca-cert.pem
ssl-cert=server-cert.pem
ssl-key=server-key.pem
#require_secure_transport=ON #see note below regarding Synology error

注意:使用会require_secure_transport=ON在 Synology 套件中心产生错误,提示“无法启动“MariaDB10”...”

  1. 重新启动MariaDB

  2. MariaDB10 对显示“%ssl%”等变量提供了以下响应

have_openssl    YES
have_ssl        DISABLED
ssl_ca          ca-cert.pem
ssl_capath      /etc/mariadb/
ssl_cert        server-cert.pem
ssl_key         server-key.pem

答案1

可能 Synology 的 MariaDB 尚未编译为支持 SSL,这就是它无法工作的原因。

我不会使用 MariaDB SSL。最好使用 SSH 隧道远程连接到 SQL 服务器。

首先打开隧道:

ssh -L 3306:127.0.0.1:3306 [email protected]

然后连接到它:

mysql -h localhost ...

相关内容