Mysql
是否應該加密通過 unix-socket 連接到伺服器的客戶端?
如果唯一的連接選項是通過 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 負載。)