首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 刪除匿名用戶安全加固指南

     編輯:MySQL 資料庫相關知識

MySQL 初始化會創建匿名用戶(User=''),默認僅限 localhost,但擁有近乎 root 的權限,Web 應用若被上傳惡意腳本可利用該用戶提權。

風險示例

  1. 攻擊者上傳 PHP 網頁木馬。
  2. 木馬以匿名用戶連接本地 MySQL:mysql_connect('localhost', '', '')。
  3. 創建高權限新用戶,進而控制數據庫。

清理命令

-- 為匿名用戶設置強密碼(變相禁用直接登錄)
UPDATE mysql.user SET Password = PASSWORD('StrongP@ssw0rd') WHERE User = '';

-- 刷新權限生效
FLUSH PRIVILEGES;

更徹底方案(推薦)

-- 直接刪除匿名用戶
DELETE FROM mysql.user WHERE User = '';
FLUSH PRIVILEGES;

驗證

SELECT User, Host FROM mysql.user WHERE User = '';
-- 應返回空集

最佳實踐

  • 安裝後立即執行 mysql_secure_installation,自動完成:刪除匿名用戶、禁止 root 遠程登錄、刪除 test 庫、重新加載權限。
  • 定期審計 mysql.user 表,確保無空用戶名、無弱密碼、無過度授權帳號。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved