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

MySQL 預設安裝的五大安全隱患與加固指南(上)

     編輯:MySQL 資料庫相關知識

五大隱患

  1. 預設授權表配置不安全
  2. 缺乏日誌功能
  3. my.ini 洩露密碼
  4. 服務預設綁定所有網路介面
  5. 預設安裝路徑目錄權限過鬆

一、預設授權表分析

MySQL 驗證基於 mysql.user 表。新版安裝雖有快速設定視窗,但預設內容仍存風險:

SELECT host,user,password,Delete_priv FROM user;
+-----------+------+------------------+-------------+
| host      | user | password         | Delete_priv |
+-----------+------+------------------+-------------+
| localhost | root | 67457e226a1a15bd | Y           |
| %         | root |                  | Y           |  -- 危險:任何主機免密碼 root
| localhost |      |                  | Y           |  -- 危險:本機匿名用戶全權限
| %         |      |                  | N           |  -- 危險:任何主機匿名用戶
+-----------+------+------------------+-------------+

驗證依賴「連線來源」與「用戶名」兩項。第 2、3、4 行均為高風險。

加固步驟(僅允許本地連線)

DELETE FROM user WHERE host='%';
DELETE FROM user WHERE user='';
FLUSH PRIVILEGES;

清理後僅保留:

+-----------+------+------------------+-------------+
| host      | user | password         | Delete_priv |
+-----------+------+------------------+-------------+
| localhost | root | 67457e226a1a15bd | Y           |
+-----------+------+------------------+-------------+

需遠程存取時

為 % root 設定強密碼:

UPDATE user SET password=PASSWORD('yourpass') WHERE host='%';
FLUSH PRIVILEGES;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved