CVE-2012-1675 允許未認證攻擊者透過惡意註冊實例,導致 Listener 將連線導向攻擊者控制的服務(中間人攻擊/資料竊取)。影響範圍:Oracle Database 10g/11g 非 RAC 環境。
環境:Windows Server 2008 R2 + Oracle 10.2.0.3,應用最新 Bundle Patch 後掃描仍報漏洞。
依據 Oracle MOS Note 1453883.1(非 RAC 環境),採用 Class of Secure Transport (COST) 限制實例註冊協議。提供兩種模式:
本文採用 方案一:TCP 協議限制(需確認已打 Patch 12880299)。
-- 檢查監聽器配置 LSNRCTL> STATUS -- 檢查動態註冊參數 SQL> SHOW PARAMETER local_listener; SQL> SHOW PARAMETER remote_listener;
預期:兩參數均為空(預設動態註冊)。
LSNRCTL> STOP LISTENER
路徑:%ORACLE_HOME%\network\admin\listener.ora
# 在檔案末尾新增 SECURE_REGISTER_LISTENER = (TCP)
關鍵點:參數名稱中 LISTENER 必須與 listener.ora 中定義的監聽器名稱完全一致(區分大小寫)。
LSNRCTL> START LISTENER SQL> ALTER SYSTEM REGISTER;
ALTER SYSTEM SET local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.138)(PORT=1521)))' SCOPE=BOTH; SHOW PARAMETER local_listener;
LSNRCTL> SERVICES LISTENER
預期輸出:所有 Handler 狀態為 LOCAL SERVER,**不出現 REMOTE SERVER**。
#SECURE_REGISTER_LISTENER = (TCP)
LSNRCTL> STOP LISTENER LSNRCTL> START LISTENER
ALTER SYSTEM SET remote_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.138)(PORT=1521))' SCOPE=MEMORY; ALTER SYSTEM REGISTER;
Service "orcl" has 2 instances. Instance "orcl", status READY, has 2 handlers... Handler: "DEDICATED" ... STATE:ready REMOTE SERVER (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
出現 REMOTE SERVER 即表示漏洞存在(攻擊者可劫持連線)。
SECURE_REGISTER_LISTENER = (TCP)
LSNRCTL> STOP LISTENER LSNRCTL> START LISTENER SQL> ALTER SYSTEM REGISTER;
Service "orcl" has 2 instances. Instance "orcl", status READY, has 1 handler... Handler: "DEDICATED" ... STATE:blocked REMOTE SERVER ...
關鍵指標:雖仍顯示 REMOTE SERVER,但狀態為 blocked,且 listener.log 記錄:
TNS-01194: The listener command did not arrive on a secure transport
證明惡意註冊被阻擋。
ALTER SYSTEM SET remote_listener='' SCOPE=MEMORY;
| 版本 | 額外必要參數 | 說明 |
|---|---|---|
| 10g | LOCAL_OS_AUTHENTICATION_LISTENER = OFF | 關閉本地 OS 認證回退,強制密碼驗證 |
| 11g+ | 預設安全 | 預設啟用基於 OS 群組的權限檢查,無需額外設定 |
listener.ora 增加 SECURE_REGISTER_<監聽器名> = (TCP)local_listener 綁定 TCP 端點LSNRCTL SERVICES 無 REMOTE SERVER 或狀態為 blockedlistener.log 確認 TNS-01194 拒絕記錄此方案經實測可徹底阻斷 CVE-2012-1675 攻擊向量,建議納入資料庫安全基線檢查清單。