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

Oracle 資料庫安全防護全攻略:從作業系統到應用層的纵深防禦

     編輯:Oracle 資料庫基礎

一、作業系統層面的群組與權限管控

1. 建立專屬 DBA 群組

安裝 Oracle 前,先在 OS 建立 dba 群組,僅授予 root 與 Oracle 軟體擁有者(如 oracle 用戶) membership。相關執行檔權限設為 710(擁有者可讀寫執行、群組可執行、其他無權限),防止非授權用戶啟動資料庫工具。

2. 區分一般用戶與 DBA 工具權限

  • 一般工具(SQL*Plus、SQL*Forms、exp/imp):權限 711,允許所有合法用戶執行。
  • DBA 專用工具(SQL*DBA、startup/shutdown):權限 700,僅限軟體擁有者與 dba 群組。

3. 修改預設系統帳號密碼

ALTER USER sys IDENTIFIED BY <強密碼>;
ALTER USER system IDENTIFIED BY <強密碼>;

預設 manager 密碼極高風險,上線前必須變更。

二、Oracle 伺服器實用程式與網路安全

1. 目錄與檔案權限鎖定

  • $ORACLE_HOME/bin 所有程式擁有者為 oracle 軟體擁有者。
  • 資料檔(.dbf)權限 0600,目錄同樣收回 group/other 讀取權限。

2. 網路傳輸加密

遠端連線若以明文傳送密碼極易被竊聽,務必啟用:

  • 客戶端 sqlnet.ora:SQLNET.ENCRYPTION_CLIENT = REQUIRED
  • 伺服端 sqlnet.ora:SQLNET.ENCRYPTION_SERVER = REQUIRED
  • 或使用 Oracle Advanced Security / TLS 加密通道。

3. 遠端 DBA 存取控制

  • 參數 REMOTE_LOGIN_PASSWORDFILE = NONE 禁止遠端以密碼檔以 SYSDBA 登入。
  • 或使用 orapwd 建立強密碼檔,限制持有者。

三、資料庫內部安全架構:使用者、角色與權限模型

1. 使用者認證三選一

方式優點適用場景
資料庫認證獨立管理、支援密碼複雜度驗證函數中小型系統、需集中密碼策略
作業系統認證(OPS$)單一登入、集中帳號管理內部受信任環境、Unix/Linux 伺服器
網路/目錄服務企業級 SSO、與 AD/LDAP 整合大型企業、混合雲環境

2. 角色為基礎的存取控制(RBAC)

  • 建立應用角色(APP_READ_ONLY、APP_DEVELOPER、APP_ADMIN)彙總權限。
  • 避免直接 GRANT 物件權限給個別用戶,維護成本呈指數級上升。
  • 啟用 OS_ROLES = TRUE 可將角色對應至 OS 群組,簡化權限同步。

3. 關鍵權限最小化原則

  • CREATE ANY TABLE、DROP ANY TABLE 僅授予 DBA 或自動化部署帳號。
  • 開發人員僅獲 CREATE TABLE、CREATE PROCEDURE 等受限系統權限,生產環境嚴禁開發帳號。
  • 應用帳號僅擁有執行預存程序(EXECUTE)權限,不直接擁有表 DML 權限。

四、稽核與監控:讓違規無所遁形

  1. 啟用標準稽核:AUDIT_TRAIL = DB, EXTENDED 記錄 SQL 文本與綁定變數。
  2. 統一稽核(12c+):AUDIT POLICY 針對敏感表、特權操作、失敗登入建立細粒度策略。
  3. 定期審閱 DBA_AUDIT_TRAIL / UNIFIED_AUDIT_TRAIL,設定異常警報(如連續登入失敗、非工作時間 DDL)。

五、補充:已知弱點與修補策略

文章列舉的歷史漏洞(如 9iAS Web Cache DoS、oidldapd 缺陷)提醒我們:

  • 持續追蹤 Oracle Critical Patch Update (CPU),每季套用安全補丁。
  • 停用不需的服務(如 XDB HTTP、Oracle XML DB 非必要端口)。
  • 採用資料庫防火牆 或 IPS 攔截異常 SQL 注入嘗試。

六、總結:安全是持續的過程,而非一次性設定

從 OS 群組、檔案權限、網路加密、認證授權、稽核監控到補丁管理,每一層都不可缺失。建立「最小權限、預設拒絕、全程留痕、定期演練」的安全文化,才能在面對日益複雜的威脅時守住資料資產。

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