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

Oracle 監聽器端口修改完整操作手冊與安全加固

     編輯:Oracle 資料庫基礎

Oracle 安全三維度

  1. 作業系統安全
  2. 網路安全
  3. Oracle 軟體本身安全(本文重點)

Oracle 軟體安全三大措施

  • 修改預設監聽端口 (1521/1522)
  • 設定監聽器密碼
  • 限制 IP 連線 (valid_node_checking)

修改監聽端口標準流程 (Windows 示範)

1. 查看現狀

lsnrctl status

關鍵輸出:PORT=1522、listener.ora 路徑、服務清單。

2. 停止監聽器

lsnrctl stop

3. 修改 listener.ora

# 修改前
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = skate)(PORT = 1522))
    )
  )

# 修改後 (例:改為 1523)
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = skate)(PORT = 1523))
    )
  )

4. 修改 tnsnames.ora (客戶端連線描述)

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = skate)(PORT = 1523))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

5. 設定 local_listener 參數 (資料庫端自動註冊)

ALTER SYSTEM SET local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=skate)(PORT=1523))' SCOPE=BOTH;

6. 重啟監聽器並驗證

lsnrctl start
lsnrctl status
# 客戶端測試
sqlplus scott/tiger@orcl

監聽器密碼設定 (10g+ 採用本地 OS 驗證為主)

LSNRCTL> set current_listener LISTENER
LSNRCTL> set password
Password: ********
The command completed successfully
LSNRCTL> save_config

或直接編輯 listener.ora:

PASSWORDS_LISTENER = 

IP 連線限制 (sqlnet.ora)

# 僅允許特定 IP/子網
TCP.VALIDNODE_CHECKING = YES
TCP.INVITED_NODES = (192.168.1.10, 192.168.1.0/24)
TCP.EXCLUDED_NODES = (192.168.1.100)

驗證清單

項目指令預期結果
監聽狀態lsnrctl status顯示新端口、服務 READY
本地連線sqlplus / as sysdba成功
遠端連線sqlplus user/pwd@新TNS成功
非授權 IPtnsping / sqlplusORA-12537 / TNS-12560

注意事項

  • 修改端口後,**所有**客戶端 tnsnames.ora、JDBC 連線字串、應用設定檔須同步更新。
  • 防火牆規則需同步放行新端口。
  • RAC 環境需在所有節點同步修改並重啟監聽器。
  • 10g 之後預設啟用本地 OS 驗證,密碼保護優先級較低;仍建議設定密碼防範遠程 LSNRCTL 控制。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved