`
tianshibaijia
  • 浏览: 1126291 次
文章分类
社区版块
存档分类
最新评论

限制IP 访问 Oracle 的方法

 
阅读更多

在论坛里看到一个帖子,如何限制某些IP访问数据库。这种限制可以通过两种层面实现。一是数据库层面,另一个是防火墙的层面。这里只说明一下数据库层面的限制。测试如下。

一.修改sqlnet.ora文件

sqlnet.ora文件在$ORACLE_HOME/network/admin目录下,添加如下内容:

tcp.validnode_checking=yes

#允许访问的IP

tcp.invited_nodes=(ip1,ip2…)

#禁止访问的IP

tcp.excluded_nodes=(ip1,ip2…)

修改之后重新启动监听器即可,DB服务器本身连接实例不走监听,所以不受此限制。

1.1先看官网对这几个参数的说明:

(1)TCP.VALIDNODE_CHECKING

Purpose

To create a hard failure when host names in the invited or excluded list fail to resolve to an IP address. This ensures a customer's desired configuration is enforced, meaning that valid node checking cannot take place unless the host names are resolvable to IP addresses.

This is important in the context of theTCP.INVITED_NODESparameter, because it requires that every one of the client nodes be listed in the server's sqlnet.invited_nodes list. When one of the clients is decommissioned, and removed from the host name database, it becomes unresolvable, and causes the listener to fail to start.

Note:

In order to use the TCP.VALIDNODE_CHECKING parameter invited nodes, the host name database must be kept in up-to-date with thesqlnet.invited_nodelist.

注意这句话:如果要验证invited节点,最新的数据库主机名必须要在sqlnet.invited_node列表中。

(2)TCP.EXCLUDED_NODES

Purpose

To specify which clients are denied access to the database. This parameter does not use wildcards for IP addresses or partial IP addresses.

Syntax

TCP.EXCLUDED_NODES=(hostname| ip_address, hostname | ip_address, ...)

Example

TCP.EXCLUDED_NODES=(finance.us.example.com, mktg.us.example.com, 192.168.2.25, 172.30.*, 2001:DB8:200C:417A/32)

(3)TCP.INVITED_NODES

Purpose

To specify which clients are allowed access to the database. This parameter does not use wildcards for IP addresses or partial IP addresses. This list takes precedence over the TCP.EXCLUDED_NODES parameter if both lists are present.

Syntax

TCP.INVITED_NODES=(hostname| ip_address, hostname | ip_address, ...)

Example

TCP.INVITED_NODES=(sales.us.example.com, hr.us.example.com, 192.168.2.73)

From:

http://download.oracle.com/docs/cd/E11882_01/network.112/e10835/sqlnet.htm#NETRF238

1.2测试

[wangou@qs-test-web log]$ ifconfig eth0

eth0Link encap:EthernetHWaddr 00:0D:56:2F:78:2D

inet addr:192.168.2.245Bcast:192.168.2.255Mask:255.255.255.0

inet6 addr: fe80::20d:56ff:fe2f:782d/64 Scope:Link

UP BROADCAST RUNNING MULTICASTMTU:1500Metric:1

RX packets:9490305 errors:0 dropped:0 overruns:0 frame:0

TX packets:3268512 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:1010246991 (963.4 MiB)TX bytes:3052311073 (2.8 GiB)

Interrupt:201 Memory:fcf10000-fcf20000

1.2.1添加参数之前:

[wangou@qs-test-web log]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on ÐÇÆÚ¶þ 1ÔÂ 25 11:01:13 2011

Copyright (c) 1982, 2009, Oracle.All rights reserved.

SQL> conn sys/admin@dave as sysdba;

SQL> select name from v$database;

NAME

---------

NEWCCS

1.2.2添加到Exclude列表:

tcp.validnode_checking=yes

#允许访问的IP

tcp.invited_nodes=(daviddai, 192.168.3.*)

#注意这里的DB主机名,daviddai,如果不写,连不上并报ORA-12505错误。

#禁止访问的IP

tcp.excluded_nodes=(192.168.2.*)

[wangou@qs-test-web log]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on ÐÇÆÚ¶þ 1ÔÂ 25 11:08:20 2011

Copyright (c) 1982, 2009, Oracle.All rights reserved.

SQL> conn sys/admin@dave as sysdba;

ERROR:

ORA-12537: TNS: connection closed

当IP被添加到受限访问时,会报ORA-12537错误:

[wangou@qs-test-web log]$ oerr tns 12537

12537, 00000, "TNS:connection closed"

// *Cause: "End of file" condition has been reached; partner has disconnected.

// *Action: None needed; this is an information message.

1.2.3添加到Invited列表

tcp.validnode_checking=yes

#允许访问的IP

tcp.invited_nodes=( daviddai,192.168.2.*)

#注意这里的DB主机名,daviddai,如果不写,连不上并报ORA-12505错误。

#禁止访问的IP

tcp.excluded_nodes=(192.168.3.*)

[wangou@qs-test-web admin]$ sqlplus system/admin@dave;

SQL*Plus: Release 11.2.0.1.0 Production on25 11:24:01 2011

Copyright (c) 1982, 2009, Oracle.All rights reserved.

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select name from v$database;

NAME

---------

NEWCCS

二.通过触发器

2.1创建触发器

create or replace trigger logon_audit

after logon on database

begin

if ora_client_ip_address='192.168.2.245' or ora_client_ip_address='192.168.3.115' then

raise_application_error(-20001,'该用户不允许登录',false);

----抛出自定义的错误

end if;

end;

注意:AFTER LOGON ON DATABASE触发器对有DBA权限的用户不起作用。

2.2测试

SQL> conn dave/dave@dave;

ERROR:

ORA-00604: error occurred at recursive SQL level 1

ORA-20001:该用户不允许登录--用户自己定义

ORA-06512:在line 4

------------------------------------------------------------------------------

分享到:
评论

相关推荐

    Oracle如何限制固定IP的访问

    Oracle如何限制固定IP的访问

    限制ip访问Oracle数据库的方法步骤

    本文将给大家介绍如何限制某个ip或某个ip段才能访问Oracle数据库 通过sqlnet.ora 通过/etc/hosts.deny和/etc/hosts.allow 通过iptables 二、正式实验 本次实验环境是Centos6.10 + Oracle 11.2.0.4单实例,数据库...

    oracle 限制IP访问.txt

    oracle 限制IP访问.txtoracle 限制IP访问.txtoracle 限制IP访问.txtoracle 限制IP访问.txtoracle 限制IP访问.txtoracle 限制IP访问.txt

    oracle限制ip访问宣贯.pdf

    oracle限制ip访问宣贯.pdf

    oracle限制ip访问[参考].pdf

    oracle限制ip访问[参考].pdf

    Oracle 主要配置文件介绍

    Oracle 应 用进行文件 I/O操作的目录为任意目录 因此 只要空间允许 可以将备份数 据存放到任意目录下 <br>1.2.4 监听配置文件 为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库 必须配 ...

    Oracle10.2完美精简版客户端仅30M part1

    安装后就可以在程序中直接运行,访问远程服务器的Oracle。如果要用Toad连接远程服务器的话,得修改一下配置: “开始”-->"程序"-->"Oracle Instant Client 10.2"--> "tnsnames.ora配置",为远程服务器增加一个连接...

    Oracle10.2完美精简版客户端仅30M part2

    安装后就可以在程序中直接运行,访问远程服务器的Oracle。如果要用Toad连接远程服务器的话,得修改一下配置: “开始”-->"程序"-->"Oracle Instant Client 10.2"--> "tnsnames.ora配置",为远程服务器增加一个连接...

    oracle 11g安装配置

    增大用户oracle的进程数、文件数限制 [root@dbserver ~]# vi /etc/sysctl.conf …… fs.aio-max-nr = 1048576 限制并发未完成的请求,应该设置避免I/O子系统故障 fs.file-max = 6815744 文件句柄设置代表linux系统中...

    大势至服务器共享文件访问记录软件 v3.1.zip

    1、记录服务器共享文件夹或共享文件的访问情况,包括读取、拷贝、修改、删除、重命名、打印等情况,可以记录访问者采用的登录账户、IP地址、MAC地址、时间、访问时长、具体操作情况等。 2、根据共享文件夹或共享...

    Oracle事例

    <7> alter user语句的quota子句限制用户的磁盘空间 如:alter user jf quota 10M on system; 27、查看放在ORACLE的内存区里的表 SQL>select table_name,cache from user_tables where instr(cache,\'Y\')>0; ...

    安全运维那些漏洞(目录版)

    struts漏洞 Web服务器未及时打补丁,有解析漏洞 ...FCK编辑器 server-status信息泄露 ...memcache未限制访问IP JBoss问题 测试服务器外网可访问 padding oracle attack 用户名密码放在服务器上…… 其他

    数据库安全基线.doc

    Oracle数据库安全基线 目录 1.1. Oracle 数据库系统安全基线配置规范 2 1.1.1.... IP访问限制 10 1.1.2. Windows版本 11 1.1.2.1. 数据库主机管理员帐号 11 1.1.2.2. 删除无用帐号 11 1.1.2.3. 默认帐号修改口令 11

    三层ADO的Internet远程数据库访问开发套件

    通过TCP/IP服务程序,提供Internet的外部数据访问功能,通过服务程序,隔离数据库的直接连接,有效保护数据库安全, 高效的数据压缩和加密传输,提高远程的数据访问速度和安全性。 8、服务端状态监控功能 对服务器...

    weblogic 8.X 无限制

    The Server is not licensed for ...从licensecodes.oracle.com网站下载对应版本的授权,解压后的文本文档改名为license.bea,替换Weblogic安装目录下的授权license.bea,替换后重启Weblogic即可解除5个IP访问的限制。

    利用virtualbox虚拟机实现端口转发

    突破上网限制(如在公司内部限制访问外部网络,但是开放了某些端口,可以利用开放的某些端口实现端口重定向) 远程桌面重定向 NC重定向获得Shell 2.实验环境 virtualbox虚拟机 Windows XP(作为防火墙子网客户机...

    C#基类库(苏飞版)

    1.数据访问基础类(基于Oracle),主要是用来访问Oracle数据库的。 2.得到最大值;是否存在;是否存在(基于OracleParameter ); 3.执行SQL语句,返回影响的记录数; 4.执行多条SQL语句,实现数据库事务; 5.执行带一个...

    nat123全端口映射P2P域名解析 v1.140826.zip

    支持多地点登录,支持泛域名,经过映射的网站客户端用户访问真实IP不丢失;自动检测状态并提示,可以使用任意自定义免费二级域名,支持所有域名解析。A记录、cname记录、NS记录、MX记录、URL显性转发、URL隐性转发,...

    管理信息系统数据库安全体系设计(1).doc

    但必须限制远程访问端口的可信任区域。为了减少这类端口被利用和被攻击的可能 性,可更改此类端口为数据库服务器上尚未被使用的其他端口或者隐藏数据库通信端口, 同时利用防火墙安全策略来禁止非可信任区域对服务器该...

Global site tag (gtag.js) - Google Analytics