国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL安全問題(匿名用戶)的一點心得

2024-07-24 12:57:25
字體:
來源:轉載
供稿:網友
  前兩天在幫朋友整理他的主頁空間時候,發現的一點關于MySQL可能大家都會忽略的問題:我們知道,在安裝完MySQL后,它會自動創建一個root用戶和一個匿名用戶,其初始密碼都是空,對于前者,很多參考資料上都會提醒大家要注意及時設定一個密碼,而忽略了后者,大概是因為后者默認設定為只能在本機使用的緣故吧。

  但如果你的MySQL是要提供給Web服務器作數據庫服務的,忽略這個匿名用戶的代價可能相當慘重,因為在默認設置下,這個匿名用戶在localhost上幾乎擁有和root一樣的權限,這時候,如果你的客戶擁有上傳腳本文件、腳本文件可以進行MySQL數據庫操作(比如允許操作MySQL的php)的權限已經可能將你的MySQL改動得面目全非了:

  我今天幫朋友整理他的主頁空間的時候,試著寫了一個很簡單的執行sql語句的php文件上傳上去,其中連接字中的user,passWord我都試著置空,host=localhost,結果發現我的sql語句可以執行,于是執行select * from MySQL.user察看用戶權限,發現這個用戶在localhost權限非常高,連grant_PRiv都有,(察看的時候,會發現在root用戶下有兩行用戶名、密碼為空的,但各項權限有y/n的,就是這個匿名用戶本地、遠程權限設置了)

  所以我試著用這個php頁面創建一個新用戶,并grant給他較高的權限,結果一舉成功,這樣我就可以用這個新用戶通過我本機的MySQL client連接到這個網站的MySQL server,并用這個新建立的用戶的管理權限對這個網站的MySQL server進行管理,看到自己可以進行這樣輕易獲得深入的數據庫操作,我怎么還敢把朋友的主頁空間的敏感資料放入這個MySQL server呢?

  改進建議:

  1、在安裝完成MySQL 后,不僅改變root用戶的的密碼,也同時改變匿名用戶的密碼,方法類似改變root的密碼的方式:

  MySQL> UPDATE user set password=PASSWORD('yournewpassword') where user='';
  MySQL>FLUSH PRIVILEGES;

  2、如非必要,刪除這個匿名用戶,這樣所有人要使用MySQL 都必須提供用戶名,即便日后出了問題,也容易查找問題的源頭。

  3、除了root用戶外,其他用戶包括匿名用戶(如果沒有刪除這個用戶)不應該擁有grant權限,防止管理權限不受控制的擴散出去。

  4、賦予用戶update/delete/alert/create/drop權限的時候,應該限定到特定的數據庫,尤其要避免普通客戶擁有對MySQL數據庫做操作的權限,否則你的系統設置很可能被替換掉。

  5、檢查MySQL.user表,取消不必要用戶的shutdown_priv,reload_priv,process_priv和File_priv權限,這些權限可能泄漏更多的服務器信息包括非MySQL的其它信息出去。

  6、如果不打算讓你的用戶使用MySQL數據庫,在提供諸如php這樣的腳本語言的時候,重新設置或編譯你的php,取消它們對MySQL的默認支持。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平阳县| 十堰市| 遵义市| 清河县| 丹凤县| 东乡族自治县| 出国| 鄢陵县| 汉中市| 仙游县| 平潭县| 沈丘县| 崇明县| 偃师市| 巴林左旗| 错那县| 绍兴市| 江山市| 肇源县| 桐城市| 洪雅县| 大埔区| 友谊县| 青铜峡市| 洛隆县| 临西县| 合江县| 淮滨县| 义马市| 南宁市| 平潭县| 衡东县| 唐河县| 灵丘县| 天峨县| 乐山市| 清丰县| 磐石市| 锡林郭勒盟| 彰化县| 武胜县|