在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登录数据库,执行 SQL> CONN SYSTEM/...@ORCL AS SYSDBA SQL> 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 文件,加入以下代码: <DirectoryMatch \_ pages\> Order deny,allow Deny from all </DirectoryMatch> <Files ~ "^\globals.jsa"> Order allow,deny Deny from all </Files> <DirectoryMatch WEB-INF> Order deny,allow Deny from all </DirectoryMatch> 重启apache服务生效 3、有关监听密码为空的安全设置请参考 远程数据库服务是没有密码保护。 描述 解决方法 使用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 命令执行成功 |
|