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

資料庫安全性策略(一):防範非法入侵與資料保護實務

     編輯:關於SqlServer

資料庫安全性的兩大核心議題

資料庫安全性問題向來是 DBA 的心頭大患,主要包含兩個層面:

  1. 資料安全:確保系統停機、儲存媒體損壞、使用者誤操作等情況下,資料不遺失。
  2. 防止非法入侵:堵塞潛在漏洞,阻擋未授權使用者滲透系統。

資料備份與恢復、雙機熱備份屬於資料安全範疇;本文著重探討防禦非法入侵的策略。

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

在 Unix/Linux 環境下,透過 /etc/group 設定使用者群組,是強化 Oracle 資料庫安全的有效手段。Oracle 程式通常分為「所有使用者可執行」與「僅 DBA 可執行」兩類。建議採取下列措施:

  • 安裝 Oracle Server 前,建立 DBA 群組,指派 root 與 Oracle 軟體擁有者帳號,僅授予 710 權限(擁有者可讀寫執行,群組可執行,其他無權限)。
  • 建立 Oracle 使用者群組,授權特定 Unix 使用者受限存取 Oracle 服務;公用工具(如 SQL*Plus、SQL*Forms)權限設為 710,限制群組外使用者執行。
  • 非關鍵程式權限可設為 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, sqiforms, exp, imp 等)授予 711 權限,讓所有使用者可存取。
  • DBA 專用工具(如 SQL*DBA)嚴格設為 700 權限(僅擁有者可讀寫執行)。

Unix 群組對應 Oracle 伺服器角色

本地存取時,可將 Oracle 角色映射至 Unix 群組,格式為 ora_sid_role[_d][_a]:

  • sid:Oracle SID
  • role:角色名稱(如 osoper, osdba)
  • 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

此機制讓作業系統層面的群組管理直接管控資料庫權限,簡化授權維護。

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