zoukankan      html  css  js  c++  java
  • 监听投毒现象和解决办法


    监听配置文件未改动,,只有1522能用1521配置没问题不能用
     

    sqlnet.log报错

     VERSION INFORMATION:
        TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
        Windows NT TCP/IP NT Protocol Adapter for 64-bit Windows: Version 11.2.0.1.0 - Production
      Time: 23-4月 -2020 14:33:32
      Tracing not turned on.
      Tns error struct:
        ns main err code: 12564
        TNS-12564: TNS: 拒绝连接
        ns secondary err code: 0
        nt main err code: 0
        nt secondary err code: 0
        nt OS err code: 0



    服务用的orcl初始服务,客户说只手动添加了1522的就可以用


    ID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = C:apphbydidcproduct11.2.0dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:C:apphbydidcproduct11.2.0dbhome_1inoraclr11.dll")
        )
        (SID_DESC =
          (GLOBAL_DBNAME = orcl)
          (ORACLE_HOME = C:apphbydidcproduct11.2.0dbhome_1)
          (SID_NAME = orcl)
        )
      )

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = *******)(PORT = 1521))
        )
       (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = *******))(PORT = 1522))
        )
      )

     
    C:UsersAdministrator>lsnrctl status

    LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 24-4月 -2020 15:5
    3:57

    Copyright (c) 1991, 2010, Oracle.  All rights reserved.

    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
    ction
    启动日期                  23-4月 -2020 17:52:19
    正常运行时间              0 天 22 小时 1 分 38 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          C:apphbydidcproduct11.2.0dbhome_1 etworkadminl
    istener.ora
    监听程序日志文件          c:apphbydidcdiag nslsnrWINDOWS-MN9JOQGlistenera
    lertlog.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WINDOWS-MN9JOQG)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=*******))(PORT=1522)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=*******))(PORT=1521)))
    服务摘要..
    服务 "CLRExtProc" 包含 1 个实例。
      实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    服务 "ORCLXDB" 包含 2 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "orcl" 包含 3 个实例。
      实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    命令执行成功




    LSNRCTL> services
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    服务摘要..
    服务 "CLRExtProc" 包含 1 个实例。
      实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
        处理程序:
          "DEDICATED" 已建立:0 已被拒绝:0
             LOCAL SERVER
    服务 "ORCLXDB" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
        处理程序:
          "D000" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready
             DISPATCHER <machine: IDCSERVER1, pid: 3828>
             (ADDRESS=(PROTOCOL=tcp)(HOST=IDCSERVER1)(PORT=49168))
    服务 "orcl" 包含 2 个实例。
      实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
        处理程序:
          "DEDICATED" 已建立:1 已被拒绝:0
             LOCAL SERVER
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...---<<<<<<<<<<<<< 服务中有动态注册的orcl服务
        处理程序:
          "DEDICATED" 已建立:7 已拒绝:0 状态:ready
             REMOTE SERVER
             (ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))
    命令执行成功
    LSNRCTL> services
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=orcl)))
    服务摘要..
    服务 "ORCLXDB" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
        处理程序:
          "D000" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready
             DISPATCHER <machine: IDCSERVER1, pid: 3828>
             (ADDRESS=(PROTOCOL=tcp)(HOST=IDCSERVER1)(PORT=49168))
    服务 "orcl" 包含 2 个实例。
      实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
        处理程序:
          "DEDICATED" 已建立:2 已被拒绝:0
             LOCAL SERVER
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...       <<<<<<<<<<<<<<<<<<<<<<<
        处理程序:
          "DEDICATED" 已建立:0 已拒绝:0 状态:ready
             REMOTE SERVER                                        <<<<<<<<<<<<<<<<<<<<<<  有远程注册过来的orcl 不正常
             (ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))

    这是监听投毒

    暂时解决方法,新添加了一个服务,myorcl,并且静态注册,可以正常使用,  local_listener设置成别的地方,不让动态注册 '127.0.0.0:1524'




    LSNRCTL> status
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
    启动日期                  26-4月 -2020 15:38:56
    正常运行时间              0 天 22 小时 59 分 34 秒
    跟踪级别                  off
    安全性                    ON: Password
    SNMP                      OFF
    监听程序参数文件          C:apphbydidcproduct11.2.0dbhome_1 etworkadminlistener.ora
    监听程序日志文件          c:apphbydidcdiag nslsnrWINDOWS-MN9JOQGlisteneralertlog.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=*******))(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=*******))(PORT=1522)))
    服务摘要..
    服务 "CLRExtProc" 包含 1 个实例。
      实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    服务 "ORCLXDB" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "myorcl" 包含 1 个实例。
      实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    服务 "orcl" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    命令执行成功



    SID_NAME,KEY 的值修改为要访问的oracle实例的名称,HOST 修为 oracle 服务器使用的地址



    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = C:apphbydidcproduct11.2.0dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:C:apphbydidcproduct11.2.0dbhome_1inoraclr11.dll")
        )
        (SID_DESC =
          (GLOBAL_DBNAME = myorcl)
          (ORACLE_HOME = C:apphbydidcproduct11.2.0dbhome_1)
          (SID_NAME = orcl)
        )
      )

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = *******))(PORT = 1521))
        )
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = *******))(PORT = 1522))
        )
      )

    ADR_BASE_LISTENER = C:apphbydidc


    #----ADDED BY TNSLSNR 24-4月 -2020 16:51:25---
    PASSWORDS_LISTENER = 6EB4D57DED041889
    #---------------------------------------------

    ADMIN_RESTRICTIONS_LISTENER=ON
    LOCAL_OS_AUTHENTICATION_LISTENER=OFF








    SQL> show parameter service

    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    service_names                        string      orcl
    SQL> show parameter local

    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    local_listener                       string
    log_archive_local_first              boolean     TRUE
    parallel_force_local                 boolean     FALSE



    LSNRCTL> status
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=WINDOWS-MN9JOQG)(PORT=1521)))
    TNS-12541: TNS: 无监听程序
     TNS-12560: TNS: 协议适配器错误
      TNS-00511: 无监听程序
       64-bit Windows Error: 61: Unknown error
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
    启动日期                  26-4月 -2020 15:38:56
    正常运行时间              0 天 23 小时 23 分 34 秒
    跟踪级别                  off
    安全性                    ON: Password
    SNMP                      OFF
    监听程序参数文件          C:apphbydidcproduct11.2.0dbhome_1 etworkadminlistener.ora
    监听程序日志文件          c:apphbydidcdiag nslsnrWINDOWS-MN9JOQGlisteneralertlog.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=*******))(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=*******))(PORT=1522)))
    服务摘要..
    服务 "CLRExtProc" 包含 1 个实例。
      实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    服务 "ORCLXDB" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "myorcl" 包含 1 个实例。
      实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    服务 "orcl" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    命令执行成功

    C:Userso>sqlplus *****/*******@*******:1521/orcl

    SQL*Plus: Release 11.2.0.1.0 Production on 星期一 4月 27 14:54:24 2020

    Copyright (c) 1982, 2010, Oracle.  All rights reserved.

    ERROR:
    ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务


    请输入用户名:
    C:Userso>sqlplus *****/*******@*******:1521/myorcl

    SQL*Plus: Release 11.2.0.1.0 Production on 星期一 4月 27 14:54:31 2020

    Copyright (c) 1982, 2010, Oracle.  All rights reserved.


    连接到:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options

    SQL> exit
    从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options 断




    C:UsersAdministrator>netca

    Oracle Net Services 配置:
    正在配置监听程序:LISTENER
    ServiceAliasException: 无法保存服务别名: TNS-04406: 对象已经存在
    默认本地命名配置完成。
    监听程序配置完成。
    Oracle Net 监听程序启动:
        正在运行监听程序控制:
          C:apphbydidcproduct11.2.0dbhome_1inlsnrctl start LISTENER
        监听程序控制完成。
        正在设置监听程序服务以便自动启动。
        监听程序已成功启动。
    成功完成 Oracle Net Services 配置。退出代码是0


    C:UsersAdministrator>lsnrctl status

    LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 27-4月 -2020 15:18:49

    Copyright (c) 1991, 2010, Oracle.  All rights reserved.

    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=WINDOWS-MN9JOQG)(PORT=1521)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
    启动日期                  27-4月 -2020 15:17:20
    正常运行时间              0 天 0 小时 1 分 33 秒
    跟踪级别                  off
    安全性                    OFF
    SNMP                      OFF
    监听程序参数文件          C:apphbydidcproduct11.2.0dbhome_1 etworkadminlistener.ora
    监听程序日志文件          c:apphbydidcdiag nslsnrWINDOWS-MN9JOQGlisteneralertlog.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WINDOWS-MN9JOQG)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=******)(PORT=1521)))
    服务摘要..
    服务 "CLRExtProc" 包含 1 个实例。
      实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 2 个处理程序...
    服务 "ORCLXDB" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "orcl" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    命令执行成功



    重新配置后仍然无法识别
    C:Userso>sqlplus *****/*******@*******:1521/orcl

    SQL*Plus: Release 11.2.0.1.0 Production on 星期一 4月 27 15:12:50 2020

    Copyright (c) 1982, 2010, Oracle.  All rights reserved.

    ERROR:
    ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务


    请输入用户名:  exit
    输入口令:
    ERROR:
    ORA-01005: 给出空口令; 登录被拒绝


    C:UsersAdministrator> 监听日志摘取的服务注册时间,11G默认每隔1分钟左右自动注册一次


    27-4月 -2020 17:12:19 * service_register * orcl * 0
    27-4月 -2020 17:12:40 * service_update * orcl * 0
       
    27-4月 -2020 17:13:38 * service_update * orcl * 0
    27-4月 -2020 17:13:41 * service_update * orcl * 0


    27-4月 -2020 17:14:41 * service_update * orcl * 0
    27-4月 -2020 17:14:47 * ping * 0


    27-4月 -2020 17:15:29 * service_update * orcl * 0
    27-4月 -2020 17:15:33 * service_update * orcl * 0
    27-4月 -2020 17:15:42 * service_update * orcl * 0


    27-4月 -2020 17:13:21 * (CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=C:apphbydidcproduct11.2.0dbhome_1perlinperl.exe)(HOST=WINDOWS-MN9JOQG)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.126.133.17)(PORT=52095)) * establish * ORCL * 0
     
    解决办法:
    如果是11.2.0.4之前版本,特别是在rac环境中,如果要整改该问题相对比较麻烦,需要通过配置Oracle wallet来实现,配置比较复杂,而且还要重启实例,影响比较大,具体参考:Using Class of Secure Transport (COST) to Restrict Instance Registration in Oracle RAC (Doc ID 1340831.1)
    单机环境需要打补丁12880299
    从11.2.0.4开始Oracle引入了Valid Node Checking For Registration (VNCR)新特性,可以通过简单的配置即可完成该漏洞修复
     

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





    流年笑掷 未来可期
  • 相关阅读:
    Caused by: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。
    jauery加入项目中,但是在页面中显示没有找到这个文件--springMVC框架
    SpringMVC中Controller和RestController
    firefox与chrome中对select下拉框中的option支持问题
    Spring与jsp表达式的产生的问题
    javaScript基础练习题-下拉框制作(神奇的代码)
    javaScript基础练习题-下拉框制作(JQuery)
    云,git,blog,感想
    javaScript基础练习题-下拉框制作(CSS)
    javaScript基础练习题-下拉框制作
  • 原文地址:https://www.cnblogs.com/nadian-li/p/12849473.html
Copyright © 2011-2022 走看看