全部產品
Search
文件中心

ApsaraDB for OceanBase (Deprecated):SQL 防火牆

更新時間:Jul 01, 2025

本文介紹如何在 OceanBase 控制台設定執行個體的 SQL 防火牆。

背景資訊

SQL 防火牆是一種專門設計用於保護資料庫安全的軟體系統,它通過監控和過濾進出資料庫的 SQL 陳述式,來防禦 SQL 插入式攻擊和其他針對資料庫的惡意活動。SQL 注入是一種常見的網路攻擊手段,攻擊者通過在查詢語句中插入惡意 SQL 代碼,以此來欺騙資料庫執行非授權操作,如竊取資料、修改資料或破壞資料庫結構。

OceanBase 通過 SQL 防火牆規則的制定,可以即時監控並攔截資料庫 SQL,有效提升資料庫的安全能力,保護資料庫免受此類攻擊的影響。

前提條件

執行個體的資料庫代理版本在 V4.3.2 及以上。資料庫代理的相關說明,請參見 資料庫代理服務概述

注意事項

開啟 SQL 防火牆之前,請詳細閱讀如下注意事項:

  1. SQL 防火牆是熱載入生效,不需要重啟資料庫代理服務,對所有會話新啟動的事務即時生效。請謹慎操作,避免發生誤操作影響線上業務流量。

  2. SQL 防火牆開啟後會對資料庫效能有 10 % 左右的影響。

管理 SQL 防火牆

  1. 登入 OceanBase 管理主控台

  2. 在左側導覽列中,單擊 執行個體列表

  3. 在執行個體列表中,單擊目的地組群執行個體名稱進入 叢集執行個體工作台

  4. 單擊左側導覽列的 安全設定

  5. 單擊安全設定頁面的 SQL 防火牆 頁簽,查看當前已有的防火牆規則列表。

  6. 您可以對當前已有的 SQL 防火牆規則進行管理。

建立 SQL 防火牆規則

  1. 在 SQL 防火牆介面,單擊 建立規則

    image

  2. 在建立規則介面填寫規則配置。

    參數

    描述

    規則名稱

    為 SQL 防火牆規則設定的名稱,長度為 2~32,只能包含中文、數字、英文字母、底線、虛線。

    規則描述

    為規則進行一個簡單的說明,以便後續查看使用。

    租戶

    在下拉框中選擇規則生效的租戶。

    資料庫代理

    選擇資料庫代理資訊。

    資料庫帳號

    選擇規則生效的帳號,為空白表示所有資料庫帳號均生效。

    規則類型

    攔截規則。

    模式

    • 檢驗模式:SQL 類型記錄,不真正攔截。

    • 防護模式:攔截 SQL 並記錄。

    防火牆規則

    • 攔截特定類型的 SQL:攔截指定類型的 SQL ,可選擇 SELECT、UPDATE、INSERT、DELETE、CREATE、DROP、ALTER、TRUNCATE、RENAME、REPLACE。

    • 攔截無 where 條件的 SQL:攔截指定類型中,未帶 where 條件的 SQL,可選擇 SELECT、UPDATE、DELETE。

    • 攔截自訂 SQL:自訂需要攔截的 SQL 內容,樣本如下。

      攔截使用 ORDER BY 或者 GROUP BY 的 SQL:ORDER\s+BY|GROUP\s+BY

    啟用規則

    勾選後,規則儲存成功後立即生效。不勾選則保留規則配置,可後續進行編輯啟用。

  3. 單擊 確定

啟用 SQL 防火牆規則

  1. 在 SQL 防火牆介面,單擊目標規則 操作 列的 編輯

  2. 在編輯規則頁面的啟用規則下,勾選 啟用防火牆規則

編輯 SQL 防火牆規則

  1. 在 SQL 防火牆介面,單擊目標規則 操作 列的 編輯

    image

  2. 在編輯規則頁面修改規則配置。

    參數

    描述

    規則名稱

    為 SQL 防火牆規則設定的名稱,長度為 2~32,只能包含中文、數字、英文字母、底線、虛線。

    規則描述

    為規則進行一個簡單的說明,以便後續查看使用。

    租戶

    在下拉框中選擇規則生效的租戶。

    資料庫代理

    選擇資料庫代理資訊。

    資料庫帳號

    選擇規則生效的帳號,為空白表示所有資料庫帳號均生效。

    規則類型

    攔截規則。

    模式

    • 檢驗模式:SQL 類型記錄,不真正攔截。

    • 防護模式:攔截 SQL 並記錄。

    防火牆規則

    • 攔截特定類型的 SQL:攔截指定類型的 SQL ,可選擇 SELECT、UPDATE、INSERT、DELETE、CREATE、DROP、ALTER、TRUNCATE、RENAME、REPLACE。

    • 攔截無 where 條件的 SQL:攔截指定類型中,未帶 where 條件的 SQL,可選擇 SELECT、UPDATE、DELETE。

    • 攔截自訂 SQL:自訂需要攔截的 SQL 內容,樣本如下。

      攔截使用 ORDER BY 或者 GROUP BY 的 SQL:ORDER\s+BY|GROUP\s+BY

    啟用規則

    勾選後,規則儲存成功後立即生效。不勾選則保留規則配置,可後續進行編輯啟用。

  3. 單擊 確定

刪除 SQL 防火牆規則

  1. 在 SQL 防火牆介面,單擊目標規則 操作 列的 刪除

    image

  2. 在彈窗中確認刪除資訊。

    image

  3. 單擊 刪除