天天看點

RDS審計中心--資料庫安全監控利器背景監控及告警總結

背景

去年的微盟“删庫跑路”導緻公司市值蒸發10億,前不久的網傳某網際網路公司實習生“删庫”事件也上了頭條,到最近的巴西一個資料庫洩露近30T資料,影響2.2億人,關于資料庫安全的事件從未停止。

資料庫作為業務的資料核心,其安全及性能是所有企業都必須面對的問題。當企業上雲後,如何更加友善的監控雲上資料庫同樣是非常重要的一件事情。

如何更加快速的發現删庫事件?

如何揪出惡意的登入請求?

如何過濾性能需要優化的慢查詢?

。。。

RDS審計中心

釋出後,讓問題變得簡單。

監控及告警

RDS審計中心内置最常見的一些告警規則(實際排查過程中可結合實際情況自行調整對應的參數及SQL查詢語句),參考

RDS安全

,具體告警設定參考

設定告警

,使用者可以聚焦于發現及解決問題本身。廢話不多說,我們直接看看一些常見的場景。

RDS慢SQL

當我們配置

RDS慢SQL檢測

後,如果一定時間範圍内觸發了告警,我們将通過配置的相應管道接收到告警消息,比如郵件,

RDS審計中心--資料庫安全監控利器背景監控及告警總結

基于告警資訊,我們直接通過

的審計性能中心檢視慢SQL清單Top50,快速找出該異常時間段内的慢SQL語句,此處僅為測試樣例。

RDS審計中心--資料庫安全監控利器背景監控及告警總結

實際上,對于使用MySQL類關系型資料庫,讀操作是最多的,而讀操作裡的慢SQL也是最常見的問題,優化的空間及必要性都排在首位,大體可以分為三類:索引優化、SQL語句優化以及表優化,實際上也是一個互相關聯的持續優化過程。

索引優化也是最常見的場景,我們來看一個簡單的例子,如下,很顯然執行了全表掃描,where查詢條件的列沒有加索引。

RDS審計中心--資料庫安全監控利器背景監控及告警總結

我們加上索引後,查詢效果提升是非常顯著的

RDS審計中心--資料庫安全監控利器背景監控及告警總結

關于索引優化,遵循一些基本規則:

  • 經常需要作為where查詢條件的列,建議增加索引,多個查詢條件可以增加複合索引
  • 最左字首比對原則
  • 選擇區分度盡可能高的列建索引
  • 索引的列不能參與函數計算
  • 如果可能通過擴充已有索引進行優化,則優先擴充索引,然後才是建立索引

關于SQL語句的優化,基本原則:

  • 查詢盡量用具體字段,不用*
  • 一般join性能優于子查詢,對于多表join,盡量用小表 join 大表
  • 常用查詢可以考慮開啟緩存
  • 尤其是對于查詢資料量非常大的情況,加上limit

關于表的優化,一般來說表的字段盡可能用NOT NULL,字段長度固定越有利于查詢,對于大表則需要結合業務進行水準或垂直拆分

總體來說,優化步驟如下:

  1. 首先利用好explain這個神器
  2. 了解查詢語句涉及到的表結構及相關索引資訊
  3. 結合具體業務場景思考可能的優化點
  4. 驗證優化後的執行效果
  5. 重複以上步驟

RDS登入失敗異常

RDS登入失敗次數過多告警

後,如果一定時間範圍内觸發了告警,我們将通過配置的相應管道接收到告警消息,比如郵件

RDS審計中心--資料庫安全監控利器背景監控及告警總結

的審計安全中心檢視登入失敗的IP統計,快速找出該異常時間段内頻繁嘗試登入失敗的IP位址。

RDS審計中心--資料庫安全監控利器背景監控及告警總結

進一步地,我們可以點選錯誤最多的用戶端清單框右上角,如下圖,檢視分析詳情,基于告警的觸發時間往前選擇對應的時間間隔,定位具體IP位址,進而進一步評估是否将對應IP加入黑名單處理。

RDS審計中心--資料庫安全監控利器背景監控及告警總結
RDS審計中心--資料庫安全監控利器背景監控及告警總結

RDS删除資料異常

RDS大批量資料删除告警

,同樣在收到告警消息後,如下圖,通過

的審計安全中心,找到大批量删除事件Top50清單框,也可以進一步檢視分析詳情,選擇告警觸發時間段,選擇原始日志,檢視更多審計資訊,快速定位對應時間段的異常删除操作記錄,及時告警,避免有意、無意的删除動作,最大限度的止損。

RDS審計中心--資料庫安全監控利器背景監控及告警總結
RDS審計中心--資料庫安全監控利器背景監控及告警總結
RDS審計中心--資料庫安全監控利器背景監控及告警總結

RDS執行錯誤異常

RDS SQL執行錯誤數過多告警

的審計安全中心,找到錯誤最多的用戶端清單框,檢視分析詳情,選擇告警觸發時間段,快速定位對應時間段的錯誤SQL操作記錄,該樣例錯誤為查詢不存在的列名"uid"。

RDS審計中心--資料庫安全監控利器背景監控及告警總結
RDS審計中心--資料庫安全監控利器背景監控及告警總結

RDS危險SQL操作

RDS危險的SQL執行告警

後,同樣在收到告警消息後,如下圖,通過

的審計安全中心,快速定位對應時間段的危險SQL操作記錄,

RDS審計中心--資料庫安全監控利器背景監控及告警總結
RDS審計中心--資料庫安全監控利器背景監控及告警總結

總結

本文基于一些常見案例,介紹了基于

如何快速定位雲上資料庫問題,并給出了一些處理的建議,也僅僅是作為參考,希望能夠幫助使用者貼合自己的實際業務場景,更省時、省力、準确定位并解決問題。

對我們工作感興趣的,可以通過如下方式了解更多,謝謝關注!

RDS審計中心--資料庫安全監控利器背景監控及告警總結