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

Oracle 遠程登入身份認證全解析:OS 驗證、密碼文件與 9i 新特性

     編輯:Oracle 資料庫基礎

前言

Oracle 身份認證機制靈活多樣,涵蓋操作系統驗證、密碼文件、數據庫內部驗證及 9i 引入的企業用戶認證。本文系統梳理服務端/客戶端 OS 驗證配置、REMOTE_LOGIN_PASSWORDFILE 三大模式差異、域用戶映射規則,以及 9i 整合 Active Directory 的新特性。

一、 服務器端操作系統驗證配置

1. sqlnet.ora 關鍵參數

NAMES.DIRECTORY_PATH = (TNSNAMES, ONAMES, HOSTNAME)
SQLNET.AUTHENTICATION_SERVICES = (NTS)  -- 僅啟用 OS 驗證,或 (NONE, NTS) 雙模式
  • NONE:數據庫內部密碼驗證
  • NTS:Windows 原生 OS 驗證 (NTLM/Kerberos)

2. OS 群組與權限映射

登錄命令:sqlplus "/ as sysdba" 或 sqlplus /nolog -> connect / as sysdba

3. REMOTE_LOGIN_PASSWORDFILE 三模式深度對比

OS 群組Oracle 權限適用場景
ORA_DBASYSDBA單實例,本地/域用戶免密登錄
ORA_SID_DBASYSDBA多實例隔離,SID 為實例名
ORA_OPERSYSOPER啟動/關閉/恢復等運維權限
模式密碼文件用途非 SYS 用戶授權 SYSDBA/SYSOPER適用場景
NONE (默認)不使用密碼文件不支持純 OS 驗證環境
EXCLUSIVE單實例專用支持需授權應用管理員 SYSDBA 權限
SHARED多實例共享不支持RAC/多實例共享密碼文件

結論:純 OS 驗證必須設置 NONE;若需遠程 SYSDBA 連接或授權非 SYS 用戶,必須用 EXCLUSIVE 並創建密碼文件 (orapwd)。

4. 域用戶/本地用戶映射規則

  • 未創建 Oracle 用戶時:域用戶 DOMAIN\USER、本地用戶 MACHINE\USER
  • 創建外部認證用戶:CREATE USER "DOMAIN\USER" IDENTIFIED EXTERNALLY;
  • 簡化域名前綴:註冊表 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0 添加 AUTH_PREFIX_DOMAIN=FALSE (REG_SZ),配合 OS_AUTHENT_PREFIX="" (默認空,8i 前為 OPS$)。

二、 遠程客戶端 OS 驗證:高風險不推薦

1. 啟用條件

init.ora 設置 REMOTE_OS_AUTHENT=TRUE (默認 FALSE)。

2. 安全漏洞原理

客戶端 OS 驗證由客戶端自身作業系統完成,而非服務器。攻擊者可在任意機器創建同名用戶 (如 ZL\ZYK),即可免密登錄對應 Oracle 用戶 "ZLZYK",服務器無法區分機器名與域名。

3. 官方建議

生產環境嚴禁開啟 REMOTE_OS_AUTHENT=TRUE,應使用密碼驗證、SSL/TLS 或 9i 企業用戶認證。

三、 Oracle 9i 企業用戶認證:集成 Active Directory

1. 架構升級

  • 舊模式:External User Authentication — 僅客戶端本地 OS 驗證
  • 新模式:Global User Authentication / Enterprise User Authentication — 集中式目錄服務驗證

2. 實施步驟

  1. Oracle 9i 運行於 Windows 2000+ 域環境
  2. 註冊表 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME 新增/修改 OSAUTH_X509_NAME=TRUE (類型 REG_EXPAND_SZ,默認 FALSE)
  3. 使用 Oracle Enterprise Security Manager (ESM) 管理用戶權限、角色映射、Wallet 憑證

限制:Windows NT 4.0 域不支持此特性。

四、 總結與建議

認證方式安全性管理複雜度推薦場景
服務端 OS 驗證 (NTS)高低DBA 本地運維、單機/可信內網
密碼文件 (EXCLUSIVE)中高中遠程 SYSDBA、應用管理員授權
客戶端 OS 驗證極低低生產環境禁用
9i 企業用戶認證最高 (PKI/AD/Kerberos)高大型企業、合規要求高、跨庫單點登入

選型原則:內網運維首選 NTS,遠程管理用密碼文件,企業級統一身份認證上 9i Enterprise User Security,絕不開啟 REMOTE_OS_AUTHENT。

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