关于化合价的题目:Oracle 从9.2.0.1.0升级到9.2.0.8.0并打上安全补丁

来源:百度文库 编辑:中财网 时间:2024/04/29 10:27:36

在windows 2003 server上安装了Oracle 9.2.0.1.0,将其升级到9.2.0.8版本,并打上最新的安全补丁April 2008版。

一、升级oracle(administrator用户权限)

(1)到metalink下载升级压缩包,patch号为4547809,压缩包名称为 p4547809_92080_WINNT.zip,for windows 32bit。

(2)解压缩zip到根目录,下边包含一个Disk1和readme.html文件。安装升级补丁之前,在管理中停掉所有的oracle相关服务,在命令提示符中lsnrctl stop,停掉监听器。

(3)在双击Disk下的setup.exe前,确保环境变量中有ORACLE_HOME变量,并已正确设置。
在CMD窗口中查看:set ORACLE_HOME=d:\oracle\ora92 也可在运行setup.exe后查看已安装产品,如下图

(4)双击setup.exe,自动升级到9.2.0.8,命令提示符提示安装完成后,说明组件已经安装上。

(5)第4步并没有update组件,所以还需要update.此时需要开启Oracle的服务,最好是重起电脑,Oracle默认服务会自启动。

(6)以sysdba登录数据库,执行
C:\...>SQLPLUS /NOLOGSQL> CONN SYSTEM/...@ORCL AS SYSDBASQL> SHUTDOWN IMMEDIATE SQL> STARTUP MIGRATE SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\catpatch.sql

其中ORACLE_BASE\ORACLE_HOME表示你的oracle目录,假设oracle安装目录为d:\oracle\ora92,则第三句应为:
SQL>@d:\oracle\ora92\rdbms\admin\catpatch.sql 其中@表示执行以下脚本。

这个过程持续大概20分钟。

(7)完成后shutdown数据库,然后startup,执行另外一个脚本
SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\utlrp.sql,完成后升级补丁打完!!

(8)重起数据库,登陆后select * from v$version;可以看到oracle升到了9208。

二、oracle打安全补丁

(1)补丁信息:Critical Patch Update Note Release 9.2.0.8 for Microsoft Windows (32-Bit),patch号为6867138。

(2)CPU是过渡性补丁,需要用Oracle的安装工具opatch安装。
安装CPU之前,查看相应的opatch版本应为1.0.0.0.57,9.2.0.1版oracle自带版本为55的,到metalink下载57版本的,压缩包名为p2617419_10102_GENERIC。

(3)在用OPATCH安装安全补丁之前,重启服务器,进入安全模式进行。

(4) 解压p2617419_10102_GENERIC,解压缩后将OPATCH目录覆盖%oracle_home%\opatch

(5)在命令提示符中直接Opatch apply %补丁所在位置%,比如在电脑中补丁在 D:\6867138中,则命令提示符中输入 Opatch apply D:\6867138,自动安装安全补丁。

(6)跑remove_demo.js脚本来移除不稳定的Oracle HTTP Server demos.。

打开CMD窗口在提示符中cd到6867138目录

输入cscript //nologo remove_demo.js

(7)启动oracle服务,cd %ORACLE_HOME%\cpu\CPUApr2008 然后以sysdba登录后执行SQL>@catcpu.sql

以sysdba登陆执行SELECT OBJECT_NAME FROM DBA_OBJECTS WHERE STATUS= 'INVALID';检查,若有数据执行以下语句cd %ORACLE_HOME%\rdbms\admin
sqlplus /nolog  SQL> CONNECT / AS SYSDBA

SQL> @utlrp.sql

(8)重新编译数据库中的视图

cd %ORACLE_HOME%\cpu\view_recompile然后sysdba登录,执行

SQL> @recompile_precheck_jan2008cpu.sql

这个是计算下需要执行的时间等。

shutdown数据库,以migrate方式startup,

SQL>startup migrate

然后SQL> @view_recompile_jan2008cpu.sql 关闭数据库。

重复第7步操作

三、Oracle安全设置

1、针对oracle9i用nessus扫描后出现443端口有高危风险的设置

描述

In a default installation of Oracle 9iAS v.1.0.2.2, it is possible to

deploy or undeploy SOAP services without the need of any kind of credentials.

This is due to SOAP being enabled by default after installation in order to

provide a convenient way to use SOAP samples. However, this feature poses a

threat to HTTP servers with public access since remote attackers can create

soap services and then invoke them remotely. Since SOAP services can

contain arbitrary Java code in Oracle 9iAS this means that an attacker

can execute arbitray code in the remote server.

解决方法

参考文档:http://www.oracle.com/technology/deploy/security/pdf/ias_soap_alert.pdf

修改文件jserv.conf

$ORACLE_HOME/Apache/Jserv/etc/jserv.conf

在版本为9.2.0.8.0中为$ORACLE_HOME/Apache/Jserv/conf/jserv.conf

找到以下四行并将其注释掉

ApJServGroup group2 1 1 $ORACLE_HOME/Apache/Jserv/etc/jservSoap.properties

ApJServMount /soap/servlet ajpv12://localhost:8200/soap

ApJServMount /dms2 ajpv12://localhost:8200/soap

ApJServGroupMount /soap/servlet balance://group2/soap

需重启服务生效

2、针对oracle9i用nessus扫描后出现7778端口有高危风险的设置

描述:

Oracle 9i Application Server uses Apache as its web

server with an Apache module for PL/SQL support.

By default, no authentication is required to access the

DAD configuration page. An attacker may use this flaw

to modify PL/SQL applications or prevent the remote host

from working properly.

解决方法

参考文档: http://www.oracle.com/technology/deploy/security/pdf/ias_modplsql_alert.pdf

修改 apache httpd.conf 文件,加入以下代码:

Order deny,allow

Deny from all

Order allow,deny

Deny from all

Order deny,allow

Deny from all

重启apache服务生效

3、有关监听密码为空的安全设置请参考http://user.qzone.qq.com/5951083/blog/1270798432远程数据库服务是没有密码保护。

描述
远程Oracle侦听器程序(tnslsnr)没有密码分配。攻击者可以利用这个事实,武断地将其关闭,从而防止合法用户使用它。

解决方法

使用lsnrctrl CHANGE_PASSWORD命令分配一个密码。具体操作如下:打开CMD窗口,输入lsnrctl回车,按照以下步骤执行即可解决;LSNRCTL> change_password
Old password:
New password:
Reenter new password:
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
LISTENER的口令已更改
命令执行成功
LSNRCTL> set password
Password:
命令执行成功
LSNRCTL> save_config
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
保存的LISTENER配置参数。
监听器参数文件          d:\oracle\ora92\network\admin\listener.ora
旧的参数文件d:\oracle\ora92\network\admin\listener.bak
命令执行成功