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

Oracle 資料庫安全基礎:架構組件、備份策略、使用者管理與弱點防範

     編輯:Oracle 資料庫基礎

Oracle 資料庫架構安全視角

組件安全關注點
Instance (SGA + 背景進程)記憶體保護、進程權限最小化、監聽器加密 (TCPS)
SYSTEM 表空間 (Data Dictionary)核心中繼資料完整性、嚴格權限控制
使用者表空間配額限制、加密 (TDE)、審計
Redo Log (Online + Archived)備份鏈完整性、歸檔安全儲存、防竄改
Control File多工 (Multiplex)、備份自動化
參數檔 / 密碼檔檔案權限 600、密碼複雜度、定期輪換

Redo Log 機制與備份模式

  • Online Redo Log:循環寫入,LGWR 同步刷盤,記錄所有變更
  • Archived Redo Log:Online 填滿後歸檔 (ARCH 進程),支援時間點恢復 (PITR)
  • NOARCHIVELOG:無歸檔,僅支援冷備份恢復至最後備份點
  • ARCHIVELOG:完整歸檔,支援熱備份、PITR、Data Guard、Flashback

生產環境強制啟用 ARCHIVELOG,並配置多路徑歸檔目的地 (LOG_ARCHIVE_DEST_n)。

儲存結構安全

  • Tablespace:邏輯容器,分離 SYSTEM/SYSAUX/UNDO/TEMP/USER_DATA/INDEX/LOB
  • Datafile:物理檔案,OS 層面權限控制、檔案系統加密
  • Block:最小 I/O 單位 (預設 8K),DB_BLOCK_CHECKSUM/DB_BLOCK_CHECKING 防邏輯損壞
  • Extent / Segment:空間分配單位,監控 Extents 數量防效能劣化

備份與恢復三大支柱

方式類型優點缺點適用
Export/Import (exp/imp)邏輯備份跨版本/平台、物件級恢復大資料量慢、無 PITR遷移、開發環境、小表
Cold Backup物理備份 (關機)最簡單、最快、一致性最強需停機、單點恢復可容許停機窗口、小型庫
Hot Backup (RMAN)物理備份 (開機)零停機、增量/壓縮/加密、PITR、Block Recovery複雜度高、需 ARCHIVELOG核心生產庫、7x24 系統

增量備份策略 (Export)

-- 完全增量 (Level 0)
exp system/pwd inctype=complete file=full_20240101.dmp

-- 累積增量 (Level 1 Cumulative)
exp system/pwd inctype=cumulative file=cum_20240102.dmp

-- 差異增量 (Level 1 Differential)
exp system/pwd inctype=incremental file=inc_20240103.dmp

-- 恢復順序:Full → 最近 Cumulative → 最近 Incremental

熱備份步驟 (傳統 ALTER TABLESPACE BEGIN BACKUP)

  1. ALTER TABLESPACE tbs BEGIN BACKUP;
  2. OS 複製資料檔
  3. ALTER TABLESPACE tbs END BACKUP;
  4. 備份 Controlfile:ALTER DATABASE BACKUP CONTROLFILE TO '/path/control.bak';
  5. 備份 Archived Redo Logs

10g+ 強烈建議使用 RMAN 取代手動熱備份,支援區塊級增量、壓縮、加密、目錄管理。

使用者管理與預設帳號風險

DBSNMP 預設帳號風險

  • 典型安裝自動建立,密碼預設同用戶名 DBSNMP
  • 擁有 UNLIMITED TABLESPACE、CREATE PUBLIC SYNONYM 等系統權限
  • 攻擊向量:惡意腳本填滿表空間 → 拒絕服務

修復措施

-- 1. 修改密碼
ALTER USER dbsnmp IDENTIFIED BY StrongPassword#2024;

-- 2. 最小權限原則 (僅保留必要)
REVOKE UNLIMITED TABLESPACE FROM dbsnmp;
REVOKE CREATE PUBLIC SYNONYM FROM dbsnmp;
-- 僅授予 OEM/監控所需最小權限

-- 3. 若不使用 OEM/Grid Control
ALTER USER dbsnmp ACCOUNT LOCK;

通用安全基準清單

  1. 密碼策略:Profile 設定 PASSWORD_LIFE_TIME, PASSWORD_REUSE_TIME, PASSWORD_VERIFY_FUNCTION
  2. 最小權限:角色而非直接授權、定期審核 DBA_SYS_PRIVS/DBA_TAB_PRIVS
  3. 審計:AUDIT_TRAIL=DB,EXTENDED,審計關鍵 DDL/DML、登入失敗、權限變更
  4. 網路加密:SQLNET.ENCRYPTION_SERVER=REQUIRED、SQLNET.ENCRYPTION_TYPES_SERVER=(AES256)
  5. 補丁管理:關注 Oracle Critical Patch Update (CPU),定期評估套用
  6. 資料加密:敏感欄位 TDE (Tablespace Encryption) 或 DBMS_CRYPTO 應用層加密
  7. 備份加密與異地:RMAN BACKUP ... ENCRYPTION、多副本異地儲存

「安全不是產品,而是過程。Oracle 提供完整工具箱,關鍵在於 DBA 持續營運的紀律與流程。」

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