如何防止網站資料庫被攻擊 被篡改

網站安全發表於2019-06-28

某一網站平臺的客戶資料庫被駭客篡改了,篡改了會員的銀行卡資訊以及金額,包括注單也被駭客篡改,導致平臺的損失很大,在後臺提現的時候,客戶才發現會員的資料有異常,覺得不得勁,查詢該會員賬號的所有資訊發現了問題。資料庫被攻擊了,隨即透過朋友介紹找到我們SINE安全公司,尋求安全解決,防止資料庫被攻擊,被篡改。

如何防止網站資料庫被攻擊 被篡改

資料庫的安全問題每天都會發生,不光光篡改你的資料,前些日子有一客戶的資料庫被刪除了,並留下內容說是資料庫已備份,需要比特幣來恢復,大約價格在幾萬左右,客戶之前有做異地資料庫備份,這才將損失降到最低,但是日後的資料庫安全問題給他們敲響了警鐘,需要做安全防護與部署,防止後期再被刪除,攻擊。甚至有些網站的資料庫被脫褲,所有的會員賬號密碼名字,手機號都隱私資訊被洩露出去,被打包賣了,資料庫的安全問題不容忽視。關於資料庫的安全設定,以及防止資料庫被攻擊,如何查詢攻擊者,我們SINE安全跟大家詳細的講解一下:

目前常見的資料庫攻擊的特徵分為,資料庫root密碼的弱口令攻擊,以及sql注入攻擊,資料庫提權加管理員賬戶,資料庫寫入木馬程式碼,資料庫某一表被刪除,資料庫內容被篡改等等,透過對資料庫日誌的安全分析,可以發現問題的根源與攻擊的源頭。

首先我們要將我們的資料庫開啟log日誌記錄功能,每一個對資料庫的請求,讀寫,都要記錄下來,執行了哪些sql語句,查詢,增加,刪除等等,這樣我們就可以看的很明白,如何開啟mysql日誌功能呢?連線資料庫登陸root管理員賬戶,然後執行 :SET GLOBAL general_log = 'On';這一句命令,這是開啟,接下來就是存在log日誌的檔案地址,再執行SET GLOBAL general_log_file = '/mysqlrizhi/safe.log'; 當你在網站進行查詢的時候就會記錄你的sql執行語句,如下圖:

如何防止網站資料庫被攻擊 被篡改

透過上面我們可以看到,第一個是時間,幾點幾分,connect是連線資料庫的操作,init db是資料庫的名稱,query是查詢的意思,針對admin表進行查詢操作,quit就是退出,我們要看明白日誌才能分析出資料庫被攻擊的原因。資料庫日誌還會出現一些嘗試利用弱口令進行攻擊的,如下圖:

如何防止網站資料庫被攻擊 被篡改

上面就是用資料庫密碼工具來進行密碼的猜測,針對於資料庫的埠mysql預設是3306埠,針對這一埠,我們可以進行安全限制,對其指定IP放行,不對外公開訪問,這樣大大的杜絕了資料庫的攻擊與密碼的猜解。資料庫被攻擊,很重要的一些特殊sql語句要記住,想drop,以及lock,info outfile,update,dumpfile,都是一些管理員的操作,備份資料庫匯出資料庫,以及輸出檔案到網站目錄,刪除某個表,對資料庫進行更新等操作。

資料庫安全設定與防篡改,防攻擊的辦法

資料庫的預設埠3306或者是sqlserver1433埠都要做埠的安全策略,限制對外開放,或者使用phpmyadmin對資料庫進行管理等操作,網站的資料庫呼叫賬戶使用普通許可權賬戶,只有讀寫,增加刪除等操作,沒有管理員許可權,時刻對資料庫進行備份,設定資料庫備份計劃,每天,每小時都可以設定備份到指定的目錄,如果使用的是阿里雲的伺服器建議開啟阿里雲的快照備份,如果自己對資料庫不是太熟悉的話,也不知該如何防止資料庫被攻擊,建議找專業的網站安全公司來處理解決資料庫被篡改,刪除的問題,像Sinesafe,綠盟那些專門做網站安全防護的安全服務商來幫忙。再一個資料庫的配置開啟魔術模式,對sql注入的字元進行自動轉義,防止sql注入攻擊。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31542418/viewspace-2649025/,如需轉載,請註明出處,否則將追究法律責任。

相關文章