企業往往將安全投資集中在作業系統與網絡層,卻忽略了作為核心資產倉庫的資料庫本身。本文通過模擬攻擊者視角,演示如何利用 Oracle 默認安裝的弱點實施滲透,並給出系統性的防禦體系建議。
攻擊者通過全網掃描 1521 端口鎖定 Oracle 實例。由於安裝向導提供默認 SID(如 ORCL、ORA、ORACLE 等),超過 80% 的生產環境未修改默認值,使得 SID 爆破極易成功。
Oracle 安裝會自動創建具備特定權限的默認賬號:
manager,9i 雖要求自定義,但大量用戶沿用舊口令UNLIMITED TABLESPACE 系統權限利用 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 表空間),後果更災難性——可能導致數據字典損壞,需重建資料庫才能恢復。
傳統 C/S 架構常將數據庫憑證硬編碼於客戶端二進制文件中,反編譯即可提取。遷移至三層架構(瀏覽器/輕客戶端 → 應用服務器 → 資料庫)可將憑證集中管理於中間層,斷開終端與數據庫的直連通道。
ALTER USER scott ACCOUNT LOCK PASSWORD EXPIRE;UTLPWDMG.SQL),強制複雜度、歷史記錄、鎖定策略DBA_USERS 視圖,排查異常賬號創建與權限授予APP_DATA、APP_INDEX、UNDO_TBS、TEMP_TBS)QUOTA 10G ON APP_DATA),杜絕 UNLIMITED TABLESPACE 系統權限建立分級備份策略:每日增量 + 每周全量 + 歸檔日志實時傳輸至異地存儲。定期演練時間點恢復(PITR)與表空間級恢復,確保 RTO/RPO 指標達標。
資料庫安全非一次性配置,而是持續的「配置-審計-修復」閉環管理。DBA 應將上述措施納入例行巡檢清單,配合漏洞掃描工具(如 Oracle Database Security Assessment Tool)定期評估,方能構建纵深防禦體系。