检查列表
oracle版本信息
A.操作说明:
检查当前所有已安装的数据库产品的版本信息:
oracle7 至 8.0:
cd $ORACLE_HOME/orainst
./inspdver
oracle 8i 或更高:
cd $ORACLE_HOME/install
cat unix.rgs
B.输出结果:
检查数据库补丁安装情况
A.操作说明:
1)oracle数据库用户登陆
2)运行命令 sqlplus /nolog
3)sql> connect /as sysdba
4)sql> Select * FROM V$VERSION;
B.输出结果:
oracle 9i enterprise edition release 9.2.0.1.0-64bit production
检查Oracle数据库各组件安装情况
A.操作说明:
1)通过opatch查看数据库各组件版本:
opatch是Oracle 10g的自带工具,10g以下版本需要到http://metalink.oracle.com/网站,单独下载并安装后才能执行此命令,因此不能保证所有oracle服务器上都可以运行此命令。
opatch lsinventory
2)在Windows主机查看数据库各组件版本:
在Windows下,所示,点击“开始/程序/Oracle Installation Products / Universal Installer”,启动“Universal Installer”。点击“已安装产品…”按钮,列出已经安装的产品的详细目录。在界面中选择“另存为…”保存一个文本文件。
3)在Unix的主机查看数据库各组件版本:
在Xwin的终端窗口下,以oracle用户执行下列命令之一:
$ runInstaller
$ $ORACLE_HOME/bin/runInstaller
$ /opt/oracle/product/9.2.0/bin/runInstaller
点击“Installed Products…”按钮,列出已经安装的产品的详细目录。在界面中点击“Save As…”,保存一个文本文件。
B.输出结果:
数据库初始配置信息(init.ora)
包括:Oracle审计设置、轨迹文件、SQL92安全、数据字典
A.操作说明:
cd $ORACLE_HOME/dbs
cat init.ora
B.输出结果:
数据库监听器配置信息(listener.ora,服务器端配置)
包括:TNS监听器口令、监听器管理限制、监听器审计设置、无用的监听器服务、监听器端口。
A.操作说明:
cd $ORACLE_HOME/network/admin
cat listener.ora
B.输出结果:
数据库网络实例配置信息(tnsnames.ora,客户端配置)
A.操作说明:
cd $ORACLE_HOME/network/admin
cat tnsnames.ora
B.输出结果:
Sqlnet配置信息(sqlnet.ora)
包括:认证方式、加密方式、IP连接限制
A.操作说明:
cd $ORACLE_HOME/network/admin
cat tnsnames.ora
B.输出结果:
数据库运行状态
A.操作说明:
1)oracle数据库用户登陆
2)运行命令 sqlplus /nolog
3)sql> connect /as sysdba
4)sql> archive log list;
B.输出结果:
查口令配置策略
包括:最大失败登录次数、口令有效周期、口令历史记录保留时间、口令历史记录保留次数、口令复杂度校验函数、口令过期后帐号被锁定的时间、口令过期后还允许登录系统时间。
A.操作说明:
1)oracle数据库用户登陆
2)运行命令 sqlplus /nolog
3)sql> connect /as sysdba
4)sql> select profile, resource_name, limit from dba_profiles where resource_type='PASSWORD';
B.输出结果:
检查帐号状态及口令更改情况
包括帐户创建记录、不必要的帐号、缺省帐号和口令、空口令、不活跃帐号、缺省表空间等
A.操作说明:
1)oracle数据库用户登陆
2)运行命令 sqlplus /nolog
3)sql> connect /as sysdba;
4)sql>select a.name,a.ctime,a.ptime,b.account_status,b.profile,b.default_tablespace,b.password from user$ a,dba_users b where a. name=b.username;
B.输出结果:
取那些从多个终端登录系统的帐号(共享帐号)
A.操作说明:
1)oracle数据库用户登陆
2)运行命令 sqlplus /nolog
3)sql> connect /as sysdba;
4)sql> select count(distinct(terminal)) Count, username from dba_audit_session having count(distinct(terminal))>1 group by username;
B.输出结果:
获取被赋予管理权限的用户清单
A.操作说明:
1)oracle数据库用户登陆
2)运行命令 sqlplus /nolog
3)sql> connect /as sysdba
4)sql> select grantee, privilege from dba_sys_privs where grantee not in ('SYS', 'SYSTEM', 'DBA') and admin_option='YES';
B.输出结果:
被赋予管理角色的用户清单
A.操作说明:
1)oracle数据库用户登陆
2)运行命令 sqlplus /nolog
3)sql> connect /as sysdba
4)sql> select grantee, granted_role from dba_role_privs where grantee not in ('SYS', 'SYSTEM', 'DBA') and admin_option='YES';
B.输出结果:
检查Oracle审计设置,以及特权审计项
A.操作说明:
1)oracle数据库用户登陆
2)运行命令 sqlplus /nolog
3)sql> connect /as sysdba
4)sql> select name, value from v$parameter where name like 'audit%';
5)sql> select * from dbaServer:Microsoft-IIS/5.0Date:Fri,21Nov200808:50:16GMTX-Powered-By:ASP.NET_priv_audit_opts;
6)sql> select * from dba_stmt_audit_opts;
B.输出结果:
检查数据库联接设置
A.操作说明:
1)oracle数据库用户登陆
2)运行命令 sqlplus /nolog
3)sql> connect /as sysdba
4)sql> select * from all_db_links;
B.输出结果:
查找授权PUBLIC用户组执行权限的包
A.操作说明:
1)oracle数据库用户登陆
2)运行命令 sqlplus /nolog
3)sql> connect /as sysdba
4)sql> select table_name from dba_tab_privs where grantee='PUBLIC' and privilege='EXECUTE' and table_name in ('UTL_FILE', 'UTL_TCP', 'UTL_HTTP', 'UTL_SMTP', 'DBMS_LOB', 'DBMS_SYS_SQL', 'DBMS_JOB');
B.输出结果:
检查数据库调试和开发环境是否分开
A.操作说明:
与数据库管理员进行沟通,确认是否采取检查数据库调试和开发环境是否分开。如果直接在提供正式数据服务的实例内部对进行各种调试和开发,有可能会影响系统的性能,甚至会使整个系统崩溃。用户可以通过创建一个新的测试环境,在新的环境内进行调试和开发,每个实例都有自己的运行平台,调试工作不会干扰正常的数据库服务。
B.输出结果:
检查数据库配置文件权限
A.操作说明:
1)通过从系统管理员那里获取所有Oracle相关文件的清单。
2)与系统管理员和数据库管理员审核这些文件的清单,确定它们的权限设置是否适当