1. 程式人生 > >ORACLE限制連線IP

ORACLE限制連線IP

1、 修改SQLNET.ora檔案限制訪問資料庫的IP。
2、 使用觸發器實現。

sqlnet.ora檔案的功能:

1. Specify the client domain to append to unqualified names

2. Prioritize naming methods

3. Enable logging and tracing features

4. Route connections through specific processes

5. Configure parameters for external naming

6. Configure Oracle Advanced Security

7. Use protocol-specific parameters to restrict access to the database


這裡使用的就是sqlnet.ora檔案的第七項功能限制訪問資料庫的連線。

適用版本:oracle 9i以上版本
在9i提供了幾個引數:
TCP.EXCLUDED_NODES
設定禁止訪問資料庫的IP地址列表。
TCP.INVITED_NODES
設定允許訪問資料庫的IP地址列表,當這個引數和TCP.EXCLUDED_NODES設定的地址相同的時候將覆蓋TCP.EXCLUDED_NODES設定。
TCP.VALIDNODE_CHECKING
檢測上述引數的設定。

例如:

tcp.validnode_checking=yes 

#允許訪問的ip tcp.invited_nodes =(ip1,ip2,……) 

#不允許訪問的ip tcp.excluded_nodes=(ip1,ip2,……)


通過這樣的設定就可以根據自己的需要更改,

需要注意的問題:
1、 需要設定引數為YES,這樣才能啟用。
2、 建議設定允許訪問的IP,因為IP地址有可能被隨意修改,就不能起到自己的目的。
3、 TCP當引數TCP.INVITED_NODES和TCP.EXCLUDED_NODES設定的地址相同的時候將覆蓋TCP.EXCLUDED_NODES設定。
4、 需要重啟監聽器才能生效。
5、 這個方式只是適合TCP協議。
6、 這個配置適用於9i以上版本。在9i之前的版本使用檔案protocol.ora。
7、 在

伺服器上直接連線資料庫不受影響。
8、 這種限制方式事通過監聽器來限制的。 
9、 這個限制只是針對IP檢測,對於使用者名稱檢測事不支援的。

sqlnet.ora設定:

# SQLNET.ORA Network Configuration File: d:\oracle\ora92\network\admin\sqlnet.ora

# Generated by Oracle configuration tools.

  SQLNET.AUTHENTICATION_SERVICES= (NTS)

  NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)

  tcp.validnode_checking=yes

  tcp.invited_nodes=(10.107.7.32,10.107.7.26)