如何保護MySQL中重要數(shù)據(jù)的方法
更新時間:2011年10月11日 13:00:27 作者:
在日常的工作中,保護數(shù)據(jù)免受未授權(quán)用戶的侵犯是系統(tǒng)管理員特別關(guān)心的問題。如果你目前用的是MySQL,就可以使用一些方便的功能來保護系統(tǒng),來大大減少機密數(shù)據(jù)被未授權(quán)用戶訪問的風(fēng)險
企業(yè)最有價值的資產(chǎn)通常是其數(shù)據(jù)庫中的客戶或產(chǎn)品信息。因此,在這些企業(yè)中,數(shù)據(jù)庫管理的一個重要部分就是保護這些數(shù)據(jù)免受外部攻擊,及修復(fù)軟/硬件故障。
在大多數(shù)情況下,軟硬件故障通過數(shù)據(jù)備份機制來處理。多數(shù)數(shù)據(jù)庫都自帶有內(nèi)置的工具自動完成整個過程,所以這方面的工作相對輕松,也不會出錯。但麻煩卻來自另一面:阻止外來黑客入侵竊取或破壞數(shù)據(jù)庫中的信息。不幸的是,一般沒有自動工具解決這一問題;而且,這需要管理員手工設(shè)置障礙來阻止黑客,確保公司數(shù)據(jù)的安全。
不對數(shù)據(jù)庫進行保護的常見原因是由于這一工作“麻煩”而“復(fù)雜”。這確實是事實,但如果你應(yīng)用MySQL,就可以使用一些方便的功能來顯著減少面臨的風(fēng)險。下面列出了以下幾個功能:
◆刪除授權(quán)表中的通配符
MySQL訪問控制系統(tǒng)通過一系列所謂的授權(quán)表運行,從而對數(shù)據(jù)庫、表格或欄目級別的用戶訪問權(quán)利進行定義。但這些表格允許管理員為一名用戶設(shè)定一攬子許可,或一組應(yīng)用通配符的表格。這樣做會有潛在的危險,因為黑客可能會利用一個受限的賬戶來訪問系統(tǒng)的其他部分。由于這一原因,在設(shè)置用戶特權(quán)時要謹慎,始終保證用戶只能訪問他們所需的內(nèi)容。在給個別用戶設(shè)定超級特權(quán)時要尤其小心,因為這種級別允許普通用戶修改服務(wù)器的基本配置,并訪問整個數(shù)據(jù)庫。
建議:對每個用戶賬戶應(yīng)用顯示特權(quán)命令,以審查授權(quán)表,了解應(yīng)用通配符許可是否恰當(dāng)。
◆要求使用安全密碼
用戶賬號的安全與用來保護它們的密碼密切相關(guān)。因此,在安裝MySQL時第一件事就應(yīng)該設(shè)置MySQL根賬號的密碼(默認為空)。修復(fù)這一漏洞后,接下來就應(yīng)要求每個用戶賬號使用一個密碼,且不要使用生日、用戶名或字典中的單詞這些容易識別的啟發(fā)式密碼。
建議:應(yīng)用MySQL-安全-授權(quán)選項避免使用舊的,不大安全的MySQL密碼格式。
◆檢查配置文件許可
一般來說,要使服務(wù)器連接更為快速方便,單個用戶和服務(wù)器管理員必須把他們的用戶賬號密碼存儲在單用戶MySQL選項文件中。但是,這種密碼是以純文本形式存儲在文件中的,很容易就可以查閱。因此,必須保證這樣的單用戶配置文件不被系統(tǒng)中的其他用戶查閱,且將它存儲在非公共的位置。理想情況下,你希望單用戶配置文件保存在用戶的根目錄,許可為0600。
◆加密客戶與服務(wù)器之間數(shù)據(jù)傳送 :
MySQL(及其它)客戶與服務(wù)器構(gòu)架的一個重要問題就是通過網(wǎng)絡(luò)傳送數(shù)據(jù)時的安全問題。如果客戶與服務(wù)器間的交互以純文本形式發(fā)生,黑客就可能“嗅出”被傳送的數(shù)據(jù)包,從而獲得機密信息。你可以通過激活MySQL配置中的SSL,或應(yīng)用一個OpenSSH這樣的安全應(yīng)用來為傳送的數(shù)據(jù)建立一個安全的加密“通道”,以關(guān)閉這一漏洞。以這種形式加密客戶與服務(wù)器連接可使未授權(quán)用戶極難查閱往來的數(shù)據(jù)。
◆禁止遠程訪問
如果用戶不需要遠程訪問服務(wù)器,你可以迫使所有MySQL連接通過UNIX插槽文件來完成,從而大大減少網(wǎng)絡(luò)受攻擊的風(fēng)險。這一過程可通過跳過網(wǎng)絡(luò)選項啟動服務(wù)器來完成。這樣可以阻止TCP/IP網(wǎng)絡(luò)連接到MySQL上,保證沒有用戶可以遠程連接系統(tǒng)。
建議:可以在MySQL服務(wù)器配置中添加捆綁地址127.0.0.1指令來增強這一功能,迫使MySQL捆綁當(dāng)?shù)貦C器的IP地址來保證只有同一系統(tǒng)中的用戶可以連接到MySQL。
◆積極監(jiān)控MySQL訪問記錄
MySQL中帶有很多不同的日志文件,它們記錄客戶連接,查詢和服務(wù)器錯誤。其中,最重要的是一般查詢?nèi)罩荆脮r間標(biāo)簽記錄每名客戶的連接和中斷時間,并記錄客戶執(zhí)行的每個查詢。如果你懷疑發(fā)生了不尋常的行為,如網(wǎng)絡(luò)入侵,那么監(jiān)控這個日志以了解行為的來源是個好方法。
保護你的MySQL數(shù)據(jù)庫是一個日常工作。因此,即使完成了上述步驟,也還需要你利用更多的時間去了解更多的安全建議,積極監(jiān)控并更新你的系統(tǒng)安全
在大多數(shù)情況下,軟硬件故障通過數(shù)據(jù)備份機制來處理。多數(shù)數(shù)據(jù)庫都自帶有內(nèi)置的工具自動完成整個過程,所以這方面的工作相對輕松,也不會出錯。但麻煩卻來自另一面:阻止外來黑客入侵竊取或破壞數(shù)據(jù)庫中的信息。不幸的是,一般沒有自動工具解決這一問題;而且,這需要管理員手工設(shè)置障礙來阻止黑客,確保公司數(shù)據(jù)的安全。
不對數(shù)據(jù)庫進行保護的常見原因是由于這一工作“麻煩”而“復(fù)雜”。這確實是事實,但如果你應(yīng)用MySQL,就可以使用一些方便的功能來顯著減少面臨的風(fēng)險。下面列出了以下幾個功能:
◆刪除授權(quán)表中的通配符
MySQL訪問控制系統(tǒng)通過一系列所謂的授權(quán)表運行,從而對數(shù)據(jù)庫、表格或欄目級別的用戶訪問權(quán)利進行定義。但這些表格允許管理員為一名用戶設(shè)定一攬子許可,或一組應(yīng)用通配符的表格。這樣做會有潛在的危險,因為黑客可能會利用一個受限的賬戶來訪問系統(tǒng)的其他部分。由于這一原因,在設(shè)置用戶特權(quán)時要謹慎,始終保證用戶只能訪問他們所需的內(nèi)容。在給個別用戶設(shè)定超級特權(quán)時要尤其小心,因為這種級別允許普通用戶修改服務(wù)器的基本配置,并訪問整個數(shù)據(jù)庫。
建議:對每個用戶賬戶應(yīng)用顯示特權(quán)命令,以審查授權(quán)表,了解應(yīng)用通配符許可是否恰當(dāng)。
◆要求使用安全密碼
用戶賬號的安全與用來保護它們的密碼密切相關(guān)。因此,在安裝MySQL時第一件事就應(yīng)該設(shè)置MySQL根賬號的密碼(默認為空)。修復(fù)這一漏洞后,接下來就應(yīng)要求每個用戶賬號使用一個密碼,且不要使用生日、用戶名或字典中的單詞這些容易識別的啟發(fā)式密碼。
建議:應(yīng)用MySQL-安全-授權(quán)選項避免使用舊的,不大安全的MySQL密碼格式。
◆檢查配置文件許可
一般來說,要使服務(wù)器連接更為快速方便,單個用戶和服務(wù)器管理員必須把他們的用戶賬號密碼存儲在單用戶MySQL選項文件中。但是,這種密碼是以純文本形式存儲在文件中的,很容易就可以查閱。因此,必須保證這樣的單用戶配置文件不被系統(tǒng)中的其他用戶查閱,且將它存儲在非公共的位置。理想情況下,你希望單用戶配置文件保存在用戶的根目錄,許可為0600。
◆加密客戶與服務(wù)器之間數(shù)據(jù)傳送 :
MySQL(及其它)客戶與服務(wù)器構(gòu)架的一個重要問題就是通過網(wǎng)絡(luò)傳送數(shù)據(jù)時的安全問題。如果客戶與服務(wù)器間的交互以純文本形式發(fā)生,黑客就可能“嗅出”被傳送的數(shù)據(jù)包,從而獲得機密信息。你可以通過激活MySQL配置中的SSL,或應(yīng)用一個OpenSSH這樣的安全應(yīng)用來為傳送的數(shù)據(jù)建立一個安全的加密“通道”,以關(guān)閉這一漏洞。以這種形式加密客戶與服務(wù)器連接可使未授權(quán)用戶極難查閱往來的數(shù)據(jù)。
◆禁止遠程訪問
如果用戶不需要遠程訪問服務(wù)器,你可以迫使所有MySQL連接通過UNIX插槽文件來完成,從而大大減少網(wǎng)絡(luò)受攻擊的風(fēng)險。這一過程可通過跳過網(wǎng)絡(luò)選項啟動服務(wù)器來完成。這樣可以阻止TCP/IP網(wǎng)絡(luò)連接到MySQL上,保證沒有用戶可以遠程連接系統(tǒng)。
建議:可以在MySQL服務(wù)器配置中添加捆綁地址127.0.0.1指令來增強這一功能,迫使MySQL捆綁當(dāng)?shù)貦C器的IP地址來保證只有同一系統(tǒng)中的用戶可以連接到MySQL。
◆積極監(jiān)控MySQL訪問記錄
MySQL中帶有很多不同的日志文件,它們記錄客戶連接,查詢和服務(wù)器錯誤。其中,最重要的是一般查詢?nèi)罩荆脮r間標(biāo)簽記錄每名客戶的連接和中斷時間,并記錄客戶執(zhí)行的每個查詢。如果你懷疑發(fā)生了不尋常的行為,如網(wǎng)絡(luò)入侵,那么監(jiān)控這個日志以了解行為的來源是個好方法。
保護你的MySQL數(shù)據(jù)庫是一個日常工作。因此,即使完成了上述步驟,也還需要你利用更多的時間去了解更多的安全建議,積極監(jiān)控并更新你的系統(tǒng)安全
相關(guān)文章
如何把ACCESS的數(shù)據(jù)導(dǎo)入到Mysql中
如何把ACCESS的數(shù)據(jù)導(dǎo)入到Mysql中...2006-12-12Mysql 出現(xiàn)故障應(yīng)用直接中斷連接導(dǎo)致數(shù)據(jù)被鎖(生產(chǎn)故障)詳解
這篇文章主要介紹了 Mysql 出現(xiàn)故障應(yīng)用直接中斷連接導(dǎo)致數(shù)據(jù)被鎖(生產(chǎn)故障)詳解的相關(guān)資料,需要的朋友可以參考下2017-01-01通過yum方式安裝mySql數(shù)據(jù)庫的全過程
當(dāng)工作需要部署mysql時,通過手動上傳安裝包以及依賴包的方式安裝mysql會比較麻煩,可以添加官方y(tǒng)um源,來實現(xiàn)自動安裝依賴,方便快捷,下面這篇文章主要給大家介紹了關(guān)于通過yum方式安裝mySql數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下2022-07-07Mysql主從復(fù)制(master-slave)實際操作案例
這篇文章主要介紹了Mysql主從復(fù)制(master-slave)實際操作案例,同時介紹了Mysql grant 用戶授權(quán)的相關(guān)內(nèi)容,需要的朋友可以參考下2014-06-06將mysql腳本轉(zhuǎn)化為oracle腳本的攻略與細節(jié)點
前段時間公司項目數(shù)據(jù)庫需要從mysql轉(zhuǎn)為oracle,所以需要修改下原有的mysql腳本,這篇文章主要給大家介紹了關(guān)于將mysql腳本轉(zhuǎn)化為oracle腳本的攻略與細節(jié)點,需要的朋友可以參考下2023-09-09