Mysql默認(rèn)設(shè)置的危險(xiǎn)性分析第1/2頁(yè)
更新時(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)限
默認(rèn)安裝的mysql服務(wù)不安全因素涉及的內(nèi)容有:
一.mysql默認(rèn)的授權(quán)表
二.缺乏日志能力
三.my.ini文件泄露口令
四.服務(wù)默認(rèn)被綁定全部的網(wǎng)絡(luò)接口上
五.默認(rèn)安裝路徑下的mysql目錄權(quán)限
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一.mysql默認(rèn)的授權(quán)表
由于mysql對(duì)身份驗(yàn)證是基于mysql這個(gè)數(shù)據(jù)庫(kù)的,也叫授權(quán)表。所有的權(quán)限設(shè)置都在這里了。
我們只討論最為重要的一個(gè)表 user表。它控制的是接受或拒絕連接。
先看一下
select host,user,password,Delete_priv from user;
+-----------+------+------------------+-------------+
| host | user | password | Delete_priv |
+-----------+------+------------------+-------------+
| localhost | root | 67457e226a1a15bd | Y |
| % | root | | Y |
| localhost | | | Y |
| % | | | N |
+-----------+------+------------------+-------------+
現(xiàn)在新的版本,安裝完畢都會(huì)出現(xiàn)一個(gè)快速設(shè)置窗口,用于設(shè)置口令。
以上,就是user表里的內(nèi)容(略了點(diǎn))看看有什么問題?
我們知道m(xù)ysql的驗(yàn)證方式是比較特殊的,它基于兩個(gè)2個(gè)信息來進(jìn)行的
1.從那里連接
2.用戶名
第一條沒什么問題,當(dāng)然口令必須是安全的。
第二條從任何主機(jī),以用戶root,不需要口令都可以連接,權(quán)限為所有的權(quán)限。(注:這里的權(quán)限是全局權(quán)限)
第三條從本地主機(jī),任何用戶名(注:user為空白,不表示不需要用戶名),不需要口令,都可以連接,所有的權(quán)限
第四條從任何主機(jī),任何用戶名,不需要口令,都可以連接,無任何權(quán)限。
可以看出,2\3\4都是不安全的,如何攻擊這里就不說了,請(qǐng)參看資料文庫(kù)。
如果你mysql只允許本地連接,刪除host的%和user中的nul(表示空)
delete from user where host='% ';
delete from host where user=' ';
最后的user表,看起來因該是這個(gè)樣子
+-----------+------+------------------+-------------+
| host | user | password | Delete_priv |
+-----------+------+------------------+-------------+
| localhost | root | 67457e226a1a15bd | Y |
+-----------+------+------------------+-------------+
最后需要刷新授權(quán)表,使其立刻生效
flush privileges;
如果你的mysql需要被遠(yuǎn)程使用,需要為%段中的root帳號(hào),加上一個(gè)安全的密碼
update user set password=password(‘youpass‘) where host=‘%‘;
其中youpass,就是口令
mysql> select host,user,password,Delete_priv from user;
+-----------+------+------------------+-------------+
| host | user | password | Delete_priv |
+-----------+------+------------------+-------------+
| localhost | root | 67457e226a1a15bd | Y |
| % | root | 77c590fa148bc9fb | Y |
+-----------+------+------------------+-------------+
一.mysql默認(rèn)的授權(quán)表
二.缺乏日志能力
三.my.ini文件泄露口令
四.服務(wù)默認(rèn)被綁定全部的網(wǎng)絡(luò)接口上
五.默認(rèn)安裝路徑下的mysql目錄權(quán)限
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一.mysql默認(rèn)的授權(quán)表
由于mysql對(duì)身份驗(yàn)證是基于mysql這個(gè)數(shù)據(jù)庫(kù)的,也叫授權(quán)表。所有的權(quán)限設(shè)置都在這里了。
我們只討論最為重要的一個(gè)表 user表。它控制的是接受或拒絕連接。
先看一下
select host,user,password,Delete_priv from user;
+-----------+------+------------------+-------------+
| host | user | password | Delete_priv |
+-----------+------+------------------+-------------+
| localhost | root | 67457e226a1a15bd | Y |
| % | root | | Y |
| localhost | | | Y |
| % | | | N |
+-----------+------+------------------+-------------+
現(xiàn)在新的版本,安裝完畢都會(huì)出現(xiàn)一個(gè)快速設(shè)置窗口,用于設(shè)置口令。
以上,就是user表里的內(nèi)容(略了點(diǎn))看看有什么問題?
我們知道m(xù)ysql的驗(yàn)證方式是比較特殊的,它基于兩個(gè)2個(gè)信息來進(jìn)行的
1.從那里連接
2.用戶名
第一條沒什么問題,當(dāng)然口令必須是安全的。
第二條從任何主機(jī),以用戶root,不需要口令都可以連接,權(quán)限為所有的權(quán)限。(注:這里的權(quán)限是全局權(quán)限)
第三條從本地主機(jī),任何用戶名(注:user為空白,不表示不需要用戶名),不需要口令,都可以連接,所有的權(quán)限
第四條從任何主機(jī),任何用戶名,不需要口令,都可以連接,無任何權(quán)限。
可以看出,2\3\4都是不安全的,如何攻擊這里就不說了,請(qǐng)參看資料文庫(kù)。
如果你mysql只允許本地連接,刪除host的%和user中的nul(表示空)
delete from user where host='% ';
delete from host where user=' ';
最后的user表,看起來因該是這個(gè)樣子
+-----------+------+------------------+-------------+
| host | user | password | Delete_priv |
+-----------+------+------------------+-------------+
| localhost | root | 67457e226a1a15bd | Y |
+-----------+------+------------------+-------------+
最后需要刷新授權(quán)表,使其立刻生效
flush privileges;
如果你的mysql需要被遠(yuǎn)程使用,需要為%段中的root帳號(hào),加上一個(gè)安全的密碼
update user set password=password(‘youpass‘) where host=‘%‘;
其中youpass,就是口令
mysql> select host,user,password,Delete_priv from user;
+-----------+------+------------------+-------------+
| host | user | password | Delete_priv |
+-----------+------+------------------+-------------+
| localhost | root | 67457e226a1a15bd | Y |
| % | root | 77c590fa148bc9fb | Y |
+-----------+------+------------------+-------------+
相關(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語(yǔ)句新增數(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萬(wàn)人次以上)的數(shù)據(jù)庫(kù)系統(tǒng),不可能指望 MySQL 默認(rèn)的系統(tǒng)參數(shù)能夠讓 MySQL運(yùn)行得非常順暢。2011-03-03