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

Oracle默認用戶名密碼速查手冊:安裝後必改清單與安全基線

     編輯:Oracle 資料庫基礎

核心風險

Oracle安裝預置十餘個默認賬號,密碼公開文檔化。未修改即上線等同於「門不上鎖」。本文提供標準化清單,供安裝驗收、安全掃描、合規審計使用。

標準默認賬號表(11g/12c/19c通用)

用戶名默認密碼登錄角色功能定位風險等級建議動作
SYSCHANGE_ON_INSTALLSYSDBA/SYSOPER數據字典擁有者,核心對象🔴 致命安裝時強制修改,啟用強密碼
SYSTEMMANAGERSYSDBA/NORMAL日常管理操作🔴 致命修改密碼,限制網絡訪問
SYSMANOEM_TEMP / CHANGE_ON_INSTALLNORMALEM Repository/OMS用戶🟠 高修改密碼,僅EM服務器訪問
DBSNMPDBSNMPNORMAL/SYSDBAEM監控代理🟠 高修改密碼,僅監控服務器訪問
SCOTTTIGERNORMAL教學示例模式🟡 中非開發環境鎖定/刪除
HR/OE/PM/IX/SH/BI同用戶名NORMAL示例業務模式🟡 中生產環境刪除
CTXSYSCTXSYSNORMALOracle Text🟡 中不用則鎖定
MDSYSMDSYSNORMALSpatial/ Locator🟡 中不用則鎖定
ORDSYS/ORDPLUGINSORDSYS/ORDPLUGINSNORMALinterMedia 多媒體🟡 中不用則鎖定
OUTLNOUTLNNORMAL計劃穩定性🟢 低保留,修改密碼
LBACSYSLBACSYSNORMALLabel Security🟢 低不用則鎖定
MDDATAMDDATANORMALSpatial測試數據🟢 低刪除
OLAPSYSMANAGERNORMALOLAP Catalog🟢 低不用則鎖定
SI_INFORMTN_SCHEMASI_INFORMTN_SCHEMANORMALSQL/MM Still Image🟢 低刪除
XDB隨機生成(11g+)NORMALXML DB Repository🟢 低保留,不可刪除
ANONYMOUS無NORMALXML 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;

合規審計要點

  1. 安裝驗收:交付清單必須包含「默認密碼已修改」簽署項。
  2. 漏洞掃描:Nessus/OpenVAS插件Oracle Default Accounts會自動檢測。
  3. 密碼複雜度:ProfilePASSWORD_VERIFY_FUNCTION強制生效。
  4. 審計追蹤:AUDIT ALTER USER, CREATE USER, DROP USER BY ACCESS;

特殊說明

  • SYS密碼修改後,orapw口令文件自動同步(REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE)。
  • XDB、OUTLN為內部組件依賴,**不可刪除**,僅修改密碼並鎖定(除非業務明確使用)。
  • 12c PDB中默認用戶同樣存在,需在CDB$ROOT與各PDB分別檢查。

總結

默認賬號管理是Oracle安全基線的「第一道防線」。建立「安裝即修改、不用即鎖定、定期掃描、審計留痕」四機制,可消除90%以上因弱口令導致的滲透風險。

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