数据库安全检查方法
【技术领域】
[0001] 本发明设及信息安全技术领域,特别是设及一种数据库安全检查方法。
【背景技术】
[0002] 信息系统安全是保障系统正常运行的重要要求。新的数据库在安装部署完成后, 需要进行相应的安全检查,使其符合信息安全要求。同时,因信息化产品漏桐的不断更新及 安全要求的提高,对原有数据库也需周期性进行安全检查。据现阶段发明者所在企业的数 据统计,一个数据库的安全检查需要20分钟,而日常运维工作是每个IDC( Internet Data Center,互联网数据中屯、)无法回避的工作之一,同时,信息安全风险越来越严峻,因此安全 检查的要求不断更新,运些都对安全检查工作提出了更高的要求。
[0003] 目前的数据库安全检查一般通过人工逐套系统进行巡检。由于数据库中的数据量 大,所需数据量来源多且非常复杂,该方式耗时较大,效率低,且受人为因素影响而准确性 低。
【发明内容】
[0004] 基于此,有必要针对现有技术效率低、准确性低的问题,提供一种数据库安全检查 方法。
[0005] -种数据库安全检查方法,包括W下步骤:
[0006] 在Excel文档的宏工具中集成Winscp文件传输工具,通过所述Winscp文件传输工 具读取需要进行数据库安全检查的目标主机的配置文件,并根据所述配置文件中的信息将 所述Winscp文件的shell自动检测脚本上传至目标主机;
[0007] 在目标主机上执行所述shell自动检测脚本,通过所述shell自动检测脚本提取所 述数据库的运行数据,根据预设的格式将所述运行数据保存成文本文件,对所述文本文件 中的数据库运行数据进行筛选,得到反映数据库运行的健康状态的运维数据,并根据数据 库的功能从所述运维数据中筛选出执行对应功能所需的参数;
[000引通过Winscp脚本接收目标主机返回的所述参数,将换算和处理后的参数导入 Excel表格中,并根据Excel表格中的参数对数据库的安全性能进行检查。
[0009] 上述数据库安全检查方法,通过Winscp文件传输工具将shell自动检测脚本上传 至目标主机,在目标主机上执行所述Shel 1自动检测脚本提取数据库安全检查所需的参数, 通过Winscp脚本接收目标主机返回的参数,并根据所述参数对数据库的安全性能进行检 查,提高了数据库安全检查的效率和准确性。
【附图说明】
[0010] 图1为一个实施例的数据库安全检查方法流程图;
[0011] 图2为一个实施例的表空间剩余百分比的取数条件流程图;
[0012] 图3为一个实施例的表空间最大可扩展大小的取数条件流程图;
[0013] 图4为一个实施例的表空间剩余大小的取数条件流程图。
【具体实施方式】
[0014] 下面结合附图对本发明的数据库安全检查方法的实施例进行描述。
[0015] 图1为一个实施例的数据库安全检查方法流程图。如图1所示,所述数据库安全检 查方法可包括W下步骤:
[0016] SI,在Excel文档的宏工具中集成Winscp文件传输工具,通过所述Winscp文件传输 工具读取需要进行数据库安全检查的目标主机的配置文件,并根据所述配置文件中的信息 将所述Winscp文件的shell自动检测脚本上传至目标主机;
[0017] 在本步骤中,可W运行在控制主机上,通过远程方式来控制目标主机,所述Winscp 文件传输工具是Windows环境下使用SSH(Secure化ell,安全外壳协议)的开源图形化SFTP (Secure File Transfer Protocol,文件传送协议)客户端。同时支持SCP(Session Control Protocol,会话控制协议)。它的主要功能就是在控制终端与远程计算机间安全的 复制文件。Shell自动检测脚本是用各类命令预先放入到一个文件中,方便一次性执行的程 序文件。可在本地启动Winscp脚本,并通过Winscp脚本并根据S細传输协议将shell脚本传 输到所述数据库的系统中。
[0018] 所述配置文件可包括检查对象主机的IPQnternet Protocol,互联网协议)地址、 账号、密码等信息。通过将所述Shel 1自动检查脚本上传至各目标主机,并执行自动检查脚 本,该步骤使得原本人工逐台登陆的过程自动化。
[0019] 现有技术需要手工去对上百台设备逐个登陆、取数、人工统计数据,而所述数据库 安全检查方法通过将运些重复上百次量(具体次数视IDC规模而定)的过程集成到了自动化 工具中,减少了数据库检查的工作量与重复性工作,且提高了工作效率与人工操作引起的 准确性。
[0020] S2,在目标主机上执行所述she 11自动检测脚本,通过所述she 11自动检测脚本提 取所述数据库的运行数据,根据预设的格式将所述运行数据保存成文本文件,对所述文本 文件中的数据库运行数据进行筛选,得到反映数据库运行的健康状态的运维数据,并根据 数据库的功能从所述运维数据中筛选出执行对应功能所需的参数;
[0021] 在本步骤中,可从数据库的运行数据中提取数据库性能参数、数据库容量参数、运 行异常数据、系统bug数据、操作失误数据等反映数据库运行的健康状态的运行数据,数据 提取的依据可来源于运维经验。数据提取方式可包括后台命令输入逐条查看或从日志文件 中截取关键字段等方式。
[0022] 其中,所述数据库性能参数包括归档个数、归档量、总会话数、活动会话数、服务会 话数、非空闲会话数、并行会话数、当前进程限制比、最大进程限制比、回收站数量、失效索 弓敞、审计表大小、总进程数、ORA进程数(化acle用户产生的进程数)、GRI进程数(GRID用户 产生的进程数,Grid网格技术是一种分布式的概念,相应的Grid用户在化acle中指的是 化acle数据库集群用户)、僵死进程数、总内存、剩余内存和CPU使用率。所述数据库容量参 数包括数据总量、表数据量、LOlKLarge Object,大对象)数据量、ASM(Automatic Storage Management,自动存储管理,是化acle开发的一种文件系统)总量、ASM剩余量、回收站数量、 审计表大小、表空间剩余百分比、表空间最大可扩展大小、表空间剩余大小和告警文件系统 数。所述运行异常数据包括异常JOB数、异常用户数、异常文件数、ASM空间告警数和异常CRS (Oracle Cluster Ready Service ,Oracle集群就绪服务)数。所述系统bug数据包括adump (audit dump,审计信息文件)审计文件数、归档目录大小、失效对象数和监听日志大小。所 述操作失误数据包括ORA错误数。
[0023] 数据提取的清单如表1所示。
[0024] 表1数据提取清单
[0027] 下面对表1中的各项数据做进一步解释。
[0028] (1)数据总量:指的是数据库种所有对象的数据量,单位GB。
[0029] 数据来源:数据库自有的系统表化a_segment;
[0030] 取数条件:可取化a_segment表中bytes字段(为便于描述,W下将XX表中YY字段统 一记为XX. YY),统计总量,即:数据总量=sum(化a_se卵ent. bytes)。
[0031] (2)表数据总量:指的是数据库中对象为'TABLE'的数据量,单位GB。
[0032] 数据来源:数据库自有的系统表化a_segment;
[0033] 取数条件:可取化a_segment表中bytes字段,筛选对象为'TABLE'的结果统计总 量,即条件为:segment_type like 'TABLE'的记录,表数据总量=sum(dba_ segment.bytes)。
[0034] (3化OB数据量:指的是数据库中大字段(ORACLE固有的字段类型,其在数据库系统 表化a_se卵ent中标记为Se卵ent_type= 'L0B')的数据总量,单位GB;
[0035] 数据来源:数据库自有系统表化a_segment;
[0036] 取数条件:可取化a_segment中,筛选对象为'LOB'的结果统计总量,即条件为 Se卵ent_type Uke'LOB' 的记录,取LOB数据量=S皿(化a_se卵ent.bytes)。
[0037] (4)adump审计文件数:指的是审计文件的数量,单位为:个数。
[0038] 数据来源:数据库参数表V$paramete;r,取¥$9日招1116161'中参数名'NAME' =' audit_ f ile_dest/的值,该值即为审计文件存放路径;
[0039] 取数条件:无条件统计该路径下所有文件的数量。
[0040] (5)归档目录大小:指的是文件系统中归档文件所在目录的大小,单位MB。
[0041 ] 数据来源:可通过archive log list;命令得到归档文件相关信息,匹配Archive destination字符串,取该行记录最后一列的值即为归档文件所在目录;
[0042] 取数条件:无条件,统计归档文件所在目录的大小,单位MB。
[0043] (6)0RA错误数:指的是ORA错误的记录数。
[0044] 数据来源:数据库日志;得到该日志的方法:数据库参数表v\$parameter