环境:Windows 2008 R2 + Oracle 10.2.0.3

应用最新bundle patch后,扫描依然报出漏洞 Oracle Database Server 'TNS Listener'远程数据投毒漏洞(CVE-2012-1675)

•1.确定解决方案

•2.应用解决方案

•3.验证修补情况

•4.Reference

1.确定解决方案

安全厂家给出的解决办法:

链接:http://www.oracle.com/technetwork/topics/security/alert-cve-2012-1675-1608180.html

根据此链接得到解决方法:

Solution

Recommendations for protecting against this vulnerability can be found at:

My Oracle Support Note 1340831.1 for Oracle Database deployments that use Oracle Real Application Clusters (RAC).

My Oracle Support Note 1453883.1 for Oracle Database deployments that do not use RAC.

目前这里环境不是RAC,参考文档1453883.1:

Using Class of Secure Transport (COST) to Restrict Instance Registration (文档 ID 1453883.1)

找到两种解决方案:

SOLUTION

There are two methods that can be used to protect the listener using COST "SECURE_REGISTER_listener_name =" in stand alone database installations.

1) Restricting registration to the TCP protocol (Requires the fix for BUG:12880299)

- or -

2) Restricting registration to the IPC protocol (The patch for BUG:12880299 is NOT required for the IPC method)

Either method accomplishes the same goal but it is your choice which type to implement subject to the restriction* noted below. Both methods will be discussed.

•The second method (using IPC) cannot be used if the database is a member of an Oracle Data Guard broker configuration.

我这里选择第一种解决方案:

1) Restricting registration to the TCP protocol (Requires the fix for BUG:12880299)。

2.应用解决方案

2.1 确定现状

监听配置文件:listener.ora

存放路径:cd %ORACLE_HOME%/network/admin

内容(保证安全,所有IP相关信息已二次处理):

# listener.ora Network Configuration File: E:oracleproduct10.2.0db_1NETWORKADMINlistener.ora

# Generated by Oracle configuration tools.

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.138)(PORT = 1521))

)

)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = E:oracleproduct10.2.0db_1)

(PROGRAM = extproc)

(ENVS = "EXTPROC_DLLS=ANY")

)

(SID_DESC =

(GLOBAL = orcl)

(ORACLE_HOME = E:oracleproduct10.2.0db_1)

(SID_NAME = orcl)

)

)

ADR_BASE_LISTENER = E:oracle

数据库监听信息,原始都是空值:

SQL> show parameter local_listener

NAME TYPE VALUE

------------------------------------ ----------- ---------------------------

local_listener string

SQL> show parameter remote_listener;

NAME TYPE VALUE

------------------------------------ ----------- ---------------------------

remote_listener string

SQL>

2.2 尝试应用解决方案

2.2.1 停止监听

lsnrctl stop listener

2.2.2 修改监听配置文件

Add the COST TCP protocol restriction "SECURE_REGISTER_[listener_name] = (TCP)" to the listener.ora.

Match the COST parameter variable listener_name with the name of the listener you are using in the listener.ora, e.g., If your listener name is "LISTENER_PROD" then use SECURE_REGISTER_LISTENER_PROD = (TCP)

实际修改过程:

切换到监听配置文件所在路径:

cd %ORACLE_HOME%/network/admin

直接修改listener.ora文件,在文件的末尾添加一行:

SECURE_REGISTER_LISTENER = (TCP)

2.2.3 启动监听

启动监听:

立即注册动态监听:

SQL> alter system register;

2.2.4 设置local_listener

alter system set local_listener='(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.138)(PORT = 1521)))' scope = both;

show parameter local_listener

2.2.5 查看监听服务信息

lsnrctl services listener

E:oracleproduct10.2.0db_1networkADMIN>lsnrctl services listener

LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 21-9月 -2016 10:2

2:02

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

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

服务摘要..

服务 "PLSExtProc" 包含 1 个例程。

例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

处理程序:

"DEDICATED" 已建立:0 已被拒绝:0

LOCAL SERVER

服务 "orcl" 包含 1 个例程。

例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

处理程序:

"DEDICATED" 已建立:3 已被拒绝:0

LOCAL SERVER

命令执行成功

3.验证修补情况

3.1 注释COST规则验证监听情况

3.1.1 注释掉listener.ora文件的COST规则并重启监听

Comment the COST rule in listener.ora and restart the listener.

直接修改listener.ora文件,在之前添加的一行前面加上"#"注释此行。

#SECURE_REGISTER_LISTENER = (TCP)

重启监听:

lsnrctl stop listener

lsnrctl start listener

3.1.2 设置remote_listener后查看监听服务信息

设置remote_listener:

SQL> alter system set remote_listener='(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.138)(PORT = 1521))' scope=memory;

SQL> show parameter remote_listener

快速动态监听注册:

SQL> alter system register;

查看监听服务信息,发现有“REMOTE SERVER”字样,说明此时漏洞存在:

E:oracleproduct10.2.0db_1networkADMIN>lsnrctl services listener

LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 21-9月 -2016 10:4

4:18

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

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

服务摘要..

服务 "PLSExtProc" 包含 1 个例程。

例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

处理程序:

"DEDICATED" 已建立:0 已被拒绝:0

LOCAL SERVER

服务 "orcl" 包含 2 个例程。

例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

处理程序:

"DEDICATED" 已建立:0 已被拒绝:0

LOCAL SERVER

例程 "orcl", 状态 READY, 包含此服务的 2 个处理程序...

处理程序:

"DEDICATED" 已建立:0 已拒绝:0 状态:ready

LOCAL SERVER

"DEDICATED" 已建立:0 已拒绝:0 状态:ready

REMOTE SERVER

(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

服务 "orclXDB" 包含 1 个例程。

例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...

处理程序:

"D000" 已建立:0 已被拒绝:0 当前: 0 最大: 1002 状态: ready

DISPATCHER

(ADDRESS=(PROTOCOL=tcp)(HOST=INSPUR-IRMS-138)(PORT=52676))

服务 "orcl_XPT" 包含 1 个例程。

例程 "orcl", 状态 READY, 包含此服务的 2 个处理程序...

处理程序:

"DEDICATED" 已建立:0 已拒绝:0 状态:ready

LOCAL SERVER

"DEDICATED" 已建立:0 已拒绝:0 状态:ready

REMOTE SERVER

(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

命令执行成功

3.2 取消注释COST规则验证监听情况

3.2.1 取消注释COST规则重启监听并快速注册,验证监听服务信息

去掉监听文件末尾行前的“#”号:

SECURE_REGISTER_LISTENER = (TCP)

重启监听:

lsnrctl stop listener

lsnrctl start listener

快速注册动态监听:

SQL> alter system register;

验证监听服务信息,按官档描述,正常应该没有“REMOTE SERVER”字样:

E:oracleproduct10.2.0db_1networkADMIN>lsnrctl services listener

LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 21-9月 -2016 11:0

0:23

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

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

服务摘要..

服务 "PLSExtProc" 包含 1 个例程。

例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

处理程序:

"DEDICATED" 已建立:0 已被拒绝:0

LOCAL SERVER

服务 "orcl" 包含 2 个例程。

例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

处理程序:

"DEDICATED" 已建立:1 已被拒绝:0

LOCAL SERVER

例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...

处理程序:

"DEDICATED" 已建立:0 已拒绝:0 状态:blocked

REMOTE SERVER

(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

服务 "orclXDB" 包含 1 个例程。

例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...

处理程序:

"D000" 已建立:0 已被拒绝:0 当前: 0 最大: 1002 状态: ready

DISPATCHER

(ADDRESS=(PROTOCOL=tcp)(HOST=INSPUR-IRMS-138)(PORT=52676))

服务 "orcl_XPT" 包含 1 个例程。

例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...

处理程序:

"DEDICATED" 已建立:0 已拒绝:0 状态:blocked

REMOTE SERVER

(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

命令执行成功

实际发现有“REMOTE SERVER”字样,但是对应的监听都是blocked.

3.2.2 查看监听日志

cd %ORACLE_HOME%/network/log

listener.log日志文件已经有TNS-01194信息,跟官档一致:

21-9月 -2016 11:00:23 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Administrator))(COMMAND=services)(ARGUMENTS=64)(SERVICE=listener)(VERSION=169870080)) * services * 0

21-9月 -2016 11:00:54 * service_register_NSGR * 1194

TNS-01194: 监听程序命令未到达安全传输

21-9月 -2016 11:01:54 * service_register_NSGR * 1194

TNS-01194: 监听程序命令未到达安全传输

21-9月 -2016 11:02:54 * service_register_NSGR * 1194

TNS-01194: 监听程序命令未到达安全传输

3.2.3 还原remote_listener设置

测试完成,还原remote_listener设置

alter system set remote_listener='' scope=memory;

SQL> alter system set remote_listener='' scope=memory;

3.2.4 查看监听服务信息

E:oracleproduct10.2.0db_1networkADMIN>lsnrctl services listener

LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 21-9月 -2016 11:2

2:17

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

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

服务摘要..

服务 "PLSExtProc" 包含 1 个例程。

例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

处理程序:

"DEDICATED" 已建立:0 已被拒绝:0

LOCAL SERVER

服务 "orcl" 包含 1 个例程。

例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

处理程序:

"DEDICATED" 已建立:1 已被拒绝:0

LOCAL SERVER

命令执行成功

4.Reference

•Using Class of Secure Transport (COST) to Restrict Instance Registration (文档 ID 1453883.1)

oracle数据投毒,Oracle Database Server TNS Listener远程数据投毒漏洞(CVE-2012-1675)的完美解决方法...相关推荐

  1. oracle中间人投毒漏洞,Oracle Database Server 'TNS Listener'远程数据投毒漏洞(CVE-2012-1675)的完美解决方法...

    环境:Windows 2008 R2 + Oracle 10.2.0.3 应用最新bundle patch后,扫描依然报出漏洞 Oracle Database Server 'TNS Listener ...

  2. Oracle VM VirtualBox启动新建虚拟机弹错--不能为虚拟机xxxx电脑 打开一个新任务 解决方法;

    Oracle VM VirtualBox启动新建虚拟机弹错--不能为虚拟机xxxx电脑 打开一个新任务 解决方法: 参考文章: (1)Oracle VM VirtualBox启动新建虚拟机弹错--不能 ...

  3. oracle xe 乱码_关于Linux操作系统下终端乱码的完美解决方法

    初入linux的程序员们,经常会受到乱码的问候.可谓"始乱终弃".因为乱码,并且最终放弃了linux的不在少数.好吧,言归正传,先看看各类乱码是怎么形成的. 中文字符乱码 这种情况 ...

  4. oracle用户密码已过期,oracle提示登录密码过期完美解决方法

    oracle 提示登录密码过期解决 1.登录到oracle的 服务器 2.切换到oracle 用户 3.设置到当前操作的实例名:export ORACLE_SID=XXX 4.连接数据库的命令行模式: ...

  5. 【更新1.0:PoC发布】CVE-2020-1350: Windows DNS Server蠕虫级远程代码执行漏洞通告

    0x00 更新概览 2020年07月16日,360CERT监测到 FSecureLabs 发布了 PoC,可造成拒绝服务影响.本次更新标识该漏洞极易可能在短时间内出现大规模攻击态势. 具体更新详情可参 ...

  6. SQL Server 2005“备份集中的数据库备份与现有的数据库不同”解决方法此信息转载自BlueSky's Blog,www.heuupk.com,为尊重无价的知识请保留此版权信息。...

    SQL Server 2005"备份集中的数据库备份与现有的数据库不同"解决方法 以前一直使用SQL Server2000,现在使用SQL Server2005,就在现在的项目中使 ...

  7. mysql+concat函数问题_Mysql5.7中使用group concat函数数据被截断的问题完美解决方法...

    前天在生产环境中遇到一个问题:使用 GROUP_CONCAT函数select出来的数据被截断了,最长长度不超过1024字节,开始还以为是navicat客户端自身对字段长度做了限制的问题.后面故意重新I ...

  8. 关于Oracle的ORA 12505错误 ORA-12505, TNS:listener does not currently know of SID given in connect descrip

    报错是这样的:ORA-12505, TNS:listener does not currently know of SID given in connect descriptor 一直用的好好的,突然 ...

  9. mstsc 加密oracle修正,mstsc远程报:这可能是由于CredSSP 加密Oracle修正的两种完美解决方法...

    win10很完美,用的也很舒服!当然人无完人,也总有不尽如人意的时候.比如说我们经常用的远程mstsc,就出现了一个坑,既然出现坑了,我们就得把坑解决掉吧!下面就记录一下这个坑的解决方法. 查看微软C ...

  10. server数据库标记为可疑 sql_sqlserver2008数据库被标记为可疑的解决方法.docx

    sqlserver2008数据库被标记为可疑的解决方法.docx SQL Server 2008数据库被标记为可疑 的解决方法 2011-08-23 16:36 佚名 火魔网 字号:T | T 本文我 ...

最新文章

  1. eclipse 导入myeclipse web项目
  2. SAAS平台的基本元素
  3. Android Studio修改debug.keystore
  4. vb.net 设置打印纸张与页边距_装订文档时不想让文字被挡住?在Excel中你可以这样设置打印!...
  5. AgileConfig - RESTful API 介绍
  6. 浅谈大前端的代表技术及其影响,值得我们思考
  7. 比例化简 详解(C++)
  8. easyui及eova下select:option、find无法直接取值的解决办法
  9. SPSS基础教程:SPSS菜单命令详解(二)
  10. 解决微信网页授权:出现errcode:40163
  11. idea properties中文乱码uncode转中文
  12. 萌新易懂ubuntu16.04安装搜狗拼音
  13. 看云上 ClickHouse 如何做计算存储分离
  14. ExpandableListView购物车—+okhttp封装
  15. PathMeasure 轨迹动画神器 路径动画
  16. 利用百度(或者360搜索等)的快照解决公司网络限制
  17. 买电脑时,i5和i7处理器有什么区别?
  18. Java毕业设计-外卖点餐管理系统
  19. BT、VeryCD倒下了,但是后继有种
  20. YOLOv5/v7 更换骨干网络之 PP-LCNet

热门文章

  1. html明月几时有古诗,古诗词赏析|苏轼《水调歌头·明月几时有》
  2. 第一天 Java基础入门【悟空教程】
  3. php shopnc.dll,shopnc开发手册-ZX版.doc
  4. 水平放滑轮组计算机械效率,初中物理中考常用公式-总结-2
  5. InnoDB下SQL执行底层原理和redolog、binlog
  6. 宣纸一笔,思重于行——聊一聊思考的价值
  7. 2023秋招大厂经典面试题及答案整理归纳(101-120)校招必看
  8. 触动-20181130
  9. AUTOMATE THE BORING STUFF WITH PYTHON读书笔记 - 第4章:LISTS
  10. java中交换机的作用_交换机链路聚合在网络中的作用