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

資料庫安全性策略(一):作業系統層面的 Oracle 防護體系

     編輯:MySQL 資料庫相關知識

資料庫安全是 DBA 的核心痛點,涵蓋「資料不丟失」與「阻擋非法入侵」兩大維度。本文聚焦於作業系統層面的防護策略,以 Unix/Linux 環境下的 Oracle 為例,闡述群組權限控制、實用程式權限管理、OS 角色映射等硬核配置。

一、群組安全性:建立最小權限執行環境

  1. 安裝前建立 DBA 群組:將 root 與 Oracle 軟體擁有者納入 DBA 組,僅賦予 DBA 專屬程式 710 權限(擁有者可讀寫執行,組可執行,其他無權限),安裝過程中 SQL*DBA 系統權限自動授予該組。
  2. 建立受限 Oracle 用戶組:授權部分 Unix 用戶存取 Oracle 伺服器,將公開工具(如 SQL*Plus、SQL*Forms)設為 710,同組用戶可執行,他人無權限。
  3. 非敏感程式放寬至 711:不影響安全的程式可設為 711(擁有者全權限,組與他人僅可執行)。

二、修改預設超級用戶密碼(強制要求)

Oracle 安裝後 SYS 與 SYSTEM 預設密碼均為 manager,極度危險。必須在 SQL*DBA 中立即修改:

ALTER USER sys IDENTIFIED BY new_password;
ALTER USER system IDENTIFIED BY new_password;

三、Oracle 伺服器實用程式權限鎖定

  • $ORACLE_HOME/bin 所有程式擁有權歸 Oracle 軟體擁有者
  • 通用工具(sqlplus、exp、imp 等)設為 711
  • DBA 專用工具(SQL*DBA 等)設為 700(僅擁有者可讀寫執行)

四、Oracle 角色映射至 Unix 群組(本地存取專用)

格式:ora_sid_role[_d][_a]

  • sid:Oracle SID
  • role:資料庫角色名
  • d(可選):預設角色
  • a(可選):WITH ADMIN OPTION,僅能授予角色,不可授予用戶

/etc/group 範例:

ora_test_osoper_d:NONE:1:jim,narry,scott
ora_test_osdba_a:NONE:3:pat
ora_test_role1:NONE:4:bob,jane,tom,mary,jim
bin:NONE:5:root,oracle,dba
root:NONE:7:root

此機制僅適用於本地 OS 認證登入,遠程連線仍需資料庫層面的帳號密碼驗證。結合 OS 權限與資料庫權限雙重把關,方能構建纵深防禦體系。

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