綠色資源網:您身(shēn)邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|廠商大全

綠色資源網

技術教程
您的(de)位置:首頁數(shù)據庫類MySQL → 數據庫安全應用 使用MySQL的23個(gè)注意事項(xiàng)

數據庫安全應用 使用MySQL的(de)23個注意事項

我要評論(lùn) 2009/06/07 11:57:41 來源:綠色(sè)資(zī)源網(wǎng) 編(biān)輯:佚名 [ 小(xiǎo)] 評論:0 點擊:474次

使用MySQL,安全問(wèn)題不能不(bú)注意(yì)。以(yǐ)下是MySQL提示的23個注意事項:

1.如果(guǒ)客戶端(duān)和服務器端的連接需要跨越並通過不可信任的網絡,那麽就需要使用SSH隧道來加密(mì)該連接(jiē)的通信。

2.用set password語(yǔ)句來修改用戶的密碼,三個步驟(zhòu),先“mysql -u root”登陸數據庫係統,然後“mysql> update mysql.user set password=password('newpwd')”,最後執行“flush privileges”就可以了。

3.需要提防的(de)攻擊有,防偷聽、篡改(gǎi)、回放、拒絕服(fú)務等,不涉及可用性和容錯方麵。對所有的連接(jiē)、查詢、其(qí)他操作使用基於ACL即訪問控製列表的(de)安全措施來完成。也有一些對SSL連接的支持。

4.除了root用戶外的其他任何用戶不允許訪(fǎng)問mysql主數(shù)據庫中的user表;

加密後存放(fàng)在user表中的(de)加密後的用戶密碼一旦(dàn)泄露,其他人可以隨意(yì)用該用戶名/密碼(mǎ)相應的數據庫;

5.用grant和revoke語句來進行用戶訪問控製的工作;

6.不使用明文密(mì)碼,而是使用md5()和sha1()等單向的哈係函數來設置密碼;

7.不選用字(zì)典中的字(zì)來做密碼;

8.采用防火牆來去掉50%的外部危險,讓(ràng)數據庫係統躲在防火牆後麵工作(zuò),或放置在DMZ區域中;

9.從因特(tè)網上用nmap來掃描3306端口,也可用telnet server_host 3306的方法測試,不能允(yǔn)許從非信任網絡中訪問數據庫服務器的3306號TCP端口,因此(cǐ)需要在防火牆或路由器(qì)上做(zuò)設定;

10.為了防止被惡意傳(chuán)入非法參數,例如where ID=234,別人卻輸入where ID=234 OR 1=1導致(zhì)全部顯示,所以在web的表單中使用''或""來用字符串,在動態URL中加(jiā)入%22代表(biǎo)雙(shuāng)引號、%23代表井號、%27代表單引號;傳遞未檢查過的值(zhí)給mysql數據庫是非常危險的;

11.在傳遞數據給mysql時(shí)檢查一下大(dà)小;

12.應用(yòng)程序需(xū)要連接到數據庫應該使用一(yī)般的用戶帳號,隻(zhī)開放少數必(bì)要的權限給該用戶(hù);

13.在各編程接口(C C++ PHP Perl Java JDBC等)中使用特定‘逃脫字符’函數;

在因特(tè)網上使(shǐ)用mysql數據庫時一定少用傳輸明文的數據,而(ér)用SSL和SSH的加密方式數據來傳輸;

14.學(xué)會(huì)使用tcpdump和strings工具來查(chá)看傳輸數據的安(ān)全性,例如tcpdump -l -i eth0 -w -src or dst port 3306 | strings。以普通用戶來啟(qǐ)動mysql數據庫服務;

15.不使用到表的聯結符號,選用的(de)參數 --skip-symbolic-links;

16.確信在(zài)mysql目錄(lù)中隻有啟動數據庫服務的用戶才可(kě)以(yǐ)對文件有讀和(hé)寫的權(quán)限;

17.不許將(jiāng)process或super權限付給非(fēi)管(guǎn)理用(yòng)戶,該(gāi)mysqladmin processlist可(kě)以列舉出(chū)當(dāng)前執行的查詢文本;super權限可用於(yú)切斷客戶端連接、改變服務器運行參數狀態、控製拷貝(bèi)複製數據庫的服務器;

18.file權限不付(fù)給管理員以外的用戶,防止出現load data '/etc/passwd'到表中再用select 顯示出來(lái)的問題;

19.如果不(bú)相信DNS服務公司的服務,可以在主機名稱允許表中(zhōng)隻設(shè)置IP數字(zì)地址;

20.使用max_user_connections變量來使mysqld服(fú)務進程,對一個指定帳戶限定連接數(shù);

21.grant語句也支持資源控製選項;

22.啟動mysqld服務進程的安全選項(xiàng)開關,--local-infile=0或1 若是0則(zé)客戶(hù)端(duān)程序就(jiù)無法使用local load data了,賦(fù)權的一個例子grant insert(user) on mysql.user to 'user_name'@'host_name';若(ruò)使用--skip-grant-tables係統將對任何用戶的訪問不做任何訪問控製(zhì),但可以(yǐ)用mysqladmin flush-privileges或mysqladmin reload來開(kāi)啟訪問控製;默認情況是show databases語句對所有用戶開放,可以用--skip-show-databases來關閉掉(diào)。

23.碰到Error 1045(28000) Access Denied for user 'root'@'localhost' (Using password:NO)錯誤時,你需要重(chóng)新設置密碼,具體方法是:先用--skip-grant-tables參數啟動mysqld,然後執行mysql -u root mysql,mysql>update user set password=password('newpassword') where user='root';mysql>Flush privileges;,最後重新啟動mysql就可以了(le)。(文/fen)

關鍵詞:數(shù)據庫,MySQL

閱(yuè)讀本文後(hòu)您(nín)有什麽(me)感(gǎn)想? 已有 人給出評價!

  • 1 歡(huān)迎喜歡
  • 1 白癡
  • 1 拜托
  • 1 哇(wa)
  • 6 加油
  • 1 鄙(bǐ)視
免费人欧美成又黄又爽的视频丨一本色道久久88综合日韩精品丨国产专区日韩精品欧美色丨午夜无遮挡男女啪啪视频丨国产欧美日韩综合精品一区二区丨亚洲精品无码不卡在线播HE丨亚洲精品国产精品国自产观看丨日韩国产高清av不卡