ITPub博客

首页 > 数据库 > Oracle > Oracle数据库IP访问限制(IP白名单黑名单)

Oracle数据库IP访问限制(IP白名单黑名单)

原创 Oracle 作者:闪电帥龟龟 时间:2016-06-24 23:34:15 0 删除 编辑
可以通过修改sqlnet.ora文件来限制某些IP地址的访问,修改完成后,可能需重启监听生效。(可以lsnrctl reload)
如果$ORACLE_HOME/network/admin/目录下没有sqlnet.ora文件,可以从samples目录下拷贝个sqlnet.ora或者直接vi

注意:第一次新生成sqlnet.ora文件后,必须重启监听才会生效,之后再修改可以使用lsnrctl reload就能生效。

        多个监听环境下先要查看监听并且在监听的start/stop/reload后加上监听的名字
        查看监听名字:ps -ef|grep tns
        查看监听状态:lsnrctl status 输出的HOST=后边对应的IP必须要出现在白名单中(如果使用白名单的话)
1、编辑sqlnet.ora
内容为:
NAMES.DIRECTORY_PATH= (TNSNAMES,EZCONNECT)  
ADR_BASE = /oracle/app/oracle     -------这个指定的是对应的日志输出目录
###########二选一##############
#允许访问的IP(白名单)
TCP.INVITED_NODES=(192.168.1.211,192.168.56.109,ip2,ip3,..,..本地IP..)若使用白名单,必须有本地IP,否则监听会起不来
#不允许访问的IP(黑名单)
#TCP.EXCLUDED_NODES=(192.168.56.101)


#检测上述参数的设置
TCP.VALIDNODE_CHECKING=yes (这个参数是必须的)


2、重启监听或者reload
第一次配置:停:lsnrctl stop(多监听 lsnrctl stop LISTENER_NAME)
               启:lsnrctl start (多监听 lsnrctl start LISTENER_NAME)


非第一次配置:lsnrctl reload (多监听 lsnrctl reload LISTENER_NAME)


3、测试:再被隔离的IP主机上或者允许的IP主机测试
TNSNAMES方式: sqlplus zhoushuai/zhoushuai@orcl11g_t 
EZCONNECT方式: sqlplus zhoushuai/zhoushuai@192.168.1.211:1521/orcl11g  (语法:sqlplus user/passwd@IP:port/service_name)
HOSTNAME方式: sqlplus zhoushuai/zhoushuai@db2:1521/orcl11g

NOTE:

1、#允许访问的ip tcp.invited_nodes =(ip1,ip2,……)  
    #不允许访问的ip tcp.excluded_nodes=(ip1,ip2,……)
    TCP.INVITED_NODES:设置允许访问数据库的IP地址列表,当这个参数和TCP.EXCLUDED_NODES设置的地址相同的时候将覆盖TCP.EXCLUDED_NODES设置。
    也可以指定相应的IP段可以访问或者不能访问。如tcp.invited_nodes =(192.168.56.*,192.168.1.*)

2、 NAMES.DIRECTORY_PATH= (TNSNAMES,EZCONNECT)  --Default: TNSNAMES,ONAMES,HOSTNAME。
    tnsname指定客户端的先找tnsnames.ora的配置,其他不配也能好使(至少我实验是可以的)

3、TCP.VALIDNODE_CHECKING=yes (这个参数是必须的)#检测上述参数的设置 

4、ADR_BASE = /oracle/app/oracle --Default: $ORACLE_HOME ($ORACLE_HOME=/oracle at customer site) 个人感觉不用配置默认就行


需要注意的问题(转改):
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检测,对于用户名检测事不支持的。
10、使用触发器(通过监听器的限制,通常属于轻量级的,比在数据库内部通过触发器进行限制效率要高)
11、注意RAC的时候注意监听的路径是grid下的

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31043804/viewspace-2120952/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-03-19

  • 博文量
    26
  • 访问量
    61308