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

Oracle 隱性安全隱患:預設 DBSNMP 帳號與 UNLIMITED TABLESPACE 權限

     編輯:Oracle 資料庫基礎

背景

資料庫典型安裝後,DBA 習慣修改 SYS、SYSTEM、INTERNAL 密碼,卻常忽略自動建立的 DBSNMP 使用者 (負責 Intelligent Agent),預設密碼同帳號名 DBSNMP。

權限分析

SQL> CONNECT DBSNMP/DBSNMP
SQL> SELECT * FROM SESSION_PRIVS;
CREATE SESSION
ALTER SESSION
UNLIMITED TABLESPACE          -- 高風險
CREATE TABLE
CREATE CLUSTER
CREATE SYNONYM
CREATE PUBLIC SYNONYM         -- 高風險
CREATE VIEW
CREATE SEQUENCE
CREATE DATABASE LINK
CREATE PROCEDURE
CREATE TRIGGER
ANALYZE ANY
CREATE TYPE
CREATE OPERATOR
CREATE INDEXTYPE

風險場景

  • UNLIMITED TABLESPACE:惡意腳本可無限制寫入資料,撐爆表空間導致資料庫癱瘓 (7x24 環境損失慘重)
  • CREATE PUBLIC SYNONYM:可建立公用同義詞,干擾名稱解析、竊取權限
  • 非 DBA 帳號卻擁有建表、建程序、建 Trigger 等完整開發權限

建議對策

  1. **安裝後立即修改 DBSNMP 密碼**為高強度亂碼
  2. 若不使用 Intelligent Agent,考慮 DROP USER DBSNMP CASCADE 或鎖定帳號 ALTER USER DBSNMP ACCOUNT LOCK
  3. 定期稽核 DBA_USERS、DBA_ROLE_PRIVS、DBA_SYS_PRIVS 發現異常帳號
  4. 最小權限原則:移除不必要的系統權限

結語

「方便之門」往往是駭客入口,**修改 DBSNMP 預設密碼是上線前必做動作**。

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