雲伺服器部署的mysql資料庫怎麼防止被“黑”?

山有木兮丶發表於2020-10-21

雲伺服器部署的mysql資料庫怎麼防止被“黑”?      

  前些天登陸自己寫的部落格系統突然發現頁面一片空白,當時大驚,系統這是又出什麼么蛾子了?於是感覺看控制檯,分析一波。隨之發現部落格前臺呼叫後臺的方法全都是一片紅,再一看系統後臺發現後臺資料庫操作全都報錯了,在一看資料庫發現部署在雲伺服器的幾個資料庫的資料全空了!!只留下了一張warning的表提示我聯絡某個郵箱支付比特幣就給恢復資料。。。。。(心裡無數草泥馬奔騰而過),剛畢業的俺啥時候見過這陣仗,於是各種百度恢復資料的方法,無果。最終只找到可以根據系統表結構生成sql的工具方法,最終艱難的恢復了各個表,但是無疑資料肯定是麼的了~ 痛定思痛,花了許久的時間去了解怎麼提高部署在雲服務上的資料安全性,今天就作一個簡單的總結,希望對大家有點幫助。

        首先,資料庫被黑的原因:

1、資料庫root使用者有開放遠端連線。

2、root密碼過於簡單,是弱密碼。

3、網站程式本身存在木馬漏洞。

        第三點我們就不說了,所以其實被黑的原因基本就是root使用者有開放遠端連線,並且密碼過於簡單。

我們部署在雲伺服器的資料庫很多時候root使用者是需要開放遠端連線的,所以,防止被黑我們可以設定一個密碼複雜度比較高的密碼!!

        但是問題是密碼的話我也不喜歡弄太複雜的記不住,那咋辦? 其實,除了設定複雜的密碼以外,這時候我們其實還可以通過限制ip訪問來做到保護資料安全,簡單粗暴。

         一、mysql自己的限ip訪問方法

首先登陸mysql

取消掉任意都能訪問為本地才可以訪問

use mysql;

UPDATE user SET Host = 'localhost' where Host = '%';

flush privileges;

然後再建立建立一個專門用來遠端用的賬號並指定ip,授權(需要給哪個ip就創幾個,有點麻煩哈哈。。。。)

CREATE USER 'root'@'119.137.52.210' IDENTIFIED BY '123456';

GRANT ALL ON *.*To root@'119.137.52.210'IDENTIFIED BY '123456' WiTH GRANT OPTION;

flush privileges;(執行這個指令,就生效啦)

        二、使用雲伺服器自己的防火牆設定 使用這個就方便很多啦,我現在也是這麼用的,以我用的滴滴雲伺服器為例~ 新增一條安全組規則,埠填新增一條安全組,埠填mysql的3306,授權物件填允許訪問的ip 就歐克啦!需要允許哪些ip可以訪問就新增幾條安全組規則。

相關文章