开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

[转]Oracle修改监听口令

简介:
+关注继续查看
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 >
       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
  补充一下:以后如果进入的lsnrctl进行操作时,需要先set password 密码,以便连接到监听。
 



    本文转自风车车  博客园博客,原文链接:http://www.cnblogs.com/xray2005/archive/2010/01/28/1658399.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Oracle 数据库性能优化3日实战(企业培训)
课程名称一: Oracle性能优化及调整 课程时长 1天 课程深度: 高级 上机实验: 10%-30% 授课对象: Oracle开发人员、Oracle数据库管理人员,应用程序开发人员 课程描述: 本课程讲述Oracle数据库物理层规划,系统性能的监控,数据库性能参数调整,统计信息的收集,使用自动化调试工具优化数据库,I/O子系统的配置与设计以及性能优化方法论等。
1890 0
Java中通过JDBC远程连接Oracle数据库
通过jdbc连接数据库,拢共分三步: 第一步:下载一个JDBC的驱动,然后把jar包扔到项目里并add to build path; 第二步:去本地oracle文件夹下找到“TNSNAMES.ORA”文件,打开找到对应数据库的连接字符串,作为jdbc的连接字符串; 第三步:写代码,通过jdbc连接数据库。
1904 0
oracle 12c 数据库上编写SQL语句时卡顿的问题解决
开发环境的一个用户数据测试库,是12.1.0.2的数据库。 使用pl/sql developer连接后,编写sql语句,例如: Select a.Id, a.门诊号 From 病人挂号记录 A Where NO = 'Q0000453' 输入字段时,输完a,再输点之后,大约要5秒才弹出字段选择,选择了字段之后,按回车,大约需要8秒才能继续进行输入。
1493 0
RHEL6 64位系统安装ORACLE 10g 64bit 数据库
RHEL6 64位系统安装ORACLE 10g 64bit 数据库 2013-08-10 22:12 by 潇湘隐者, 9673 阅读, 2 评论, 收藏, 编辑    记得去年4月份的时候,为公司部署测试环境和UAT环境时,在红帽RHEL6 64位系统安装ORACLE 10g 64位数据库时遇到了许多小问题,当时匆匆忙忙也没记录一下这些问题,前几天在虚拟机安装ORACLE 64位 10g时,又有一些常见问题又遇到了,顺便整理一下这篇文章。
1118 0
【DBCA -SILENT】静默方式安装11gR2 oracle数据库软件
【DBCA -SILENT】静默方式安装11gR2数据库软件单实例 BLOG文档结构图         相关文章链接:     DBCA静默方式建库 :http://blog.
1250 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
ORACLE 10g 数据库体系结构图
立即下载
PostgresChina2018_刘成伟_oracle到Postgres数据库迁移工具
立即下载
Oracle 至PostgreSQL案例分享
立即下载