Oracle安裝預置十餘個默認賬號,密碼公開文檔化。未修改即上線等同於「門不上鎖」。本文提供標準化清單,供安裝驗收、安全掃描、合規審計使用。
| 用戶名 | 默認密碼 | 登錄角色 | 功能定位 | 風險等級 | 建議動作 |
|---|---|---|---|---|---|
| SYS | CHANGE_ON_INSTALL | SYSDBA/SYSOPER | 數據字典擁有者,核心對象 | 🔴 致命 | 安裝時強制修改,啟用強密碼 |
| SYSTEM | MANAGER | SYSDBA/NORMAL | 日常管理操作 | 🔴 致命 | 修改密碼,限制網絡訪問 |
| SYSMAN | OEM_TEMP / CHANGE_ON_INSTALL | NORMAL | EM Repository/OMS用戶 | 🟠 高 | 修改密碼,僅EM服務器訪問 |
| DBSNMP | DBSNMP | NORMAL/SYSDBA | EM監控代理 | 🟠 高 | 修改密碼,僅監控服務器訪問 |
| SCOTT | TIGER | NORMAL | 教學示例模式 | 🟡 中 | 非開發環境鎖定/刪除 |
| HR/OE/PM/IX/SH/BI | 同用戶名 | NORMAL | 示例業務模式 | 🟡 中 | 生產環境刪除 |
| CTXSYS | CTXSYS | NORMAL | Oracle Text | 🟡 中 | 不用則鎖定 |
| MDSYS | MDSYS | NORMAL | Spatial/ Locator | 🟡 中 | 不用則鎖定 |
| ORDSYS/ORDPLUGINS | ORDSYS/ORDPLUGINS | NORMAL | interMedia 多媒體 | 🟡 中 | 不用則鎖定 |
| OUTLN | OUTLN | NORMAL | 計劃穩定性 | 🟢 低 | 保留,修改密碼 |
| LBACSYS | LBACSYS | NORMAL | Label Security | 🟢 低 | 不用則鎖定 |
| MDDATA | MDDATA | NORMAL | Spatial測試數據 | 🟢 低 | 刪除 |
| OLAPSYS | MANAGER | NORMAL | OLAP Catalog | 🟢 低 | 不用則鎖定 |
| SI_INFORMTN_SCHEMA | SI_INFORMTN_SCHEMA | NORMAL | SQL/MM Still Image | 🟢 低 | 刪除 |
| XDB | 隨機生成(11g+) | NORMAL | XML DB Repository | 🟢 低 | 保留,不可刪除 |
| ANONYMOUS | 無 | NORMAL | XML DB匿名訪問 | 🟠 高 | 禁用:ALTER USER ANONYMOUS ACCOUNT LOCK |
SET LINES 200 PAGES 1000
COL username FOR A30
COL account_status FOR A20
COL profile FOR A20
SELECT username, account_status, profile,
CASE WHEN username IN ('SYS','SYSTEM','SYSMAN','DBSNMP') THEN 'CRITICAL'
WHEN username IN ('SCOTT','HR','OE','CTXSYS','MDSYS') THEN 'HIGH'
ELSE 'MEDIUM' END risk_level
FROM dba_users
WHERE username IN (
'SYS','SYSTEM','SYSMAN','DBSNMP','SCOTT','HR','OE','PM','IX','SH','BI',
'CTXSYS','MDSYS','ORDSYS','ORDPLUGINS','OUTLN','LBACSYS','MDDATA',
'OLAPSYS','SI_INFORMTN_SCHEMA','XDB','ANONYMOUS')
ORDER BY risk_level DESC, username;
-- 1. 鎖定並過期所有非核心默認用戶
BEGIN
FOR u IN (SELECT username FROM dba_users
WHERE username IN ('SCOTT','HR','OE','PM','IX','SH','BI',
'CTXSYS','MDSYS','ORDSYS','ORDPLUGINS',
'LBACSYS','MDDATA','OLAPSYS','SI_INFORMTN_SCHEMA',
'ANONYMOUS')
AND account_status = 'OPEN')
LOOP
EXECUTE IMMEDIATE 'ALTER USER ' || u.username || ' PASSWORD EXPIRE ACCOUNT LOCK';
END LOOP;
END;
/
-- 2. 核心管理員修改為強密碼(需人工執行,勿寫死腳本)
-- ALTER USER SYS IDENTIFIED BY "C0mpl3xP@ssw0rd!";
-- ALTER USER SYSTEM IDENTIFIED BY "An0therStr0ngP@ss!";
-- ALTER USER SYSMAN IDENTIFIED BY "EmRep0P@ss!";
-- ALTER USER DBSNMP IDENTIFIED BY "Ag3ntP@ss!";
-- 3. 禁用ANONYMOUS(若已鎖定可跳過)
ALTER USER ANONYMOUS ACCOUNT LOCK;
Oracle Default Accounts會自動檢測。PASSWORD_VERIFY_FUNCTION強制生效。AUDIT ALTER USER, CREATE USER, DROP USER BY ACCESS;SYS密碼修改後,orapw口令文件自動同步(REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE)。XDB、OUTLN為內部組件依賴,**不可刪除**,僅修改密碼並鎖定(除非業務明確使用)。CDB$ROOT與各PDB分別檢查。默認賬號管理是Oracle安全基線的「第一道防線」。建立「安裝即修改、不用即鎖定、定期掃描、審計留痕」四機制,可消除90%以上因弱口令導致的滲透風險。