Topic: 限制某些IP地址访问Oracle

  Print this page

1.限制某些IP地址访问Oracle Copy to clipboard
Posted by: jeremy
Posted on: 2003-09-19 15:18

昨天数据库被一个新来的家伙联入,把一些存储过程更新为旧版本的了,好痛苦!Sad 好在有备份!

由于历史原因,SYSTEM的密码大家都知道,觉得这样实在是比较危险,说不定那天把数据全删除了!咳,还是先限制某些IP地址的机器访问数据库。

服务器有没有防火墙,只能用下面的法子了。

1、确认已安装 Oracle Connection Manager,如果没有就安装吧!

2、修改Init.ora文件,将 mts_dispatchers 部分修改如下:
  mts_dispatchers="(protocol=tcp) (multiplex=on)"

3、修改%ORACLE_HOME%\network\admin\cman.ora文件,如果没有就到%ORACLE_HOME%\network\admin\sample目录下拷贝一个过来。
主要是修改 CMAN_RULES 部分

  CMAN_RULES = (RULE_LIST=
    (RULE=(SRC=rd_01)(DST=rdserver)(SRV=passxz)(ACT=accept))
    (RULE=(SRC=rd_02)(DST=rdserver)(SRV=passxz)(ACT=accept))
    (RULE=(SRC=ts_03)(DST=rdserver)(SRV=passxz)(ACT=reject))
   )

SRC:为客户机的IP地址
DST:为服务器的IP地址
SRV:为数据库的SID
ACT:为accept表示接收客户机的联入,reject为拒绝客户机的联入

这样配置确保只有rd_01和rd_02能够连接rdserver上的passxz数据库。

4、重新启动Oracle数据库和OracleOraHome81CMan 服务。

5、修改客户机的 tnsnames.ora 文件,增加Connection Manager描述,如下所示,增加了红色部分:
原来的配置
XZ =
(DESCRIPTION =(source_route=yes)(address=(protocol=tcp)(host=rdserver)(port=1630))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rdserver)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = xz)
)
)

修改后的配置
XZ =
(DESCRIPTION =(source_route=yes)(address=(protocol=tcp)(host=rdserver)(port=1630))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rdserver)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = xz)
)
)

6、配置完成,应该可以达到预期目标。

觉得还不妥,顺便增加一个Trigger。

create or replace trigger T_DB_EVENT
before ddl ON database
begin
raise_application_error(-20999,'DO NOT DO THAT!');
end T_DB_EVENT;
/
这样可以骗过一些半知不解的家伙。

2.Re:限制某些IP地址访问Oracle [Re: jeremy] Copy to clipboard
Posted by: jeremy
Posted on: 2003-09-22 16:32

今天被人投诉说,数据库查询慢了很多。

发现在客户端的tnsname.ora中还要增加一些设置(红色部分):

XZ =
(DESCRIPTION =(source_route=yes)(address=(protocol=tcp)(host=rdserver)(port=1630))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rdserver)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = xz)
(SERVER=dedicated)
)
)

3.Re:限制某些IP地址访问Oracle [Re: jeremy] Copy to clipboard
Posted by: jackzhuo
Posted on: 2003-09-22 18:11

如果我在客户端使用的是JDBC,那应当怎么做?


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923