首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 資料安全全景解析:從內部防護到外部威脅應對

     編輯:Oracle 資料庫相關知識

前言:安全形勢嚴峻

Oracle 9i 推出時宣稱「絕對安全」,旋即被發現 9iAS 緩衝區溢位、PenTest/eEye 曝光多個漏洞。資料庫安全非一次性設定,需建立持續防護體系。

一、Oracle 基礎架構認知

核心組件

  • 執行個體:背景進程 + SGA
  • SYSTEM 表空間:資料字典核心
  • 使用者表空間:業務資料載體
  • 線上重做日誌:至少 2 組,循環寫入
  • 歸檔日誌:選配,恢復關鍵
  • 控制檔、參數檔、網路設定檔

日誌機制

  • 線上重做日誌:LGWR 即時寫入,支援實例恢復
  • 歸檔重做日誌:ARCH 複製備份,支援介質恢復、時間點恢復
  • 兩種模式:NOARCHIVELOG(無歸檔)vs ARCHIVELOG(有歸檔)

儲存結構

表空間 → 資料檔 → 區塊 (512-8192 bytes) → 區段 → 範圍 (≥5 連續區塊)。

二、內部防護:系統層面備份恢復

三大標準備份

Export/Import 詳解

  • 三種模式:表 (T)、使用者 (U)、全庫 (Full)
  • 三種增量類型:完全、累計、增量
  • 排程範例:週一完全、週二至四增量、週五累計、週六日增量
  • 恢復順序:建庫 → 建立大回滾段 → 完全導入 → 累計導入 → 最新增量導入
  • 一致性參數:CONSISTENT=Y 確保讀一致性匯出

冷備份操作

SHUTDOWN NORMAL;
CP 所有資料檔、控制檔、重做日誌、init.ora 至備份目錄
STARTUP;

優點:快速、簡單、易歸檔;缺點:需停機、僅能時間點恢復、不可物件級恢復。

熱備份操作三階段

  1. 表空間級:BEGIN BACKUP → 複製資料檔 → END BACKUP
  2. 歸檔日誌:暫停 ARCH → 複製歸檔檔 → 重啟 ARCH → 備份歸檔檔
  3. 控制檔:ALTER DATABASE BACKUP CONTROLFILE TO '...'

風險:操作錯誤導致資料檔模糊狀態、歸檔目的地爆滿、END BACKUP 遺漏導致下次啟動強制恢復。

三、內部隱患:使用者與密碼管理

DBSNMP 預設帳號風險

典型安裝自動建立 DBSNMP/DBSNMP,擁有 UNLIMITED TABLESPACE、CREATE PUBLIC SYNONYM 系統權限。惡意腳本可填滿表空間導致癱瘓。

普遍管理缺失

  1. 權限過大:開發帳號擁有 DBA 權限
  2. 存儲混雜:所有用戶預設表空間為 SYSTEM,資料相互可見、影響核心表空間
  3. 密碼弱化:帳號即密碼、SYS/SYSTEM 密碼眾所周知

規範建議

DBA 規範

  • Solaris/OS 密碼嚴格保密、定期輪換
  • SYS/SYSTEM 密碼修改為高強度字串
  • OEM/Web 管理端口 ADMIN 密碼同步強化
  • 偏好 SVRMGRM 圖形介面管理

開發帳號規範

  • 依應用建立獨立表空間、物理檔案分離規劃
  • 表空間命名對應業務域:DEMO、HUMAN、BOOK、QUESTION、PC
  • 物理檔案路徑規劃:/業務域/子系統/服務.dbf
  • 磁碟使用率 >90% 時遷移至閒置分區
  • 初始大小 2MB,自動擴充 2MB,大型系統可達百 MB-GB
  • 索引與資料分離不同表空間,減少爭用
  • 臨時表空間視負載決定是否獨立

四、外部威脅應對(續篇重點)

網路層防火牆、監聽器加密/認證、審計追蹤、Database Vault、資料遮罩、入侵偵測、滲透測試常態化。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
類型方式特點
邏輯Export/Import物件級、跨版本/平台、效能較差
物理冷備份關機備份、最快最安全、需停機
物理熱備份開機備份、需 ARCHIVELOG、秒級恢復