• oracle配置访问白名单教程


    出于提高数据安全性等目地,我们可能想要对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不会断开已有会话。

    参考:

    http://www.linuxidc.com/Linux/2014-10/108650.htm

    http://blog.itpub.net/22664653/viewspace-707358/

  • 相关阅读:
    C++ string 类的 find 方法实例详解
    linux系统中errno与error对照表
    tshark (wireshark)笔记
    自己签发免费ssl证书
    Go语言练习:网络编程实例——简易图片上传网站
    java开源工具包-Jodd框架
    数据库性能瓶颈解决方案
    [转载]如何快速学习一门技术
    [转载]IBM公司发布了最新的power7服务器p750 p770 p780
    计算机组成原理 — 指令系统
  • 原文地址:https://www.cnblogs.com/lsdb/p/7729434.html
Copyright © 2020-2023  润新知