oracle限制IP訪問

在Oracle数据库中由于版本的差异,可以通过不同的方式来解决这些问题。

有几种方式来实现这样的功能:

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)

时间: 2024-10-11 00:41:59

oracle限制IP訪問的相关文章

啟用SSH強化核心層,分布層交換機訪問安全

問題陳述 原核心層,分布層交換機遠程訪問配置為Telnet方式.因Telnet傳輸過程使用明文方式,在日趨嚴峻的安全威脅下,存在用戶名和密碼被截獲的高風險.一旦發生此類事件,將會導致整個網絡控制權被奪取. 解決方案 SSH(Secure Shell)使用加密的傳輸方式,可以有效解決被直接嗅探的可能.為平衡加密速度和安全強度,我們建議把加密長度設置為1024位.同時,為保證在radius失效時可以登錄交換機,配置了備用的本地認證方式. 各類交換機型號 目前公司環境,核心層和分佈層交換機主要有如下型

oracle rac IP详解

rac环境下vip/public/private IP的区别 每个节点要2块网卡, 3个IP,虚拟IP或者叫做业务IP,单个网卡当掉可以"漂"到其他网卡是继续提供服务 在Oracle RAC环境下,每个节点都会有多个IP地址,分别为Public/Private/Vip,这三个IP到底有啥区别呢?分别用在那些场合呢?来看看老外的回答. 1. private IP address is used only for internal clustering processing (Cache

Nginx支持https訪問

Nginx支持https訪問 # yum -y install openssl openssl-devel 然后就是自己颁发证书给自己 # cd /usr/local/nginx/conf 1.創建帶密鑰口令的私鑰key # openssl genrsa -des3 -out server.key 1024 2.創建證書申請文件csr # openssl req -new -key server.key -out server.csr 3.清除私鑰的口令,重新生成不帶密鑰的key(不清除口令,重

apache支持https訪問

apache支持https訪問 创建默认的证书:安装ssl模块# yum –y install mod_ssl重启apache服务# service httpd restart手动创建证书:安装 openssl# yum –y install openssl openssl-devel创建私钥# openssl genrsa –out server.key1024用私钥server.key文件生成证书签署请求CSR# openssl req -new -key server.key -out s

【解决】Oracle服务器ip地址被占用

数据库服务器ip地址被占用,怎么破?! 服务器: 1.改服务器ip: 2.改tnsnames.ora里配置的Oracle数据库ip: 3.重启Oracle服务: 客户端: 1.改tnsnames.ora里配置的Oracle数据库ip: [解决]Oracle服务器ip地址被占用

訪問索引的方法

1.B樹索引的結構 索引分支塊       包含指向索引分支塊/葉子塊的指針和索引鍵值列       (這裡指針指的是指向索引分支塊/葉子塊的塊地址RDBA.每個索引分支塊有兩種類型的指針,一種lmc(left most child),一種索引行記錄所記錄的指針.lmc那就是指向最左邊的那個分支塊/葉子塊)       lmc指向的分支塊/葉子塊的最大值一定<lmc在的那個分支塊的鍵值列的最小值            簡單來說就是lmc那個地址>它下面最左邊的分支塊/葉子塊的地址      

【Windows Server 2019】文件共享,應該不支持 Everyone 訪問

Windows Server 2019 文件共享 選擇共享的用戶 everyone 當客戶端去訪問Windows2019服務器的共享文件夾的時候,會不停地提示你輸入用戶名與密碼,就算是Administraotrs組別的成員都是無法訪問,我不知道是不是BUG,或者說安全設定,但是現在的結果告訴你的是:無法訪問. 解決的辦法是刪除Everyone,添加一個制定賬號,應該組別也是可以的,結果有待測試. 原文地址:http://blog.51cto.com/happynews/2159519

變量訪問Oracle數據研究ing

方法,調用 public DataTable SayHi(string sql, DateTime begintime, DateTime endtime, string[,] array,string btime,string dtime) { string constr = @"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.93.64.242)(PORT=1521))(CONNECT_DATA=(SERVER=dedicat

Oracle修改ip或主机名后重建em和监听

oracle数据库修改ip和主机名的详细操作 修改ip操作 1.修改hosts文件中主机名对应的ip地址. 2.重启服务器网络 service network restart 3.一定要先删除原来的监听 emca -deconfig dbcontrol db -repos drop (如果不记得sysman的密码,可以先修改下alter user sysman identified by oracle;) 4.修改 $ORACLE_HOME/network/admin/listener.ora