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

Oracle 11g 設定 IP 存取限制:sqlnet.ora 白名單/黑名單配置

     編輯:Oracle 教學

Oracle 11g 設定 IP 存取限制:sqlnet.ora 白名單/黑名單配置

為強化資料庫安全性,限制僅允許特定 IP 連線。透過修改 $ORACLE_HOME/network/admin/sqlnet.ora 設定 TCP/IP 邀請/排除節點清單。

配置內容

# 啟用 IP 檢查功能 (必要)
TCP.VALIDNODE_CHECKING = YES

# 允許存取的 IP 清單 (白名單),多個 IP 用逗號分隔
TCP.INVITED_NODES = (192.168.1.110, 192.168.1.115, 10.0.0.0/24)

# 禁止存取的 IP 清單 (黑名單),多個 IP 用逗號分隔
TCP.EXCLUDED_NODES = (192.168.1.111, 192.168.1.200)

生效方式

# 重新載入監聽器設定 (不中斷現有連線)
LSNRCTL RELOAD

# 或重啟監聽器
LSNRCTL STOP
LSNRCTL START

關鍵規則與注意事項

  1. 第一行必填:TCP.VALIDNODE_CHECKING=YES 必須啟用,否則白/黑名單不生效
  2. 僅適用 TCP/IP:不支援 IPC、TCPS 等其他協定
  3. 白名單優先:若同時設定 INVITED_NODES 與 EXCLUDED_NODES,以白名單為準
  4. 支援 CIDR:可用 10.0.0.0/24 表示網段
  5. 勿封鎖本機 IP:嚴禁將資料庫伺服器自身 IP 加入黑名單,否則 LSNRCTL 無法啟動/停止監聽器 (本機連線會被擋)
  6. 動態註冊:PMON 向 Listener 註冊時也受此限制,確保本機 IP 在白名單內

驗證方式

  1. 白名單 IP 連線:sqlplus user/pwd@db → 成功
  2. 黑名單/非名單 IP 連線:→ ORA-12537: TNS:connection closed 或 ORA-12518
  3. 檢視 Listener 日誌:$ORACLE_HOME/network/log/listener.log 含 refused 關鍵字

進階替代方案 (12c+ 推薦)

  • Database Firewall:獨立設備/軟體層面攔截
  • Oracle Connection Manager (CMAN):Proxy 模式集中管控
  • Network ACL (DBMS_NETWORK_ACL_ADMIN):資料庫層面精細控制
  • Database Vault:企業版選項,含 Command Rule、Realm 保護

故障排除

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