首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

從實戰視角看 Oracle 常見誤配置與安全加固全攻略

     編輯:Oracle 資料庫基礎

前言:被忽視的資料庫安全防線

企業往往將安全投資集中在作業系統與網絡層,卻忽略了作為核心資產倉庫的資料庫本身。本文通過模擬攻擊者視角,演示如何利用 Oracle 默認安裝的弱點實施滲透,並給出系統性的防禦體系建議。

攻擊鏈實戰復盤

第一階段:目標發現與指纹識別

攻擊者通過全網掃描 1521 端口鎖定 Oracle 實例。由於安裝向導提供默認 SID(如 ORCL、ORA、ORACLE 等),超過 80% 的生產環境未修改默認值,使得 SID 爆破極易成功。

第二階段:默認賬號橫向嘗試

Oracle 安裝會自動創建具備特定權限的默認賬號:

  • SYS/SYSTEM:早期版本默認口令為 manager,9i 雖要求自定義,但大量用戶沿用舊口令
  • SCOTT/TIGER:教學測試賬號,默認擁有 UNLIMITED TABLESPACE 系統權限
  • DBSNMP:智能代理賬號,幾乎所有典型安裝均會創建,同樣擁有無限表空間配額,且默認口令同用戶名

第三階段:資源耗盡攻擊(DoS)

利用 SCOTT 或 DBSNMP 的 CREATE TABLE 與 UNLIMITED TABLESPACE 權限,攻擊者可編寫 PL/SQL 迴圈向測試表批量寫入垃圾數據:

DECLARE
  v_number VARCHAR2(30);
  m_number VARCHAR2(30) := '999999999999999999999999999999';
BEGIN
  FOR v_number IN 1..m_number LOOP
    INSERT INTO TEST(A) VALUES(m_number);
    COMMIT;
  END LOOP;
END;
/

此操作可迅速填滿 USERS 或 SYSTEM 表空間,導致資料庫掛起、新連接無法建立、業務中斷。若攻擊目標為 DBSNMP(建於 SYSTEM 表空間),後果更災難性——可能導致數據字典損壞,需重建資料庫才能恢復。

系統性防禦體系建設

1. 網絡層隔離與訪問控制

  • 部署資料庫專用防火牆,實施「默認拒絕」策略
  • 配置 NAT 與 IP 白名單,僅允許應用服務器訪問 1521/2484 端口
  • 禁用 ICMP 回應,隱藏資料庫服務器存在性

2. 架構層遷移至多層應用模式

傳統 C/S 架構常將數據庫憑證硬編碼於客戶端二進制文件中,反編譯即可提取。遷移至三層架構(瀏覽器/輕客戶端 → 應用服務器 → 資料庫)可將憑證集中管理於中間層,斷開終端與數據庫的直連通道。

3. 最小化安裝與組件裁剪

  • 僅安裝業務必需組件,移除 JServer、Oracle Agent、Enterprise Manager 等高風險模組
  • 9iAS 存在已知緩衝區溢位漏洞,若非必要嚴禁安裝

4. 賬號體系深度加固

  1. 立即修改 SYS、SYSTEM、SCOTT、DBSNMP 等所有默認賬號口令,長度 ≥12 位,包含大小寫、數字、特殊符號
  2. 鎖定/過期無業務需求的默認賬號:ALTER USER scott ACCOUNT LOCK PASSWORD EXPIRE;
  3. 實施密碼驗證函數(UTLPWDMG.SQL),強制複雜度、歷史記錄、鎖定策略
  4. 定期審計 DBA_USERS 視圖,排查異常賬號創建與權限授予

5. 存儲架構與配額管理

  • 嚴禁業務對象建於 SYSTEM 表空間,按應用域劃分獨立表空間(如 APP_DATA、APP_INDEX、UNDO_TBS、TEMP_TBS)
  • 為每個應用賬號分配具體表空間配額(QUOTA 10G ON APP_DATA),杜絕 UNLIMITED TABLESPACE 系統權限
  • Unix/Linux 下利用獨立掛載點隔離不同表空間物理文件;Windows 下使用獨立磁碟分區

6. 備份恢復與應急預案

建立分級備份策略:每日增量 + 每周全量 + 歸檔日志實時傳輸至異地存儲。定期演練時間點恢復(PITR)與表空間級恢復,確保 RTO/RPO 指標達標。

結語

資料庫安全非一次性配置,而是持續的「配置-審計-修復」閉環管理。DBA 應將上述措施納入例行巡檢清單,配合漏洞掃描工具(如 Oracle Database Security Assessment Tool)定期評估,方能構建纵深防禦體系。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved