浏览 1555 次
锁定老帖子 主题:oracle listener 的密码
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-02-20
这会存在这个安全隐患:远程的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 > set current_listener listener_oratest <-- 设置当前监听器的配置名称 Old password: <原来的口令> <-- 如果原来没有设置口令就直接回车,否则输入原来的口令 New password: <新口令> Reenter new password: <新口令> Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=XXX)) Password changed for listener_oratest The command completed successfully <--这里设置或者修改了当前运行监听进程的密码,如果监听程序重启,则密码仍然为原来的密码。 <--所以需要执行保存密码的过程 set password Password: <输入新口令> save_config (此步重要,保存当前设置) exit 说明: a.执行save_config 需要再执行一次 set password 提供新密码,是因为在lsnrctl 管理工具中,是通过 set password 命令来设置当前环境的密码。设置了正确的密码后,就可以执行一些重要的操作,如save_config, stop 等。 b 设置密码后,密码记录在listerner.ora 文件 中, 比如:PASSWORDS_listener_oratest = AF15F0B512F2229A 形式为: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 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |