mysql安全性 如何提高mysql的安全性

2021-10-17 12:24:28 字數 2621 閱讀 5644

一 作為最流行的開源資料庫引擎,mysql本身是非常安全的。即便如此,你仍然需要新增額外的安全層來保護你的mysql資料庫不受攻擊,畢竟任何經營網上

二 保護作業系統

2.1 主機資料庫伺服器和web伺服器分別在不同的物理機器上,如果可能,在乙個單獨的伺服器上執行資料庫伺服器,以預防由其他應用程式或服務的漏洞造成的伺服器問題。

安裝防毒軟體,防火牆以及所有推薦的補丁和更新,防火牆能有效地把流量過濾到mysql伺服器。為了更好的提高安全性,你還可以實行入口封鎖。

禁用所有不必要的服務,而且這樣的服務越少越好。

2.2 保護所有帳戶和密碼

攻擊者侵入mysql資料庫最常見的一種方法是竊取有安全隱患的賬戶資訊。為了降低出現這種風險的可能性,你不妨試一試下面的方法:

2.2.1. 給所有mysql賬戶設定密碼

客戶程式並不是每次都能識別使用者,因此,如果使用者知道資料庫名但是沒有這個使用者名稱的密碼,那他可以指定任何其他使用者名稱連線到mysql資料庫。讓每個mysql使用者名稱都設定密碼,這樣一來,要想利用匿名賬戶建立連線將會變得很困難。

2.2.2. 不要使用根使用者執行mysql伺服器

在安裝mysql的時候,預設情況下建立了乙個命名為「root」的管理使用者。每個人都知道這一點,所以攻擊者通常試圖侵入這個「root」使用者來獲取訪問許可權。為了保障這個重要帳戶的安全,你需要給它重新命名,然後更改乙個長並且複雜的密碼。

2.2.3你可以在mysql控制台使用mysql> rename user root to new_username;

指令給根使用者重新命名,使用mysql> set password for 'username'@'%hostname' =

password('newpassword');//這是很重要的一條命令

指令來修改密碼。

三. 減少管理員賬戶

四. 加強所有的密碼

除了管理員帳戶,你還需要加強所有其他使用者的密碼。你可以檢查所有的使用者名稱和密碼,必要的時候你還可以重置安全強度低的賬戶密碼。雖說這樣做會有點費時,但卻是有必要的。

五 限制資料庫許可權

每個使用者都應該被授予適當的許可權以便資料庫能夠正常執行,但這樣一來也加大了資料庫的安全隱患。就資料庫許可權而言,我們有以下幾點建議:

5.1. 不要授予非管理員使用者檔案/高階/程式許可權

檔案,高階和程式許可權都不應該被濫用。檔案許可權讓使用者可以在檔案系統中的任何乙個地方編寫檔案,而程式許可權讓使用者在任何時候都能夠檢視伺服器活動,終止客戶端連線甚至更改伺服器操作。為了你的資料庫安全,這些許可權只能授予給管理員賬戶。

5.2. 限制或禁用顯示資料庫許可權

顯示資料庫特權可以用於收集資料庫資訊,所以攻擊者通常利用它來竊取資料並準備進一步攻擊。你應該把這個許可權授予那些真正需要的人,或者直接禁用這個權

限,你只需要把skip-show-database新增到mysql資料庫中的/etc/my.cnf配置檔案中。對於windows作業系統來說,則

需要新增到my.ini檔案中。

5.3. 限制管理員和所有其他使用者的許可權

即使是管理員,也不要在同一賬戶中授予所有許可權。因此我們建議你最好降低管理員賬戶訪問資料的許可權。至於其他的使用者,你最好檢查所有他們擁有的許可權,以確保一切都是合適的。

六 刪除風險元件

mysql資料庫的預設配置有一些不必要的元件,你可以考慮以下建議:

6.1. 禁用load data local infile指令

這個命令允許使用者讀取本地檔案甚至訪問其他作業系統上的檔案,這可能幫助攻擊者收集重要的資訊並利用應用程式的漏洞侵入你的資料庫。你需要做的是把set-variable=local-infile=0插入到mysql資料庫的my.cnf檔案中,來禁用這個指令。

6.2. 刪除測試資料庫

有乙個預設的「測試」資料庫用於測試目的。由於這個資料庫有安全風險,匿名使用者也可以訪問,你應該使用mysql> drop database test;指令盡快把它清除掉。

6.3. 刪除歷史檔案

mysql伺服器有乙個歷史檔案,它可以幫助你在安裝出錯的時候找到問題所在。歷史檔案包含敏感資訊,比如說密碼,如果這些資訊被攻擊者獲得,那麼將會給

你的資料庫帶來巨大的安全隱患。在安裝成功後,歷史檔案並沒有什麼用,因此你可以使用cat /dev/null >

~/.mysql_history指令來刪除檔案當中的內容。

七 限制遠端訪問mysql伺服器

對於大多數使用者來說,不需要通過不安全的開放網路來訪問mysql伺服器。你可以通過配置防火牆或硬體,或者迫使mysql只聽從localhost來限制主機。此外,需要ssh隧道才能進行遠端訪問。

八 如果你想僅僅從本地主機來限制使用者建立連線,你需要在在配置檔案中新增bind-address=127.0.0.1。

8.1利用日誌記錄

啟用日誌記錄讓你可以檢測伺服器上的活動,這樣你就可以分析失敗的登入嘗試和敏感檔案的訪問記錄,以便了解是否存在向你的伺服器和資料庫發起的惡意活動。

你只需要把log =/var/log/mylogfile指令新增到mysql配置檔案中,就可以手動啟用日誌記錄功能。

8.2至於日誌記錄,需要注意以下兩點:

8.2.1日誌記錄僅適用於查詢數量有限的資料庫伺服器。對於資訊量大的伺服器,這可能會導致高過載。

8.2.2由於「hostname.err」檔案包含敏感資料表名和密碼,只有「root」和「mysql」才有訪問和記錄這個檔案的許可權。

如何提高Wi Fi的安全性

在15年前,wi fi開始了其漫長而穩步的發展,從家庭到辦公室,最終取代乙太網成為很多企業首選網路接入方式。現在,在802.11ac的推動下,企業wi fi部署正在進一步發展,2014年,802.11ac佔全球1.76億接入點 ap 出貨量的18 wi fi不僅將改變員工的連線方式,還將改變保護通訊...

mysql安全性試驗 Mysql安全性測試

一 沒有進行預處理的sql語句 1.連線資料庫 conn mysql connect 127.0.0.1 3306 root 518666 if conn die could not connect mysql error 2.選擇資料庫 mysql select db mysql safe con...

如何提高Linux系統安全性

1 取消不必要的服務 早期的unix版本中,每乙個不同的網路服務都有乙個服務程式在後台執行,後來的版本用統一的 etc inetd伺服器程式擔此重任。inetd是internetdaemon的縮寫,它同時監視多個網路埠,一旦接收到外界傳來的連線資訊,就執行相應的tcp或udp網路服務。由於受inet...