如何消除MySQL賬號的安全隱患

(1).給MySQL賬號賦予其所需要的最小權(quán)限,避免為MySQL賬號授予alter,grant權(quán)限

(2).刪除匿名賬號
匿名賬號容易帶來安全隱患,建議刪除,執(zhí)行如下SQL語句即可刪除權(quán)限表中所有的匿名賬號:
mysql>delete from mysql.user where user='';
mysql>delete from mysql.db where user='';
mysql>delete from mysql.tables_priv where user='';
mysql>delete from mysql.columns_priv where user='';
mysql>delete from mysql.procs_priv where user='';

(3).刪除登錄主機(jī)可以是任意主機(jī)的MySQL賬號
登錄主機(jī)為"%"或者空字符串的MySQL賬戶,容易帶來安全隱患,建議刪除,執(zhí)行如下SQL語句即可刪除權(quán)限表中登錄主機(jī)為"%"或空字符串的MySQL賬戶。
mysql>delete from mysql.user where host='%' or host='';
mysql>delete from mysql.db where host='%' or host='';
mysql>delete from mysql.tables_priv where host='%' or host='';
mysql>delete from mysql.columns_priv where host='%' or host='';
mysql>delete from mysql.procs_priv where host='%' or host='';

(4).修改root賬號的密碼
root賬號擁有MySQL服務(wù)實(shí)例最高的權(quán)限,數(shù)據(jù)庫超級管理員root賬號有必要定制修改root賬號的密碼,執(zhí)行如下SQL來修改:
mysql>set password for root@'localhost'=password('newroot');
mysql>set password for root@'127.0.0.1'=password('newroot');

(5).修改root賬號的賬號名
安裝MySQL時(shí),MySQL將自動(dòng)創(chuàng)建數(shù)據(jù)庫超級管理員root賬戶,且該賬戶擁有對數(shù)據(jù)庫的最高權(quán)限,數(shù)據(jù)庫超級管理員有必要對自己重命名,執(zhí)行如下SQL來修改:
mysql>rename user root@'localhost' to newroot@'localhost';
mysql>rename user root@'127.0.0.1' to newroot@'127.0.0.1';

(6).修改MySQL服務(wù)的端口號
默認(rèn)情況下,MySQL使用3306端口號為MySQL客戶端提供MySQL服務(wù),將端口號修改為其它端口號,可以避免非法用戶遠(yuǎn)程連接MySQL服務(wù)器,Linux系統(tǒng)可以通過
修改my.cnf配置文件[mysqld]選項(xiàng)組"port=3306"的參數(shù)值來完成

(7).禁止遠(yuǎn)程連接
向my.cnf或my.ini(windows平臺)配置文件[mysqld]選項(xiàng)組添加參數(shù)信息"bind_address=127.0.0.1",告訴MySQL服務(wù)器只能監(jiān)聽來自"127.0.0.1"或者"localhost"本地主機(jī)的連接請求,禁止遠(yuǎn)程連接。

(8).為遠(yuǎn)程連接的數(shù)據(jù)庫用戶提供安全的賬號名、密碼和連接主機(jī)。

(9).禁止MySQL讀取MySQL客戶機(jī)本地文件
使用"load data local infile"命令可以將MySQL客戶機(jī)的本地文件導(dǎo)入MySQL數(shù)據(jù)庫表中,如果非法用戶
通過該命令將非法信息導(dǎo)入到MySQL系統(tǒng)的數(shù)據(jù)庫權(quán)限表中,后果不堪設(shè)想。數(shù)據(jù)庫可以在my.cnf或my.ini
配置文件[mysqld]選項(xiàng)組中添加"local_infile=0"參數(shù)信息來禁止MySQL讀取MySQL客戶機(jī)本地文件。

(10).除非必要,避免為MySQL賬戶授予file權(quán)限,防止數(shù)據(jù)庫用戶在MySQL服務(wù)器上創(chuàng)建file
     說明:如果某個(gè)MySQL賬號需要執(zhí)行"select..into..outfile"命令完成數(shù)據(jù)庫的備份工作,那么該賬戶需要授予file權(quán)限

MySQL安全管理的其他注意事項(xiàng):
(1).當(dāng)刪除對象時(shí),MySQL不會去清理那些舊權(quán)限,這些舊權(quán)限會一直留在那里。如果未來的某個(gè)時(shí)候又以同樣的名字創(chuàng)建了該對象,那么這些權(quán)限依舊有效。
(2).避免使用insert,update,delete等更新語句直接操作權(quán)限表
(3).由于MySQL沒有提供用戶組或角色這樣的功能,命名MySQL賬戶名時(shí),可以在賬戶名中添加后綴或者前綴(例如復(fù)制賬號添加"_replication"后綴),使用這種方法可以通過通配符批量修改用戶權(quán)限,模擬實(shí)現(xiàn)用戶組或角色功能。
(4).由于MySQL服務(wù)實(shí)例的"管理"權(quán)限,例如shutdown,process,show databases,super,create user,create tablespace等權(quán)限,功能太強(qiáng)大,建議將擁有這些權(quán)限的MySQL賬號限制在一臺單獨(dú)的主機(jī)上使用.


分享文章:如何消除MySQL賬號的安全隱患
URL分享:http://bm7419.com/article44/jceiee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、用戶體驗(yàn)、App設(shè)計(jì)網(wǎng)站策劃、商城網(wǎng)站域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)