資料庫安全是 DBA 的核心痛點,涵蓋「資料不丟失」與「阻擋非法入侵」兩大維度。本文聚焦於作業系統層面的防護策略,以 Unix/Linux 環境下的 Oracle 為例,闡述群組權限控制、實用程式權限管理、OS 角色映射等硬核配置。
710 權限(擁有者可讀寫執行,組可執行,其他無權限),安裝過程中 SQL*DBA 系統權限自動授予該組。SQL*Plus、SQL*Forms)設為 710,同組用戶可執行,他人無權限。711:不影響安全的程式可設為 711(擁有者全權限,組與他人僅可執行)。Oracle 安裝後 SYS 與 SYSTEM 預設密碼均為 manager,極度危險。必須在 SQL*DBA 中立即修改:
ALTER USER sys IDENTIFIED BY new_password;
ALTER USER system IDENTIFIED BY new_password;
$ORACLE_HOME/bin 所有程式擁有權歸 Oracle 軟體擁有者sqlplus、exp、imp 等)設為 711SQL*DBA 等)設為 700(僅擁有者可讀寫執行)格式:ora_sid_role[_d][_a]
sid:Oracle SIDrole:資料庫角色名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 權限與資料庫權限雙重把關,方能構建纵深防禦體系。