在Ubuntu中進行MySQL安全設置的步驟如下:
首先,確保系統已經更新到最新版本,然后使用以下命令安裝MySQL服務器:
sudo apt update
sudo apt install mysql-server
安裝完成后,運行 mysql_secure_installation
腳本進行安全配置,包括設置root密碼、刪除匿名用戶、禁止遠程root登錄等:
sudo mysql_secure_installation
y
刪除所有匿名用戶。y
禁止root用戶通過遠程連接登錄。y
刪除 test 數據庫。y
重新加載權限表以保存所有更改。檢查并更改root用戶的認證方式:
SELECT user, authentication_string, plugin, host FROM mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
FLUSH PRIVILEGES;
創建新用戶并授予權限,遵循最小權限原則:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
為MySQL配置SSL加密以保護數據傳輸安全:
sudo apt install mysql-server openssl
openssl genpkey -algorithm rsa -out mysql_private.key -aes256
openssl req -new -key mysql_private.key -out mysql_csr.csr
openssl x509 -req -days 365 -in mysql_csr.csr -signkey mysql_private.key -out mysql_certificate.crt
編輯MySQL配置文件(通常是 /etc/mysql/mysql.conf.d/mysqld.cnf
或 /etc/my.cnf
),在 [mysqld]
部分添加或修改以下行:
ssl-ca /path/to/mysql_certificate.crt
ssl-cert /path/to/mysql_certificate.crt
ssl-key /path/to/mysql_private.key
sudo systemctl restart mysql
如果需要通過互聯網訪問MySQL,確保防火墻允許3306端口流量:
sudo ufw allow 3306/tcp
sudo ufw reload
保持MySQL服務器的更新,安裝最新的安全補丁,以防止已知漏洞被利用:
sudo apt update
sudo apt upgrade mysql-server
通過以上步驟,可以有效地增強Ubuntu上MySQL數據庫的安全性,保護你的數據免受未授權訪問和潛在的安全威脅。