設定 VNCR on Oracle RAC

在Oracle RAC環境下,版本為 11.2.0.4,透過弱點掃描工具發現有 Oracle TNS Listener Remote Poisoning 的弱點被掃出來,來看看這個問題的相關資訊。


Oracle 在2012了有針對此問題發佈了安全性警示 CVE-2012-1675,以下為官方說明:



此安全警報解決了安全問題CVE-2012-1675,這是TNS監聽器中的一個漏洞,最近被披露為影響Oracle數據庫服務器的“TNS監聽器毒藥攻擊”。 此漏洞無需身份驗證即可遠程利用,即可以通過網絡利用此漏洞而無需用戶名和密碼。 遠程用戶可以利用此漏洞來影響系統的機密性,完整性和可用性。


Solution : 

1) 11.2.0.3之前的版本只能用設定 COST (Class of Secure Transport) 的方式,官方文件有針對此設定的方式,包含RAC架構與非RAC架構分別做說明。

2) 11.2.0.4之後的版本可使用設定 VNCR 的方式來保護這個弱點,而此方式的設定對DBA來說相對第一種方式簡單的多。

這次針對第二種方式說明

環境: Oracle RAC 11.2.0.4
Hostname: srvrac1, srvrac2
SID: rac1, rac2

Step1 : 編輯 listener.ora 檔案, 須分別在兩個Node上編輯

a) 查看檔案路徑 : lsnrctl status




b) 查看 listener.ora 目前的內容 : cat /u01/app/11.2.0/grid/network/admin/listener.ora

c) 加入以下內容

# Enable VNCR
VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON
VALID_NODE_CHECKING_REGISTRATION_LISTENER_SCAN1=ON
VALID_NODE_CHECKING_REGISTRATION_LISTENER_SCAN2=ON
VALID_NODE_CHECKING_REGISTRATION_LISTENER_SCAN3=ON
REGISTRATION_INVITED_NODES_LISTENER_SCAN1=(srvrac1,srvrac2)
REGISTRATION_INVITED_NODES_LISTENER_SCAN2=(srvrac1,srvrac2)

REGISTRATION_INVITED_NODES_LISTENER_SCAN3=(srvrac1,srvrac2)


VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON 
設定 ON 代表只允許本機才能註冊, 所以需要再增加以下設定

REGISTRATION_INVITED_NODES_LISTENER_SCAN1=(srvrac1,srvrac2)
允許 srvrac1 與 srvrac2 註冊


Step2 : Reload listener

a) 查看哪一個 Listener 分別跑在哪一個 Node
listener status LISTENER
listener status LISTENER_SCAN1
listener status LISTENER_SCAN2
listener status LISTENER_SCAN3

b) reload listener
listener reload LISTENER
listener reload LISTENER_SCAN1


執行以上步驟後便設定完成,Oracle RAC 已有防護免於 TNS Listener Remote Poisoning 攻擊。

留言

這個網誌中的熱門文章

MSSQL 瘦身 : 壓縮資料庫

InTrust 自動幫您蒐集 AD 帳號的登入/登出紀錄,長時間保存並保護

[SAP] 什麼是SAP? R/3 and S/4 是什麼意思? 差別在哪? (勿轉臉書)