Mysql默認(rèn)設(shè)置的危險(xiǎn)性分析
更新時(shí)間:2008年09月30日 21:49:04 作者:
一.mysql默認(rèn)的授權(quán)表二.缺乏日志能力 三.my.ini文件泄露口令
四.服務(wù)默認(rèn)被綁定全部的網(wǎng)絡(luò)接口上 五.默認(rèn)安裝路徑下的mysql目錄權(quán)限
更好的做法是,對(duì)遠(yuǎn)程主機(jī)的連接,指定為特定的
修改host中的%為允許連接的主機(jī),比如:
192.168.0.% 允許一個(gè)特定的子網(wǎng)
www.dbjr.com.cn 允許一個(gè)特定的主機(jī)
帳號(hào)默認(rèn)的名字也是擔(dān)心的問題。有可能導(dǎo)致被暴力破解
update user set user=‘localadmin‘ where host=‘localhost‘;
update user set user=‘remoteadmin‘ where host=‘%‘;
最后的user表看起來像是這個(gè)樣子
mysql> select host,user,password,Delete_priv from user;
+-----------+-------------+------------------+-------------+
| host | user | password | Delete_priv |
+-----------+-------------+------------------+-------------+
| localhost | localadmin | 67457e226a1a15bd | Y |
| % | remoteadmin | 77c590fa148bc9fb | Y |
+-----------+-------------+------------------+-------------+
更為詳細(xì)的資料,請(qǐng)去參考晏子的《MySQL中文參考手冊(cè)》。隨便那都有下
二.缺乏日志能力
mysql安裝完成以后,會(huì)在%SystemRoot%目錄下產(chǎn)生my.ini的設(shè)置文件
默認(rèn)的內(nèi)容如下:
——————————————————————————————
basedir=C:/mysql
#bind-address=192.168.0.1
datadir=C:/mysql/data
#language=C:/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
[WinMySQLadmin]
Server=C:/mysql/bin/mysqld-nt.exe
user=root
password=root
———————————————————————————————
注意log#=這個(gè)
它沒有被定義,且被注銷掉了。
更改為一個(gè)適合的路徑,比如:
log=c:/mysql/logs/mysql.log
三.my.ini文件泄露口令
我們看到my.ini最后,有這兩句
user=root
password=root
如果,你安裝完成時(shí),使用了mysql所提供的快速設(shè)置功能,(較新的版本)你的帳號(hào)和口令將被寫到my.ini文件中。
這也是mysql寫到啟動(dòng)組里的winmysqladmin.exe工具,運(yùn)行時(shí)需要讀取的。它提供的mysql服務(wù)
的一些監(jiān)視功能。這樣winmysqladmin.exe才能獲得mysql服務(wù)的狀態(tài)信息。
其實(shí),這個(gè)也不算漏洞,我們看看my.ini默認(rèn)的權(quán)限,它可以被user組用戶讀取。
從而導(dǎo)致口令被泄露
解決方法:
從新設(shè)定my.ini文件的權(quán)限.
從新設(shè)定帳號(hào)及口令
不使用快速設(shè)置
四.服務(wù)默認(rèn)被綁定全部的網(wǎng)絡(luò)接口上
服務(wù)被綁定到了所有的網(wǎng)絡(luò)接口上,比如,你只需要一個(gè)運(yùn)行在內(nèi)網(wǎng)的mysql服務(wù),但是你的機(jī)器有
外網(wǎng)的接口,mysql也會(huì)被綁定上,從而帶來一些不必要的麻煩和威脅。
在my.ini里的這句
#bind-address=192.168.0.1
它默認(rèn)被注銷掉了
應(yīng)該打開它
如果,只是本地使用,更改為
bind-address=127.0.0.1
如果是其它情況,應(yīng)該選者一個(gè)合適的網(wǎng)絡(luò)接口
五.默認(rèn)安裝路徑下的mysql目錄權(quán)限
mysql默認(rèn)的安裝路徑為c:\mysql,基本上都難得改,要改的話也是麻煩,還要去改my.ini。
但,這樣就有個(gè)問題
通常c:\的權(quán)限是everyone組-所有的權(quán)限。這是默認(rèn)的,由于繼承性,導(dǎo)致mysql下的data目錄
也是everyone組-所有的權(quán)限。導(dǎo)致被隨意訪問、讀取、刪除,可能泄露和破壞數(shù)據(jù)。
更改mysql目錄到一個(gè)合適,安全的訪問權(quán)限。
相關(guān)文章
Mysql 的存儲(chǔ)引擎,myisam和innodb的區(qū)別
這篇文章主要介紹了Mysql 的存儲(chǔ)引擎,myisam和innodb的區(qū)別,需要的朋友可以參考下2014-12-12MySQL?Binlog日志的記錄模式寫入機(jī)制文件操作詳解
這篇文章主要介紹了MySQL?Binlog日志的記錄模式寫入機(jī)制文件操作詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07cmd中MySQL中文數(shù)據(jù)亂碼問題解決方法
MySQL是默認(rèn)utf8編碼的,所建數(shù)據(jù)庫(kù)也是設(shè)置utf8編碼,使用程序可以新增中文數(shù)據(jù),在cmd中使用SQL語句新增數(shù)據(jù)則報(bào)錯(cuò),有類似情況的朋友可以參考下本文2014-02-02Mysql插入帶有引號(hào)的字符串?dāng)?shù)據(jù)最佳實(shí)踐
在MySQL中可以使用單引號(hào)或雙引號(hào)來包裹字符串,下面這篇文章主要給大家介紹了關(guān)于Mysql插入帶有引號(hào)的字符串?dāng)?shù)據(jù)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01MySQL中year()和month()函數(shù)解析與輸出示例詳解
這篇文章主要介紹了MySQL中year()和month()函數(shù)解析與輸出,通過本文,我們?cè)敿?xì)了解了MySQL中year()和month()函數(shù)的底層邏輯,它們能夠從日期或日期時(shí)間類型的數(shù)據(jù)中提取年份和月份,需要的朋友可以參考下2023-07-07MySQL優(yōu)化配置文件my.ini(discuz論壇)
公司網(wǎng)站訪問量越來越大,MySQL自然成為瓶頸,因此最近我一直在研究 MySQL 的優(yōu)化,第一步自然想到的是 MySQL 系統(tǒng)參數(shù)的優(yōu)化,作為一個(gè)訪問量很大的網(wǎng)站(日20萬人次以上)的數(shù)據(jù)庫(kù)系統(tǒng),不可能指望 MySQL 默認(rèn)的系統(tǒng)參數(shù)能夠讓 MySQL運(yùn)行得非常順暢。2011-03-03