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

Oracle 9i 安全體系架構:五層防禦與兩大核心機制

     編輯:Oracle 資料庫基礎

五層立體防禦模型

Oracle 9i 採用**縱深防禦**策略,從物理到邏輯構建五層安全體系:

  1. 物理層:服務器機房門禁、UPS、防火、防盜、硬件冗余(RAID、雙電源)。
  2. 用戶/身份層:誰能連接、用什麼認證(密碼、外部 OS 認證、PKI、Kerberos、Radius)、密碼策略(Profile 管理複雜度、過期、鎖定)。
  3. 作業系統層:OS 补丁、最小權限原則運行 Oracle 進程、禁用不必要服務、審計關鍵文件變更。
  4. 網絡層:Oracle Net 加密 (AES/3DES)、數據完整性校驗 (SHA-1/MD5)、SSL/TLS、防火牆限制 1521 端口、IP 白名單、Connection Manager 代理與訪問控制。
  5. 數據庫系統層:核心權限模型(系統權限、對象權限、角色)、虛擬私有數據庫 (VPD/細粒度訪問控制)、審計 (Standard/細粒度 FGA)、加密 (TDE 表空間/列加密)、標籤安全 (OLS/行級標籤)。

兩大核心安全機制

1. 系統安全性機制 (System Security)

控制**實例級**操作權限:

  • 系統權限:`CREATE SESSION`、`CREATE TABLE`、`ALTER SYSTEM`、`SYSDBA`/`SYSOPER` 等 200+ 權限。
  • 角色管理:預定義角色 (`DBA`、`RESOURCE`、`CONNECT`)、自定義業務角色、密碼保護角色、安全應用角色(通過 PL/SQL 包驗證上下文才啟用)。
  • 用戶認證:數據庫內部、外部 (OPS$)、全局 (Enterprise User Security/EUS)。
  • 配置文件:密碼生命周期、失敗鎖定、資源限制 (CPU、連接時間、邏輯讀)。

2. 數據安全性機制 (Data Security)

控制**對象級**訪問權限:

  • 對象權限:`SELECT/INSERT/UPDATE/DELETE/EXECUTE/REFERENCES/INDEX/ALTER/FLASHBACK` 等。
  • 視圖/同義詞封裝:隱藏基表結構、列子集、行過濾(`WHERE` 子句)。
  • VPD (Virtual Private Database):動態在查詢後附加謂詞,實現多租戶行級隔離,無需修改應用 SQL。
  • FGA (Fine-Grained Auditing):基於內容的審計(如 `salary > 10000` 才記錄),支持事件處理程序發送告警。
  • TDE (Transparent Data Encryption):表空間/列級加密,數據文件/備份/紅靈日志自動加密,應用無感知。
  • OLS (Oracle Label Security):軍事級標籤(機密級、秘密級),基於支配關係的行級訪問控制。

關鍵配置清單(生產環境基線)

項目建議設置
密碼驗證函數啟用 `UTLPWDMG.SQL` 或自定義複雜度函數
遠程登錄密碼文件`REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE`
網絡加密`SQLNET.ENCRYPTION_SERVER=REQUIRED`, `SQLNET.ENCRYPTION_TYPES_SERVER=(AES256)`
網絡校驗和`SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED`, `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA1)`
審計`AUDIT_TRAIL=DB,EXTENDED`(含 SQL 文本/綁定變量)
TDE 錢包啟用自動登錄錢包,備份錢包文件異地存儲
公共權限清理撤銷 `PUBLIC` 不必要的對象權限、`EXECUTE` 於危險包

總結

Oracle 9i 通過**五層防禦**與**系統/數據雙機制**,提供從邊界到數據內核的全方位保護。實施時應遵循「最小權限、默認拒絕、審計一切、加密敏感」原則,並定期進行滲透測試與合規掃描。

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