出于提高数据安全性等目地,我们可能想要对oracle的访问进行限制,允许一些IP连接数据库或拒绝一些IP访问数据库。

当然使用iptables也能达到限制的目地,但是从监听端口变更限制仍可生效、只针对oracle自己不和其他端口的限制相混杂和不需要root账号这几方面来说,通过配置sqlnet.ora文件来进行访问限制可能是一种更好的选择。

1.配置sqlnet.ora文件

进入$TNS_ADMIN(一般对应的真实路径形如/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin)查看是否存在sqlnet.ora文件及是否已配置tcp.validnode_checking、tcp.invited_nodes、tcp.excluded_nodes项。

如果文件存在且已有这几项,则在此基础上修改这几项;如果文件存在但这几项不存在,则在最后追加;如果文件不存在则直接新建。

oracle默认是没有的,我们以没有为例新建该文件,并写入以下内容:

tcp.validnode_checking=yes

tcp.invited_nodes=(192.168.220.128,127.0.0.1)

tcp.excluded_nodes=(192.168.220.1)

tcp.validnode_checking--此项是启用IP合法检查,此项是必须配置的,如果不启用其他两项配了也没用

tcp.invited_nodes--此项是允许连接数据库的IP地址,多个地址用逗号(半角)隔开;如果启用此项,一定要配上本地地址不然监听无法启动。

tcp.excluded_nodes--此项是不允许连接数据库的IP地址,多个地址用逗号(半角)隔开;如果与tcp.invited_nodes有相同IP,则还是允许该IP访问数据库

tcp.invited_nodes和tcp.excluded_nodes其实可以只配置一项,当只配tcp.invited_nodes时就是白名单,在此项列表中的所有IP允许访问数据库,所有不在此项列表中的所有IP拒绝访问数据库;

当只配置tcp.excluded_nodes时,在此项列表中的所有IP拒绝访问数据库,所有不在此项列表中的所有IP允许访问数据库。

2.重新加载使配置生效

如果之前不存在sqlnet.ora则需要重启监听

lsnrctl stop

lsnrctl start

如果之前存在sqlnet.ora则只需要重新加载配置即可

lsnrctl reload

关于重启和reload的区别,应该是监听完全停上和不完全停止的区别;使用stop/start当前所有已连接的会话会强制断开,reload不会断开已有会话。

参考:

来源:https://www.cnblogs.com/lsdb/p/7729434.html

oracle 白名单作用及配置教程的更多相关文章

  1. Oracle 11g R2安装手册(图文教程)For Windows

    1.Oracle 11g R2安装手册(图文教程)For Windows 1.下载Oracle 11g R2 for Windows版本,下载地址如下 官方网站: http://download.or ...

  2. Tomcat7安装及配置教程

    Apache  Tomcat7.0安装及配置教程.. Apache  Tomcat7.0官方网站链接:http://tomcat.apache.org/ apache-tomcat-7.0.73-wi ...

  3. Tomcat8安装及配置教程

    Apache  Tomcat8.0安装及配置教程.. Apache  Tomcat8.0官方网站链接:http://tomcat.apache.org/ apache-tomcat-8.0.39-wi ...

  4. jdk eclipse SDK下载安装及配置教程

    原文地址https://blog.csdn.net/dr_neo/article/details/49870587 最新鲜最详细的Android SDK下载安装及配置教程 最近Neo突发神经,想要将学 ...

  5. MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64、MySQL5.7)

    MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64.MySQL5.7) 安装包版本 1)     VMawre-workstation版本包 地址: https://m ...

  6. Windows基础环境_安装配置教程(Windows7 64、JDK1.8、Android SDK23.0、TortoiseSVN 1.9.5)

    Windows基础环境_安装配置教程(Windows7 64.JDK1.8.Android SDK23.0.TortoiseSVN 1.9.5) 安装包版本 1)     JDK版本包 地址: htt ...

  7. Linux基础环境_安装配置教程(CentOS7.2 64、JDK1.8、Tomcat8)

    Linux基础环境_安装配置教程 (CentOS7.2 64.JDK1.8.Tomcat8) 安装包版本 1)     VMawre-workstation版本包 地址: https://my.vmw ...

  8. 2018年Unity结合Android SDK下载安装及配置教程

    原文:2018年Unity结合Android SDK下载安装及配置教程 首先声明: Unity版本2017.1f3        最近试着在Unity中利用网易做AR开发时,发布项目文件需要发布到An ...

  9. JDK下载安装配置教程(详细)

    JDK下载安装配置教程(详细) 版权声明:本文为原创文章,转载请附上原文出处链接和本声明.https://www.cnblogs.com/mxxbc/p/11844885.html 因为最近需要在Wi ...

  10. Java环境变量配置教程

    Windows 10  Java环境变量配置教程 目前Windows 10系统已经很成熟,大多数人开发都在Windows 10系统下进行开发,于是乎我做一下Java环境变量在Windows 10配下的 ...

随机推荐

  1. 永久免费泛域名证书: letsencrypt 

    项目地址: https://github.com/Neilpang/acme.sh

  2. fastapi四:uvicorn.run支持的参数

    `app:指定应用app,'脚本名:FastAPI实例对象'.FastAPI实例对象 host: 字符串,允许被访问的形式 locahost.127.0.0.1.当前IP.0.0.0.0,默认为127 ...

  3. 多线程事务回滚sqlSession, spring-mybatis 开启事务

    @Resource SqlContext sqlContext; /** * 多线程事务. * @param employeeDOList */ @Override public void saveT ...

  4. Oracle 存储过程4:PL/SQL动态执行DDL语句

  5. Vue非父子組件(爺孫關係)通信Provide&&Inject

    通常,当我们需要从父组件向子组件传递数据时,我们使用 props.想象一下这样的结构:有一些深度嵌套的组件,而深层的子组件只需要父组件的部分内容.在这种情况下,如果仍然将 prop 沿着组件链逐级传递 ...

  6. curl 与 header 及 file_get_countents 访问内容时的区别

    在开发中 想用curl 或者是file_get_contents 模拟请求或者是获取数据时 ,经常会发现获取到的内容与想象中的不一样,主要原因在与这两个走得host要走外网,在内网及测试环境下host ...

  7. adb 工具-原⽣安卓解决WiFi⽹络受限以及修改NTP服务

    安装包下载地址:https://developer.android.google.cn/studio/releases/platform-tools 注: adb kill-server    //结 ...

  8. Godot从编辑器创建自定义场景类型对象

    Godot的编辑器提供了强大的所见即所得功能,并且,我们可以在不从源码编译的情况下,为编辑器提供新的节点类型. 首先,我们创建一个新场景,然后添加一个Node2D,然后为当前节点(Node2D)添加一 ...

  9. 计算机意外地重新启动或遇到错误windows安装无法继续解决方法

    计算机意外地重新启动或遇到错误windows安装无法继续解决步骤如下: 当win10在安装过程中一直卡在"海内存知己,天涯若比邻"时同样实用 解决方法: 按住shift+f10(或 ...

  10. pg数组类型

    数据库版本 postgres=# SELECT version(); version---------------------------------------------------------- ...