当前位置:文档之家› Oracle修改sqlnet.ora限制IP访问

Oracle修改sqlnet.ora限制IP访问

业务需求:限制连接Oracle的IP,检查非法连接,降低数据库安全风险。

业务实施:修改oracle安装目录下的配置文件sqlnet.ora来限制能够连接数据库的IP。

下面以RHL6.4上安装的Oracle 11g R2为例,修改sqlnet.ora配置文件来限制访问IP。

RHL6.4 IP:192.168.40.129;访问PC IP:192.168.40.1。

1.Linux安装Oracle后,发现/XXX/network/admin 没有sqlnet.ora这个配置文件,可以在
/XXX/network/admin/samples找到同名的配置文件说明,并复制到/XXX/network/admin。

2.在/XXX/network/admin下修改配置文件sqlnet.ora。

visqlnet.ora
添加
#需要设置参数为YES才能激活
tcp.validnode_checking=yes
#允许访问IP,建议设置允许访问IP,因为IP地址被随意修改后,excluded_nodes设置#就不起作用了。

tcp.invited_nodes=(192.168.40.1)
#不允许访问IP,当参数TCP.INVITED_NODES和TCP.EXCLUDED_NODES设置的地址相#同的时候将覆盖TCP.EXCLUDED_NODES设置。

tcp.excluded_nodes=(192.168.40.2)
3.修改完成后重启监听器生效配置。

这种限制方式是通过监听器来限制的,在服务器上直接连接数据库不受影响。

[oracle@localhost admin]$ lsnrctl reload
验证:
①不允许192.168.40.1
在192.168.40.1登录PL./SQL报错:
②当允许和不允许同时存在IP 192.168.40.1时,IP 192.168.40.1能登录PL/SQL
另附通过建触发器来限制IP用户名及IP段方法:
①限制单用户从单IP登录,下面限制scott用户从客户端的登录
create or replace triggerdisablelogin
after logon on scott.schema
declare
ipaddr VARCHAR2(30);
begin
selectsys_context('userenv', 'ip_address')
intoipaddr
from dual;
ifipaddr = '192.168.40.1' then
raise_application_error('-20001',
'You can notlogin,Please contact administrator'); end if;
enddisablelogin;
②限制IP段登录
create or replace trigger chk_ip_range
after logon on scott.schema
declare
ipaddr VARCHAR2(30);
begin
selectsys_context('userenv', 'ip_address')
intoipaddr
from dual;
ifipaddr like ('192.168.40.%') then
raise_application_error('-20001',
'You can notlogin,Please contact administrator'); end if;
endchk_ip_range;。

相关主题