• Oracle 通过sqlnet.ora文件控制对Oracle数据库的访问


    一、通过sqlnet.ora文件控制对Oracle数据库的访问

    出于数据安全考虑,对Oracle数据库的IP做一些限制,只有固定的IP才能访问。
    修改$JAVA_HOME/NETWORK/ADMIN/sqlnet.ora文件
    增加以下内容(红色表示注释):
    #开启ip限制功能
    tcp.validnode_checking=yes
    #允许访问数据库的IP地址列表,多个IP地址使用逗号分开
    tcp.invited_nodes=(192.168.1.110)
    #禁止访问数据库的IP地址列表,多个IP地址使用逗号分开
    tcp.excluded_nodes=(192.168.1.111)
    然后重启监听即可。
    注:
    1、第一行必需写,任何平台都可以,但是只适用于TCP/IP。
    2、第二行和第三行任写一行即可,如果tcp.invited_nodes与tcp.excluded_nodes都存在,以tcp.invited_nodes为主。
    3、不要禁止服务器本机的IP地址,否则通过lsnrctl将不能启动或停止监听,因为该过程监听程序会通过本机的IP访问监听器。

    二、Oracle sqlnet.ora配置

    sqlnet.ora的作用(官网指出的)   

    1.限制客户端访问(如指定客户端域为不允许访问) 

    2.指定命名方法(local naming,directory nameing...)的优先级 

    3.启用日志及跟踪(log and trace)功能 

    4.通过特定进程来路由客户端连接 

    5.配置外部命名(第三方连接程序,如c语言写的)参数 

    6.配置Oracle的高级安全 

    7.使用协议特定的参数限制对数据库的访问 

    sqlnet配置文件的存放位置一般在:$ORACLE_HOME/network/admin目录下 

    常用参数设置 

    1.设置windows下允许使用windows nt本地认证 

    SQLNET.AUTHENTICATION_SERVICES=(nts) 

    2.设置Oracle客户端连接串命名查找顺序 

    NAMES.DIRECTORY_PATH=(tnsnames, onames,ezconnect) 

    允许的值有: 

    1)tnsnames使用客户端的tnsnames.ora解析 

    2)ldap使用目录访问协议解析,需要有目录服务 

    3)ezconnect or hostname,允许使用tcp/ip连接串,包含主机名,端口,服务名 

    4)cds分布式环境的数据库名 

    5)nis (Network Information Service (NIS) external naming method),主要用于外部程序解析 

    6)onames:通过Oracle Name Server解析 

    3.设置客户端连接会话超时时间(单位分钟) 

    定期检测客户端是否还是活动的,设置为0不检测 

    SQLNET.EXPIRE_TIME = 10 

    另外还有: 

    客户端建立连接超时时间(单位秒,默认60) 

    SQLNET.INBOUND_CONNECT_TIMEOUT=10 

    Oracle建议在listener.ora中也进行配置 

    接受超时时间(单位秒) 

    SQLNET.RECV_TIMEOUT=3 

    发送超时时间(单位秒) 

    SQLNET.SEND_TIMEOUT=3 

    4.客户端限制 

    是否进行限制(默认no): 

    TCP.VALIDNODE_CHECKING 

    如:TCP.VALIDNODE_CHECKING=yes 

    限制客户端访问 

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

    如:TCP.EXCLUDED_NODES=(finance.us.acme.com, mktg.us.acme.com, 144.25.5.25) 

    允许客户端访问,会覆盖限制访问 

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

    如:TCP.INVITED_NODES=(sales.us.acme.com, hr.us.acme.com, 144.185.5.73) 

    5.设置立即发送 

    设置等待一段时间或者数据包凑够多大才会一起发送,或者可以让数据立即发送 

    TCP.NODELAY=yes 

    6.设置使用专享连接还是公用链接 

    设置为on会在客户端连接串后加上(SERVER=dedicated) 

    USE_DEDICATED_SERVER=on/off 

    整理自:

    https://www.cnblogs.com/mengxiaohu/p/7727954.html

  • 相关阅读:
    mysql----SELECT names/zh
    Java开源博客My-Blog(SpringBoot+Docker)系列文章
    shell脚本中字符串的常见操作及"command not found"报错处理(附源码)
    运行shell脚本时报错"[[ : not found"解决方法
    使用ajax方法实现form表单的提交
    Spring+SpringMVC+MyBatis整合优化篇
    Spring+SpringMVC+MyBatis整合基础篇
    Spring+SpringMVC+MyBatis整合(easyUI、AdminLte3)
    Java开源博客My-Blog之docker容器组件化修改
    短信发送接口被恶意访问的网络攻击事件(四)完结篇--搭建WAF清理战场
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/11155683.html
Copyright © 2020-2023  润新知