Mysql

是否應該加密通過 unix-socket 連接到伺服器的客戶端?

  • February 11, 2022

如果唯一的連接選項是通過 unix 套接字,客戶端連接是否需要加密?例如my.cnf

[mysqld]
socket = /run/mysqld/mysqld.sock

我正在考慮這些選項,但如果我不需要,我寧願不包括它們。

[mysqld]
ssl = TRUE
ssl-ca = /path/to/foo.pem
ssl-cert = /path/to/foo.pem
ssl-key  = /path/to/foo.pem

做了很多尋找一個規範的答案,但沒有運氣。

使用 Debian 10 和 MySQL-server 5.7。

是的,unix 套接字上的加密是一種選擇,但這不是必需的。如果有人能夠監聽您的套接字連接,則意味著您的系統已經受到威脅。需要對系統進行低級訪問才能攔截 unix 套接字連接上的數據。

此外,來自MySQL 文件

–ssl 模式=模式

PREFERRED:如果伺服器支持加密連接,則建立加密連接,如果無法建立加密連接,則回退到未加密連接。如果未指定 –ssl-mode,則這是預設設置。

通過 Unix 套接字文件的連接不使用 PREFERRED 模式加密。要對 Unix 套接字文件連接強制加密,請使用 REQUIRED 或更嚴格的模式。(但是,預設情況下,套接字文件傳輸是安全的,因此加密套接字文件連接會使其不再安全並增加 CPU 負載。)

引用自:https://dba.stackexchange.com/questions/307229