热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

实例讲解Oracle监听口令及监听器安全

很多人都知道,Oracle的监听器一直存在着一个安全隐患,假如不设置安全措施,那么能够访问的用户就可以远程关闭监听器。相关示例:D:lsnrctlstopeygleLSNRCTLfor32-bitWindows:Version10.2.0.3.0

很多人都知道,Oracle的监听器一直存在着一个安全隐患,假如不设置安全措施,那么能够访问的用户就可以远程关闭监听器。 相关示例: D:lsnrctl stop eygle LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 28-11月-2007 10:02:40 Copyright

  很多人都知道,Oracle的监听器一直存在着一个安全隐患,假如不设置安全措施,那么能够访问的用户就可以远程关闭监听器。

  相关示例:

  D:>lsnrctl stop eygle

  LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 28-11月-2007 10:02:40

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

  正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.33.11)(PORT=1521))

  (CONNECT_DATA=(SERVICE_NAME=eygle)))

  命令执行成功

  大家可以发现,此时缺省的监听器的日志还无法记录操作地址:

  No longer listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.33.11)(PORT=1521)))

  28-NOV-2007 09:59:20 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Administrator))(COMMAND=stop)

  (ARGUMENTS=64)(SERVICE=eygle)(VERSION=169870080)) * stop * 0

  为了更好的保证监听器的安全,大家最好为监听设置密码:

  [oracle@jumper log]$ lsnrctl

  LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 28-NOV-2007 10:18:17

  Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.

  Welcome to LSNRCTL, type "help" for information.

  LSNRCTL> set current_listener listener

  Current Listener is listener

  LSNRCTL> change_password

  Old password:

  New password:

  Reenter new password:

  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.33.11)(PORT=1521)))

  Password changed for listener

  The command completed successfully

  LSNRCTL> set password

  Password:

  The command completed successfully

  LSNRCTL> save_config

  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.33.11)(PORT=1521)))

  Saved LISTENER configuration parameters.

  Listener Parameter File /opt/oracle/product/9.2.0/network/admin/listener.ora

  Old Parameter File /opt/oracle/product/9.2.0/network/admin/listener.bak

  The command completed successfully

  在我们设置密码后,远程操作将会因缺失密码而出现失败:

  D:>lsnrctl stop eygle

  LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 28-11月-2007 10:22:57

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

  正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.33.11)

  (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=eygle)))

  TNS-01169: 监听程序尚未识别口令

  注意:此时在服务器端或客户端,,都需要我们通过密码来起停监听器:

  LSNRCTL> set password

  Password:

  The command completed successfully

  LSNRCTL> stop

  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.33.11)(PORT=1521)))

  The command completed successfully

  LSNRCTL> start

  Starting /opt/oracle/product/9.2.0/bin/tnslsnr: please wait...

  TNSLSNR for Linux: Version 9.2.0.4.0 - Production

  System parameter file is /opt/oracle/product/9.2.0/network/admin/listener.ora

  Log messages written to /opt/oracle/product/9.2.0/network/log/listener.log

  Trace information written to /opt/oracle/product/9.2.0/network/trace/listener.trc

  Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.33.11)(PORT=1521)))

  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.33.11)(PORT=1521)))

  STATUS of the LISTENER

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

  Alias LISTENER

  Version TNSLSNR for Linux: Version 9.2.0.4.0 - Production

  Start Date 28-NOV-2007 10:22:23

  Uptime 0 days 0 hr. 0 min. 0 sec

  Trace Level support

  Security ON

  SNMP OFF

  Listener Parameter File /opt/oracle/product/9.2.0/network/admin/listener.ora

  Listener Log File /opt/oracle/product/9.2.0/network/log/listener.log

  Listener Trace File /opt/oracle/product/9.2.0/network/trace/listener.trc

  Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.33.11)(PORT=1521)))

  Services Summary...

  Service "eygle" has 1 instance(s).

  Instance "eygle", status UNKNOWN, has 1 handler(s) for this service...

  Service "julia" has 1 instance(s).

  Instance "eygle", status UNKNOWN, has 1 handler(s) for this service...

  The command completed successfully

  另外,ADMIN_RESTRICTIONS参数也是一个重要的安全选项,大家可以在 listener.ora 文件中设置 ADMIN_RESTRICTIONS_ 为 ON,此后所有在运行时对监听器的修改都将会被阻止,所有对监听器的修改都必须通过手工修改listener.ora文件才能顺利完成。

推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 高端存储技术演进与趋势
    本文探讨了高端存储技术的发展趋势,包括松耦合架构、虚拟化、高性能、高安全性和智能化等方面。同时,分析了全闪存阵列和中端存储集群对高端存储市场的冲击,以及高端存储在不同应用场景中的发展趋势。 ... [详细]
  • 本文介绍了如何查看PHP网站及其源码的方法,包括环境搭建、本地测试、源码查看和在线查找等步骤。 ... [详细]
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 华为捐赠欧拉操作系统,承诺不推商用版
    华为近日宣布将欧拉开源操作系统捐赠给开放原子开源基金会,并承诺不会推出欧拉的商用发行版。此举旨在推动欧拉和鸿蒙操作系统的全场景融合与生态发展。 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • 本文介绍了Spring 2.0引入的TaskExecutor接口及其多种实现,包括同步和异步执行任务的方式。文章详细解释了如何在Spring应用中配置和使用这些线程池实现,以提高应用的性能和可管理性。 ... [详细]
  • 本文详细介绍了如何在PHP中记录和管理行为日志,包括ThinkPHP框架中的日志记录方法、日志的用途、实现原理以及相关配置。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 在将Web服务器和MySQL服务器分离的情况下,是否需要在Web服务器上安装MySQL?如果安装了MySQL,如何解决PHP连接MySQL服务器时出现的连接失败问题? ... [详细]
  • 本文总结了《编程珠玑》第12章关于采样问题的算法描述与改进,并提供了详细的编程实践记录。参考了其他博主的总结,链接为:http://blog.csdn.net/neicole/article/details/8518602。 ... [详细]
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
author-avatar
lingdong369
一个脱离低级趣味的高级动物。
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有