Oracle 典型安裝後自動創建用戶 DBSNMP (密碼同名),用於運行 Intelligent Agent (IA)。眾多 DBA 修改 SYS/SYSTEM 密碼卻忽略此用戶。
SQL> CONNECT dbsnmp/dbsnmp
SQL> SELECT * FROM session_privs;
-- 關鍵系統權限:
CREATE SESSION
ALTER SESSION
UNLIMITED TABLESPACE -- 可無限制佔用表空間
CREATE PUBLIC SYNONYM -- 可創建公共同義詞
CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE TRIGGER, ...
ANALYZE ANY
CREATE TYPE, CREATE OPERATOR, CREATE INDEXTYPE
UNLIMITED TABLESPACE 寫入垃圾數據填滿表空間,導致數據庫掛起/崩潰,7×24 業務中斷。CREATE PUBLIC SYNONYM 可劫持公共對象解析路徑,誤導應用查詢惡意視圖/表。ANALYZE ANY 干擾優化器統計信息。-- 1. 立即修改密碼 (複雜度滿足 Profile 要求)
ALTER USER dbsnmp IDENTIFIED BY "Str0ngP@ssw0rd!" ACCOUNT UNLOCK;
-- 2. 若不使用 Enterprise Manager / Grid Control / Cloud Control
-- 可鎖定該用戶 (IA 將無法啟動,評估業務影響)
ALTER USER dbsnmp ACCOUNT LOCK;
-- 3. 審計:啟用統一審計或標準審計記錄 DBSNMP 登錄嘗試
AUDIT SESSION BY dbsnmp BY ACCESS;
PASSWORD_VERIFY_FUNCTION 強制密碼複雜度。DBA_USERS_WITH_DEFPWD 視圖 (11g+) 發現默認密碼賬戶。UNLIMITED TABLESPACE、CREATE PUBLIC SYNONYM 等高危權限 (需測試 IA 功能)。ORACLE_MAINTAINED = 'Y' 標記內部維護賬戶,不可直接登錄 (需 ALTER SESSION SET "_ORACLE_SCRIPT"=TRUE 解鎖)。