接觸mysql資料庫已經很多年了,經常碰到mysql資料庫被攻擊,導緻使用者的資料庫 丢失,資料庫被删除,花錢找人恢複出來少則幾萬,多則幾十萬的花費,在防止數 據庫被攻擊的同時,也要做好資料庫的實時備份,如果使用了阿裡雲的伺服器,可 以使用阿裡雲的快照備份,可以及時的備份一份資料在自己手裡。
這麼多年了摸索下來,給自己總結了一些安全經驗、從資料庫安全類型的角度來看 ,資料庫分Mysql、Mssql、Oracle、PostgreSQL,用的最多的是mysql資料庫,如 果再算上web前端架構,Apache、IIS、nginx都是與資料庫相關的。 資料庫攻擊産生是因為前端程式代碼沒有對使用者的輸入,進行詳細的安全過濾,導 緻黑客可以篡改輸入值,來進行代碼的攻擊,比如一些資料庫的操作查詢代碼都可 以傳入到後端資料庫裡去。
最常見就是是資料庫的UNION查詢,也是mysql中用的最多的一種擷取資料庫裡的數 據,首先是UNION帶回顯查詢正常流程。随後是mysql報錯函數的原理、與注入,黑 客通過一些特殊的注入語句就可以輕松的查詢到想要的資訊。Sine安全公司是一家 專注于:伺服器安全、網站安全、網站安全檢測、網站漏洞修複,滲透測試,安全服 務于一體的網絡安全服務提供商。
OOB注入攻擊資料庫
OOB注入,就是通過非正常的方式将資料傳輸出去。同樣需要secure_file_priv權 限,對于Mysql有DNS(域名漏洞)和SMB兩種主要帶外傳輸方式。這種技術在概念 上比較難了解,但掌握之後是非常強大的技術,除了能繞過WAF向外帶出資料之外 ,還可以結合XSS漏洞進行危害性更大的黑客攻擊。
寬位元組注入攻擊 寬位元組注入可以在web應用轉義單引号的情況下,利用寬位元組的特性,吃掉轉義反 斜杠。然後傳入帶有攻擊性的代碼,進而攻擊資料庫。 以上種種都是黑客攻擊資料庫的方式,那麼如何防止資料庫被攻擊?最重要的還是 要在網站前端做好防護,在程式代碼裡盡可能的去過濾非法參數,避免惡意代碼傳 入到資料庫中去,再一個就是開始PHP的報錯模式,以及mysql預設3306端口的關閉 ,隻允許本地調用資料庫。
把mysql運作賬戶的權限,限制到最小,千萬不要用root以及管理者權限去運作。 mysql的自身的4個庫安全權限限制:
user、db、TABLES_PRTV、Columns_prtv mysql密碼安全政策,數字+子母+字元 最起碼十位以上 mysql安全日志開啟,包括錯誤日志,查詢日志記錄所有的sql語句。