主頁 > 知識庫 > 保障MySQL數據安全的一些建議

保障MySQL數據安全的一些建議

熱門標簽:地圖標注客戶付款 申請400電話電話價格 廣東400企業(yè)電話申請流程 新鄉(xiāng)智能外呼系統好處 石家莊400電話辦理公司 咸陽防封電銷卡 臨沂做地圖標注 許昌外呼增值業(yè)務線路 宜賓全自動外呼系統廠家

數據是企業(yè)核心資產,數據對企業(yè)而言是最重要的工作之一。稍有不慎,極有可能發(fā)生數據無意泄露,甚至被黑客惡意竊取的風險。每年業(yè)界都會傳出幾起大事件,某知名或不知名的公司被脫褲(拖庫的諧音,意思是整個數據庫被黑客盜?。┲惖?。

從數據安全上也可以分為外網安全及內部操作安全,下面分別討論一下。

內部操作安全策略

1. 是否回收DBA全部權限

試想,如果DBA沒權限了,日常DB運維的活,以及緊急故障處理,該怎么實施呢?因此,建議在沒有成熟的自動化運維平臺前,不應該粗暴的回收DBA的太多權限,否則可能會導致工作效率降低的,甚至DBA有一種不被信任的負面情緒。

2. MySQL層安全策略

  • 業(yè)務帳號最多只可以通過內網遠程登錄,而不能通過公網遠程連接。
  • 增加運維平臺賬號,該賬號允許從專用的管理平臺服務器遠程連接。當然了,要對管理平臺部署所在服務器做好安全措施以及必要的安全審計策略。
  • 建議啟用數據庫審計功能。這需要使用MySQL企業(yè)版,或者Percona/MariaDB分支版本,MySQL社區(qū)版本不支持該功能。
  • 啟用 safe-update 選項,避免沒有 WHERE 條件的全表數據被修改;
  • 在應用中盡量不直接DELETE刪除數據,而是設置一個標志位就好了。需要真正刪除時,交由DBA先備份后再物理刪除,避免誤操作刪除全部數據。
  • 還可以采用觸發(fā)器來做一些輔助功能,比如防止黑客惡意篡改數據。

3. MySQL賬號權限規(guī)則

  • 業(yè)務帳號,權限最小化,堅決不允許DROP、TRUNCATE權限。
  • 業(yè)務賬號默認只授予普通的DML所需權限,也就是select、update、insert、delete、execute等幾個權限,其余不給。
  • MySQL初始化后,先行刪除無用賬號,刪除匿名test數據庫
mysql> delete from mysql.user where user!='root' or host!='localhost'; flush privileges; mysql> drop database test;
  • 創(chuàng)建備份專用賬號,只有SELECT權限,且只允許本機可登入。
  • 設置MySQL賬號的密碼安全策略,包括長度、復雜性。

4. 關于數據備份

記住,做好數據全量備份是系統崩潰無法修復時的最后一概救命稻草。

備份數據還可以用來做數據審計或是用于數據倉庫的數據源拉取之用。

一般來說,備份策略是這樣的:每天一次全備,并且定期對binlog做增備,或者直接利用binlog server機制將binlog傳輸到其他遠程主機上。有了全備+binlog,就可以按需恢復到任何時間點。

特別提醒:當采用xtrabackup的流式備份時,考慮采用加密傳輸,避免備份數據被惡意截取。

外網安全策略

事實上,操作系統安及應用安全要比數據庫自身的安全策略更重要。同理,應用程序及其所在的服務器端的系統安全也很重要,很多數據安全事件,都是通過代碼漏洞入侵到應用服務器,再去探測數據庫,最后成功拖庫。

1. 操作系統安全建議

  • 運行MySQL的Linux必須只運行在內部網絡,不允許直接對公網暴露,實在有需要從公網連接的話,再通過跳板機做端口轉發(fā),并且如上面所述,要嚴格限制數據庫賬號權限級別。
  • 系統賬號都改成基于ssh key認證,不允許遠程密碼登入,且ssh key的算法、長度有要求以確保相對安全。這樣就沒有密碼丟失的風險,除非個人的私鑰被盜。
  • 進一步的話,甚至可以對全部服務器啟用PAM認證,做到賬號的統一管理,也更方便、安全。
  • 關閉不必要的系統服務,只開必須的進程,例如 mysqld、sshd、networking、crond、syslogd 等服務,其它的都關閉。
  • 禁止root賬號遠程登錄。
  • 禁止用root賬號啟動mysqld等普通業(yè)務服務進程。
  • sshd服務的端口號建議修改成10000以上。
  • 在不影響性能的前提下,盡可能啟用對MySQL服務端口的防火墻策略(高并發(fā)時,采用iptables可能影響性能,建議改用ip route策略)。
  • GRUB必須設置密碼,物理服務器的Idrac/imm/ilo等賬號默認密碼也要修改。
  • 每個需要登入系統的員工,都使用每個人私有帳號,而不是使用公共賬號。
  • 應該啟用系統層的操作審計,記錄所有ssh日志,或利bash記錄相應的操作命令并發(fā)送到遠程服務器,然后進行相應的安全審計,及時發(fā)現不安全操作。
  • 正確設置MySQL及其他數據庫服務相關目錄權限,不要全是755,一般750就夠了。
  • 可以考慮部署堡壘機,所有連接遠程服務器都需要先通過堡壘機,堡壘機上就可以實現所有操作記錄以及審計功能了。
  • 腳本加密對安全性提升其實沒太大幫助。對有經驗的黑客來說,只要有系統登入權限,就可以通過提權等方式輕松獲得root。

2. 應用安全建議

  • 禁用web server的autoindex配置。
  • 從制度層面,杜絕員工將代碼上傳到外部github上,因為很可能存在內部IP、賬號密碼泄露的風險,真的要上傳必須先經過安全審核。
  • 盡量不要在公網上使用開源的cms、blog、論壇等系統,除非做過代碼安全審計,或者事先做好安全策略。這類系統一般都是黑客重點研究對象,很容易被搞;
  • 在web server層,可以用一些安全模塊,比如nginx的WAF模塊;
  • 在app server層,可以做好代碼安全審計、安全掃描,防止XSS攻擊、CSRF攻擊、SQL注入、文件上傳攻擊、繞過cookie檢測等安全漏洞;
  • 應用程序中涉及賬號密碼的地方例如JDBC連接串配置,盡量把明文密碼采用加密方式存儲,再利用內部私有的解密工具進行反解密后再使用?;蛘呖梢宰寫贸绦蛳扔弥虚g賬號連接proxy層,再由proxy連接MySQL,避免應用層直連MySQL;

最后我們想說,任何高明的安全策略,都不如內部員工的安全意識來的重要。以前發(fā)生過一起案例,公司內有位員工的PC不慎中毒,結果導致內網數據被盜。

安全無小事,每個人都應銘記于心。在數據安全面前,可以適當犧牲一些便利性,當然也不能太過,否則可能得不償失。

以上就是保障MySQL數據安全的一些建議的詳細內容,更多關于MySQL安全建議的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • MySQL安全策略(MySQL安全注意事項)
  • MySQL安全輸入密碼的一些操作介紹
  • 詳細講解安全升級MySQL的方法
  • 淺析MySQL的注入安全問題
  • MySQL關閉過程詳解和安全關閉MySQL的方法
  • mysql安全啟動腳本mysqld_safe詳細介紹

標簽:阜新 鎮(zhèn)江 鷹潭 臺灣 合肥 貴州 北京 日照

巨人網絡通訊聲明:本文標題《保障MySQL數據安全的一些建議》,本文關鍵詞  保障,MySQL,數據,安全,的,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《保障MySQL數據安全的一些建議》相關的同類信息!
  • 本頁收集關于保障MySQL數據安全的一些建議的相關信息資訊供網民參考!
  • 推薦文章