安全規則概述
安全規則庫用來保存已發現的不安全SQL語句的特征信息。系統通過將審計到的SQL語句和安全規則進行匹配從而判斷SQL語句中是否包含可疑行為。
根據不安全SQL的特征,安全規則分成SQL注入攻擊規則、漏洞攻擊規則、賬號安全規則、數據泄露規則和違規操作規則。
- SQL注入攻擊是一種將SQL代碼插入或添加到應用(用戶)的輸入參數中的攻擊,之后再將這些參數傳遞給后臺的數據庫服務器加以解析并執行,SQL注入規則可以有效的發現此類攻擊行為并產生告警。
- 漏洞攻擊規則是根據已知的SQL漏洞信息而制定的,漏洞安全規則按照不同的漏洞類型可以分成緩沖區溢出和存儲過程濫用。
- 賬號安全規則是針對對數據庫服務器進行暴力破解和登錄失敗場景下的安全規則。
- 數據泄露規則根據泄露場景分成拖庫攻擊、數據庫外聯、大流量返回、非授權訪問,系統可以有效地發現這幾種泄露場景并及時通知告警。
- 違規操作規則是針對于應用賬號違規操作、運維人員的違規操作、數據庫探測和異常語句場景。
系統內置900多條安全規則,覆蓋了主流的應用場景,并且在不斷地豐富。此外,用戶可以自定義安全規則。
規則管理
內置規則不可更改,默認為推薦規則,您可以通過單擊界面右上角的“推薦”按鈕切換到全部規則。
說明內置規則包含特征規則及其他非特征規則,特征規則不可進行克隆和刪除操作,非特征規則可進行克隆操作。
您可以管理自定義的規則,新增自定義安全規則的操作方法如下:
1.在菜單欄選擇“規則配置 > 安全規則”進入“安全規則”頁面,選擇“規則管理”頁簽,單擊“新增”。
2.在彈出的對話框中填寫相關參數,填寫完成后單擊“保存”即可完成安全規則新增任務。
項目 參數 參數說明 基本信息 名稱 設置規則名稱,必須為中文字符、字母、數字、下劃線“_”、點“.”或短橫“-”,長度不超過64字符。 描述 規則描述。 等級 必選項,系統默認等級為中風險。等級可選高風險、中風險和低風險。 所屬規則組 必選項,可選擇自定義的規則組,也可以選擇系統默認規則組。可通過以下步驟對自定義規則組進行管理:
單擊所屬規則組右邊的“規則組管理”,可新增、修改和刪除自定義規則組。
規則類型 當前支持普通規則和統計規則兩類。
普通規則:單條審計記錄匹配配置的普通規則,會觸發普通告警(例如一條select語句,可能會觸發一條普通告警)。
統計規則:指定時間內多次匹配配置的統計規則,會觸發一條統計告警(例如5分鐘內10次select失敗,可能會觸發一條統計告警)。
行為 當前支持告警和告警并阻斷。
告警:操作命中規則后,仍正常執行,無特殊控制。
告警并阻斷:操作命中規則后,該操作對應的數據庫連接斷開。
客戶端 客戶端來源 訪問業務類型的客戶端IP或IP組。可填寫多個,以逗號“,”分隔。 客戶端工具 可配多個客戶端工具,使用逗號“,”分隔,例如:db2bp.exe,java.exe。 客戶端端口 可配置多個值或區間,多個值間以逗號“,”分隔,例如:10-15,20,25,30-40。 客戶端MAC地址 可填多個值,多個值間以逗號“,”分隔。 操作系統用戶 可以選擇字符串或者正則表達式,字符串可填多值,多個值間以逗號“,”分隔。 主機名 可以選擇字符串或者正則表達式,字符串可填多值,多個值間以逗號“,”分隔。? 應用IP 指定規則所匹配的應用IP或IP組,對應審計日志中的關聯IP,可填多值,多個值間以逗號“,”分隔。 應用用戶名 指定規則所匹配的應用用戶或用戶組,對應審計日志中的關聯賬號,可填多值,多個值間以逗號“,”分隔。 服務端 服務端IP 可填多個值,多個值間以逗號“,”分隔。 服務端端口 可配置多個值或區間,多個值間以逗號“,”分隔,例如:10-15,20,25,30-40。 數據庫賬號 指定規則所匹配的數據庫登錄用戶賬號或賬號組或者使用正則表達式,可填多值,多個值之間以“,”分隔。 服務端MAC地址 可填多個值,多個值間以逗號“,”分隔。 數據庫名(SID) 可以選擇字符串或者正則表達式,Oracle數據庫請輸入SID,其他數據庫輸入數據庫名,字符串可填多值,多個值間以逗號“,”分隔。 行為 對象 指定規則匹配的對象組。 操作類型 指定SQL語句的操作類型,例如:select、update、delete等。 SQL模板ID 可填項,可填多值,多個值間以逗號“,”分隔。 SQL關鍵字 SQL關鍵字:支持以正則表達式匹配報文。
單擊“正則驗證”輸入報文內容,單擊“校驗”,驗證輸入內容與執行結果關鍵字中的正則表達式是否匹配;單擊“增加條件”可添加多個條件。
條件運算邏輯表達式:SQL關鍵字填寫后,此項為必填項。條件間的關系,支持與、或、非、括號運算(&:與;|:或;~:非),條件使用序號表示,即“1”表示條件1,例如:1&2,則代表有2個SQL關鍵字條件且兩個關鍵字都要滿足才能告警。
SQL長度 指定SQL語句的長度,取值范圍:1B~64KB。 關聯表數 SQL操作涉及表的個數大于等于此值時觸發本規則,允許輸入最大值為255。 WHERE字句 是否包含WHERE,支持三個選項:
不判斷
有WHERE子句
沒有WHERE子句
默認為不判斷。WHERE子句用于提取滿足指定條件的SQL記錄,語法如下:
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
結果 執行時長 (選填)單位:秒、毫秒、微秒,取值范圍:0到半個小時,SQL執行時長屬于此范圍,則觸發規則。 影響行數 取值范圍:0~999,999,999。SQL操作返回的記錄數或受影響的行數屬于此范圍,則觸發規則。 返回結果集 支持以正則表達式匹配結果集。 單擊“正則驗證”輸入報文內容,單擊“校驗”,驗證輸入內容與執行結果關鍵字中的正則表達式是否匹配;單擊“增加條件”可添加多個條件。
條件運算邏輯表達式:SQL關鍵字填寫后,此項為必填項。條件間的關系,支持與、或、非、括號運算(&:與;|:或;~:非),條件使用序號表示,即“1”表示條件1,例如:1&2,則代表有2個SQL關鍵字條件且兩個關鍵字都要滿足才能告警。
執行狀態 可選三類執行狀態:
全部
成功
失敗
默認為全部。
執行結果描述 支持以正則表達式方式匹配。 其他 生效時間 可自定義或者選擇時間組。 每日最大告警數 取值范圍:0~99,999,輸入0表示沒有限制。 結果集存儲策略 設置觸發該規則的告警日志的返回結果集存儲策略,包含使用資產設置、保存和不保存。
啟用規則
1.在左側菜單欄選擇“規則配置 > 安全規則”進入“安全規則”頁面,選擇“規則管理”頁簽,在規則列表中勾選目標規則,單擊“啟用選中項”。
2.在彈出對話框中勾選需要啟用相關規則資產,單擊“確定”,則可將已啟用的規則直接應用到選擇的資產上。
禁用規則
1.在左側菜單欄選擇“規則配置 > 安全規則”進入“安全規則”頁面,選擇“規則管理”頁簽,在規則列表中勾選目標規則,單擊“禁用選中項”。
2.在彈出對話框中勾選需要禁用相關規則資產,單擊“確定”,則可將已禁用的規則直接應用到選擇的資產上。
白名單管理
已經匹配到安全規則的審計日志如果符合白名單的條件就不會觸發告警。條件包含客戶端、服務端、基本信息、結果、行為等。
新增白名單并啟用的操作方法如下:
1..在左側菜單欄選擇“規則配置 > 安全規則”進入“安全規則”頁面,選擇“白名單管理”頁簽。
2.單擊“新增”,進入“新增白名單”頁面,編輯相關配置項(配置方法與新增自定義規則的參數配置方法相同,請參考規則管理)。
3.配置完成后,單擊“保存”即可完成白名單的新增。
說明添加白名單后,需在對應的規則上啟用該白名單才會生效。
4.在左側菜單欄選擇“規則配置 > 安全規則”進入“安全規則”頁面,選擇“規則管理”頁簽。
5.單擊“白名單數量”列的數字。
6.在彈出的對話框中,將“狀態”列的狀態改為“啟用”即可啟用白名單。
說明如您需要刪除白名單規則,則需要將白名單上啟用的所有安全規則禁用后才能刪除該白名單。
設置
此功能可設置規則的優先級狀態,啟用優先級可自定義規則匹配順序,匹配上某條規則后,優先級更低的規則就不再匹配。關閉規則的優先級后,每個數據庫操作行為可以觸發的所有滿足條件的安全規則。