我的本地主機在 Win64 上運行 MariaDB 10.6.7。
我試圖在連接到 MariaDB 時強制使用 SSL。我使用 MySQL Workbench 8.0 測驗連接。
要啟用 SSL,我執行了以下操作:
我生成自簽名證書,然后在 my.ini 中設定以下內容:
[mysqld]
datadir=C:/xampp/MariaDB 10.6/data
埠=3306
innodb_buffer_pool_size=1009M
ssl-ca=C:/xampp/xampp/certs/mysql/ca-cert.pem
ssl-cert=C:/xampp/xampp/certs/mysql/server-cert.pem
ssl-key=C:/xampp/xampp/certs/mysql/server-key.pem
[客戶]
埠=3306
插件目錄=C:/Program Files/MariaDB 10.6/lib/plugin
ssl-ca=C:/xampp/xampp/certs/mysql/ca-cert.pem
ssl-cert=C:/xampp/xampp/certs/mysql/client-cert.pem
ssl-key=C:/xampp/xampp/certs/mysql/client-key.pem
為了強制使用 SSL,我將 MariaDB 中的用戶設定為需要 SSL。
不幸的是,通過這種配置,我仍然可以在不使用任何證書的情況下連接到 MySQL 。如何強制 MariaDB 強制 SSL 或 FAIL?
我的第二個問題,我懷疑我的配置實際上是為了使用 Require X509 進行設定。是這樣嗎?如果是,我如何將其設定為僅使用 Require SSL?
最后,在 my.ini 中設定證書,防止我通過常規方式連接到 mysql,即:mysql -u root。我收到以下錯誤:
ERROR 2026 (HY000): SSL connection error: An unknown error occurred while processing
the certificate. Error 0x80090327(SEC_E_CERT_UNKNOWN).
我嘗試使用以下命令 mysql --ssl-ca=[directory]\client-cert.pem -u root,但沒有成功。我得到了和上面一樣的錯誤。任何的想法?
如果您有參考頁面或任何形式的見解,將不勝感激。
謝謝。
uj5u.com熱心網友回復:
創建用戶的時候需要加上require引數,可以是x509,也可以是ssl。
舉個例子
創建由 'root' 標識的用戶 itpuxs2@'%' 需要 x509;
創建由 'root' 標識的用戶 itpuxs3@'%' 需要 ssl;
uj5u.com熱心網友回復:
根據我在 Win64 中的測驗,“需要 SSL”不需要 [client] 下的 ssl-ca、ssl-cert、ssl-key。這個設定也是我無法使用“mysql -u root”登錄的原因。
我使用 MySQL Workbench 來測驗我與 MariaDB 的連接。根據我的測驗,即使我沒有提供任何證書,只要服務器有 SSL 證書,那么連接就會被加密(需要 SSL)。話雖如此,我確實嘗試提供一個 ca-cert.pem,但它不起作用。從我在谷歌的研究來看,這似乎是由于 MariaDB 中使用的 SSL 庫。SSL 庫對于不同的發行版可能會有所不同。
至于 X509,我能夠讓它在 Linux 中運行。我這樣做了一次并且沒有做進一步的測驗,因為我現在在 Windows 中作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/477089.html
標籤:mysql ssl 玛丽亚数据库 xampp mysql-工作台
