数据库安全控制系统和方法与流程

文档序号:12670178阅读:来源:国知局

技术特征:

1.一种数据库安全控制系统,其特征在于,包括:用于确定审计所涉及数据库、对象、任务的审计定义模块,用于根据审计定义模块的设定确定审计目标并对审计目标进行审计的审计操作模块,用于根据审计操作模块的审计结果进行报警和/或终止进程的审计预警模块;

其中所述审计定义模块包括:范围定义子模块、用户定义子模块、任务定义子模块;其中,范围定义单元用于预先设定需要审计的数据库,即用户操作的数据库的数据库名dbname;用户定义单元用于预先设定被审计的用户,即被审计用户的用户名username和地址addr;任务定义单元用于预先设定待审计的任务以及待审计的内容;

其中所述审计操作模块包括用于根据审计定义模块的设定确定审计目标的审计判断单元、用于根据审计判断单元确定的审计任务及涉及内容对审计目标进行审计的后台操作单元;

其中审计判断单元用于根据所述审计定义模块确定的用户操作的数据库的数据库名dbname、用户名username和地址addr,并监控该用户的每一任务;如果用户的任务为审计定义模块确定的待审计的任务,则将待审计的任务以及待审计的内容确定为审计目标;在本发明的一个实施例中该审计判断单元可以通过pgluq_check_log()方法实现;

其中审计操作模块用于对审计判断单元确定的审计目标进行相应的审计并生成审计记录;后台操作单元是系统的核心内容,在本发明的一个实施例中可以通过log_prefix()、write_syslog()、pgluq_log()三个函数实现:

log_prefix()函数用于在确定审计目标后,对审计目标对应的用户的系统日志进行格式化;

write_syslog()函数用于在该用户的系统日志进行格式化后,判断用户的系统日志是否正确打开,如果是则将审计信息写入所述系统日志中以生成审计记录,如果否则将审计信息写入错误日志中以生成审计记录;且所述write_syslog()函数还用于对每一日志信息生成顺序编码并随每一日志信息进行存储;且当日志信息过长或是嵌入了其他信息时,将日志信息分为多段进行存储;

pgluq_log()函数用于接收审计目标的每一操作信息,并将每一操作信息写入该用户的系统日志中;

其中所述审计预警模块包括:用于在审计操作模块审计到用户进行非法操作时进行报警的报警生成单元、用于在审计操作模块审计到用户进行非法操作时终止用户进程的进程终止单元;

其中所述审计预警模块用于确定用户的非法操作的预警级别,如果预警级别低于预设级别时利用所述报警生成单元进行报警,如果预警级别高于预设级别时利用所述进程终止单元终止用户的非法操作的进程并利用所述报警生成单元进行报警。

2.根据权利要求1所述的数据库安全控制系统,其特征在于,所述系统还包括审计转储模块,用于根据预设规则将审计目标对应的用户操作的数据库和/或审计记录进行备份。

3.根据权利要求1所述的数据库安全控制系统,其特征在于,所述系统还包括审计保护模块,用于监测所述数据库安全控制系统以防止非法篡改;

其中所述审计保护模块包括过程保护单元和防篡改单元,其中所述过程保护模块用于读取对所述数据库安全控制系统的操作以防止未经授权用户对系统进行修改;所述防篡改模块用于监控所述审计记录以防止未经授权用户对审计记录进行修改。

4.根据权利要求1所述的数据库安全控制系统,其特征在于,所述审计记录为pg_statsinfo表,且所述审计记录中记录以下的至少一项:产生时间、用户名、数据库名、客户端来源或者IP以及主机名、会话ID、会话行号、命令标签、SQL状态代码、SQL语句。

5.一种数据库安全控制方法,其特征在于,包括:

确定需要进行审计的审计范围、审计用户、审计任务;

审计对象通过审计判断后,后台开始具体的审计操作并会生成审计记录,根据审计记录与审计要求判断用户操作是否合法,若不合法系统会进行预警。

6.根据权利要求5所述的数据库安全控制方法,其特征在于,所述方法还包括:

系统生成的审计记录最终会进行转储保障审计数据的安全,并对转储后的数据访问权限等方面的控制,严格限制未经授权的用户访问,保护审计数据的安全使其不被非正常访问、修改和破坏。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1