转自http://www.cublog.cn/u/16889/showart_1097899.html
oracle 的监听机制 是外部应用程序连接oracle的入口。用oracle提供的lsnrctl 程序进行管理。一般很多人在管理oracle的时候,往往忽略对listener 的安全管理:监听在端口1521(默认端口)上的oracle tnslsnr未设置口令保护!
这会存在这个安全隐患:远程的Oracle tnslsnr服务器没有被设置密码,一个攻击者可以利用这个问题随意关闭oracle tnslsnr服务器或者设置新的口令,这将影响合法用户的正常使用。攻击者也可以获取数据库的一些细节信息以发动进一步攻击。结合其他漏洞,攻击者甚至可以在目标系统上创建或者修改文件,进而入侵系统。
这里对关于oracle监听模块密码安全设置的几个方法进行说明:
1. 如何进行远程操作:
在远程机器上修改listerner.ora 文件,增加对异地oracle服务器的配置,例如:
ls_oratest =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))
)
)
这里的HOST = 192.168.1.10 即是指明远程的oracle服务器。如果默认的,oracle服务器上没有设置
listener 的管理密码,则在远程机器上只要执行:
lsnrctl stop ls_oratest
即可停止192.168.1.10 服务器上的监听服务。
2.如何修改密码:
listener的密码策略对start无效,目的是防止恶意stop(start ,如果有在运行,则不成功,所以也就不需要保护了)
修改密码方法如下:
打开命令提示符窗口,输入lsnrctl进入lsnrctl监听器管理窗口:
LSNRCTL> set current_listener listener
目前的监听器为 listener
LSNRCTL> change_password
Old password:<输入旧密码,没有的话直接回车>
New password:<输入新的密码>
Reenter new password:<再次输入新密码>
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.10)(PORT=1521)))
LISTENER的口令已更改
命令执行成功
LSNRCTL> set password
Password:<再输一次新密码>
命令执行成功
LSNRCTL> save_config
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xqing)(PORT=1521)))
保存的LISTENER配置参数。
监听器参数文件 D:\oracle\network\admin\listener.ora
旧的参数文件D:\oracle\network\admin\listener.bak
命令执行成功
LSNRCTL>exit
说明:
a.执行save_config 需要再执行一次 set password 提供新密码,是因为在lsnrctl 管理工具中,是通过 set password 命令来设置当前环境的密码。设置了正确的密码后,就可以执行一些重要的操作,如save_config, stop 等。
b 设置密码后,密码记录在listerner.ora 文件 中,
比如:
#----ADDED BY TNSLSNR 18-2月 -2011 16:16:25---
PASSWORDS_LISTENER = 9EDA43949D6C51A1
#---------------------------------------------
形式为:PASSWORDS_监听名称 = 密码密文。如果忘记密码,可以去掉该行,则密码为空。
c.设置了密码后,远程机器如果需要stop监听的时候,则需要提供密码,否则操作失败。
3.如何管理设置密码后的监听进程:
a.如果是人工交互的操作,则只需在执行操作前面键入两个命令:
lsnrct<
set current_listener listener_oratest <-- 设置当前监听器的配置名称
set password
Password: <输入口令>
stop
b.如果是脚本自动执行,则需要提供密码的密文(由isterner.ora 文件获得)
#!/bin/sh
lsnrctl << eof
set current_listener listener_oratest
set password AF15F0B512F2229A
stop
eof
分享到:
相关推荐
主要介绍了Oracle监听口令及监听器安全的解决方法,需要的朋友可以参考下
Oracle监听程序是Oracle数据库系统的重要组成部分,它负责管理数据库实例与客户端应用之间的网络通信。配置Oracle监听程序是一项关键任务,确保数据库服务能够被正确地访问和使用。以下是一份详细的Oracle监听程序...
本教程主要针对初学者,旨在提供一套完整的Oracle 11g Release 2 (11.2) for Linux x86的安装过程,包括监听器配置、客户端连接以及PL/SQL Developer的配置,帮助学习者快速上手。 一、Oracle 11g安装基础 在开始...
在安装过程中,你将被要求配置Oracle监听器(Listener)和网络服务。监听器负责接收和转发数据库连接请求,而网络服务则确保数据库能被远程访问。默认的监听器配置文件为"listener.ora",网络服务配置文件为...
1. 设置监听器密码:设置监听器密码,防止未经授权的访问。 2. 加密数据:加密数据,防止数据泄露。 六、连续改良 连续改良是 Oracle 数据库安全配置基线的关键组成部分。连续改良基线要求项包括: 1. 加密数据:...
Oracle 安装与配置是数据库管理员的必备技能之一,本文档将详细介绍 Oracle 安装与配置的步骤、监听、数据库创建、数据库的导入导出等方面的知识点。 Oracle 安装 Oracle 安装是指将 Oracle 软件安装到计算机中的...
使用`ps -ef | grep ora`命令列出所有与Oracle相关的进程,然后通过`lsnrctl status`检查监听器的状态。在SQL*Plus中,执行`SELECT status FROM v$instance`来查看数据库实例的状态。 2. **查看数据库版本**: 要...
Oracle监听器(Listener)是Oracle数据库系统中至关重要的组件,它负责管理客户端和数据库服务器之间的网络通信。监听器通过监听特定的网络端口,接收来自客户端的连接请求,并根据配置进行响应。理解监听器的工作...
在安装过程中,我们需要配置数据库的相关信息,例如数据库名称、管理员口令、监听器口令等。例如,我们可以设置管理员口令为 sh0403ORCL。 2.3 启动数据库 安装完成后,我们可以启动数据库,并使用管理员口令登录...
12. 配置完成后,在命令行中输入sqlplus命令,并带上正确的用户名和密码以及之前配置的本地服务名,例如:sqlplus user_name/password@本地服务名,来远程登录到Oracle服务器。 需要注意的是,在尝试连接之前,需要...
7. 最后,配置内容服务器数据库,选择Oracle作为数据库类型,并输入JDBC连接参数,包括数据库主机地址、监听端口、用户名、密码和实例名。 这个过程确保了Oracle UCM能够正确地连接到Oracle数据库,从而实现对内容...
访问Oracle数据库通常通过SQL客户端工具进行,如SQL*Plus或PL/SQL Developer,输入正确的用户名和口令,即可进行SQL查询和其他数据库操作。 总结来说,理解Oracle在Linux上的启动、访问和停止,需要熟悉其内部的...
为了解决这个问题,Oracle提供了一套密码重置的机制。以下详细介绍了Oracle数据库忘记sys与system管理员密码的重置操作方法。 首先,重置密码通常需要操作系统级别的访问权限,因为这涉及到修改操作系统文件。在...
监听程序(Listener)是 Oracle 数据库的一部分,负责监听数据库的连接请求。当用户尝试连接 Oracle 数据库时,监听程序会接收连接请求,并将其转发到相应的数据库实例中。如果监听程序未启动,数据库连接将失败,...
前者是监听服务,允许客户端通过网络连接到数据库;后者是Oracle数据库的主服务。这两个服务必须启动,否则Oracle将无法正常使用。启动服务的具体步骤依据操作系统而定,通常可以通过服务管理工具或命令行进行。 ...
安装成功后,会出现口令管理界面,你需要修改默认的SYSTEM和SYS用户的密码,确保它们符合Oracle的密码策略。 安装完成后,Oracle会注册相关服务到系统中。务必启动两个关键服务:“OracleOraDB12Home1TNSListener”...
系统会提示设置不同级别的用户口令,如普通用户 `scott`(默认密码 `tiger`)、普通管理员 `system`(默认密码 `manager`)以及超级管理员 `sys`(默认密码 `admin`)。安装完成后,务必不要立即进行其他操作,以免...