你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / 数据库开发
oracle基础(5)
 

那么,ananda 怎样才能连接数据库呢? 有两种方法。 一个方法是,使所有用户进程在数据库服务器本身之外的服务器上运行,如此就不会存在到数据库的 bequeath 连接,只有非 LOCAL 连接。 因为非 LOCAL 连接经过监听程序进程,监听程序为其衍生了服务器进程,所以服务器进程的所有者是“orasoft”(Oracle 软件所有者),而不是运行客户端进程的用户。 没有需要发布的权限。

或者,如果必须在数据库服务器本身上运行某些用户进程,您可以使用以下命令通过监听程序连接

$ sqlplus arup/arup@dba102

这与从服务器外部连接的用户具有同样的效果。 现在,只有拥有 Oracle 软件的用户(本例为 orasoft)可以通过 bequeath 连接来连接到数据库

具有单独的操作系统 ID 的 DBA 将不能使用命令 connect / as sysdba 来关闭或启动数据库,即使他们属于 dba 组。 他们可以通过以下命令执行该操作

$ sqlplus /nolog
SQL> connect sys/Password_of_SYS@dba102 as sysdba

是的,该方法使用了 SYS 密码;但是无论如何,与 / as sysdba 相比,该方法要好些。 但是,一种更好的方法是为各个 DBA 创建 Oracle 用户 ID:

connect ANANDA/Password_of_ANANDA@dba102 as sysdba

黑客惯用的伎俩是使用任意帐户登录服务器,然后尝试强行进入数据库。 (典型的“松散门户”是用户“nobody”。) 即使黑客没有进入数据库,他也可以通过 oracle 可执行文件的缓冲区溢出创建拒绝服务攻击。 如果删除了执行该文件的功能,那么该攻击的效果将受到严格限制。 同时,正如所见,您没有删除合法用户的任何功能。 总之,大多数用户使用监听程序连接到数据库,而且并不会受到太大影响。

操作计划
准备
查看系统上是否有任何用户构建了 bequeath 连接。 为此,您可以执行以下操作:
  1. 通过询问
  2. 在服务器上搜索进程,查看是否有象 SQL*Plus 一样明显的内容
  3. 查看 V$SESSION 的 MACHINE 列
    select program
    from v$session
    where machine = '<machine_name>';
    

    如果出现一些这样的内容,您可以通过打开审计(在后续阶段将学习该功能)并捕获来自该服务器的所有程序来识别运行的确切程序。

操作
IF 没有程序连接到服务器,THEN
  更改 oracle 可执行文件的权限
chmod 0700 $ORACLE_HOME/oracle
ELSIF 某些程序从服务器进行连接
  将连接从 UserID/Password 更改为 UserID/Password@Connect_String
END IF
IF 您频繁从 shell 脚本作为 sqlplus / as sysdba 进行连接 THEN
  将其更改为使用 DBAUser/Password@Connect_String
END IF
(编辑:anna sui)
  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089