数据库审计与风险控制解决方案1概述1.1数据库面临的安全挑战数据库是企业核心业务开展过程中最具有战略性的资产,通常都保存着重要的商业伙伴和客户信息,这些信息需要被保护起来,以防止竞争者和其他非法者获取。互联网的急速发展使得企业的数据库信息价值及可访问性得到了提升,同时,也致使数据库信息资产面临严峻的挑战,概括起来主要表现在以下三个层面:管理层面:主要表现为人员的职责、流程有待完善,内部员工的日常操作有待规范,第三方维护人员的操作监控失效等等,致使安全事件发生时,无法追溯并定位真实的操作者。技术层面:现有的数据库内部操作不明,无法通过外部的任何安全工具(比如:防火墙、IDS、IPS等)来阻止内部用户的恶意操作、滥用资源和泄露企业机密信息等行为。审计层面:现有的依赖于数据库日志文件的审计方法,存在诸多的弊端,比如:数据库审计功能的开启会影响数据库本身的性能、数据库日志文件本身存在被篡改的风险,难于体现审计信息的真实性。伴随着数据库信息价值以及可访问性提升,使得数据库面对来自内部和外部的安全风险大大增加,如违规越权操作、恶意入侵导致机密信息窃取泄漏,但事后却无法有效追溯和审计。1.2数据库审计的客观需求数据库审计与风险控制的目的概括来说主要是三个方面:一是确保数据的完整性;二是让管理者全面了解数据库实际发生的情况;三是在可疑行为发生时可以自动启动预先设置的告警流程,防范数据库风险的发生。因此,如何采取一种可信赖的综合途径,确保数据库活动记录的100%捕获是极为重要的,任何一种遗漏关键活动的行为,都会导致数据库安全上的错误判断,并且干扰数据库在运行时的性能。只有充分理解企业对数据库安全审计的客观需求,才能够给出行之有效的解决方案:捕捉数据访问:不论在什么时间、以什么方式、只要数据被修改或查看了就需要自动对其进行追踪;捕捉数据库配置变化:当“数据库表结构、控制数据访问的权限和数据库配置模式”等发生变化时,需要进行自动追踪;自动防御:当探测到值得注意的情况时,需要自动启动事先设置的告警策略,以便数据库安全管理员及时采取有效应对措施,对于严重影响业务运行的高风险行为甚至可以立即阻断;审计策略的灵活配置和管理:提供一种直截了当的方法来配置所有目标服务器的审计形式、具体说明关注的活动以及风险来临时采取的动作;审计记录的管理:将从多个层面追踪到的信息自动整合到一个便于管理的,长期通用的数据存储中,且这些数据需要独立于被审计数据库本身;灵活的报告生成:临时和周期性地以各种格式输出审计分析结果,用于显示、打印和传输;1.3现有的数据库审计解决方案的不足传统的审计方案,或多或少存在一些缺陷,主要表现在以下几个方面:传统网络安全方案:依靠传统的网络防火墙及入侵保护系统(IPS),在网络中检查并实施数据库访问控制策略。但是网络防火墙只能实现对IP地址、端口及协议的访问控制,无法识别特定用户的具体数据库活动(比如:某个用户使用数据库客户端删除某张数据库表);而IPS虽然可以依赖特征库有限阻止数据库软件已知漏洞的攻击,但他同样无法判别具体的数据库用户活动,更谈不上细粒度的审计。因此,无论是防火墙,还是IPS都不能解决数据库特权滥用等问题。基于日志收集方案:需要数据库软件本身开启审计功能,通过采集数据库系统日志信息的方法形成审计报告,这样的审计方案受限于数据库的审计日志功能和访问控制功能,在审计深度、审计响应的实时性方面都难以获得很好的审计效果。同时,开启数据库审计功能,一方面会增加数据库服务器的资源消耗,严重影响数据库性能;另一方面审计信息的真实性、完整性也无法保证。其他诸如应用程序修改、数据源触发器、统一认证系统授权等等方式,均只能记录有限的信息,更加无法提供细料度的数据库操作审计。1.4本方案解决的数据库安全问题为了解决企业数据库安全领域的深层次、应用及业务逻辑层面的安全问题及审计需求,杭州安恒信息技术有限公司依靠其对入侵检测技术的深入研究及安全服务团队积累的数据库安全知识,研制并成功推出了全球领先的、面向企业核心数据库的、集“全方位的风险评估、多视角的访问控制、深层次的审计报告”于一体的数据库审计与风险控制设备,即明御数据库审计与风险控制系统,为企业核心数据库提供全方位安全防护。在企业业务支撑网络中部署了明御数据库审计与风险控制系统,可以实现企业核心数据库的“系统运行可视化、日常操作可跟踪、安全事件可鉴定”目标,解决企业数据库所面临的管理层面、技术层面、审计层面的三大风险,以满足企业的不断增长的业务需要。明御数据库审计与风险控制系统对于企业数据库的安全防护功能,概括起来体现在以下三个方面:首先:明御数据库审计与风险控制系统采用“网络抓包、本地操作审计”组合工作模式,结合安恒专用的硬件加速卡,确保数据库访问的100%完整记录,为后续的日常操作跟踪、安全事件鉴定奠定了基础。其次:明御数据库审计与风险控制系统通过专利级的双引擎技术,一方面利用数据库安全研究团队多年积累的安全知识库,防止无意的危险误操作,阻止数据库软件漏洞引起的恶意攻击;另一方面,依赖智能自学习过程中动态创建的安全模型与异常引擎相结合,有效控制越权操作、违规操作等异常操作行为。再者:明御数据库审计与风险控制系统依赖其独特的数据库安全策略库,可以深入到应用层协议(如操作命令、数据库对象、业务操作过程)实现细料度的安全审计,并根据事先设置的安全策略采取诸如产生告警记录、发送告警邮件(或短信)、提升风险等级、加入黑名单、立即阻断等响应。同时,明御数据库审计与风险控制系统可以提供多视角的审计报告,即根据实时记录的网络访问情况,提供多种安全审计报告,更清晰地了解系统的使用情况以及安全事件的发生情况,并可根据这些安全审计报告进一步修改和完善数据库安全策略库。2方案总体结构2.1主要功能如下图所示,数据库审计与风险控制系统主要的功能模块包括“静态审计、实时监控与风险控制、动态审计(全方位、细粒度)、审计报表、安全事件回放、审计对象管理、系统配置管理管理”几个部分。2.1.1数据库静态审计数据库静态审计的目的是代替繁琐的手工检查,预防安全事件的发生。数据库审计与风险控制系统依托其权威性的数据库安全规则库,自动完成对几百种不当的数据库不安全配置、潜在弱点、数据库用户弱口令、数据库软件补丁、数据库潜藏木马等等静态审计,通过静态审计,可以为后续的动态防护与审计的安全策略设置提供有力的依据。2.1.2实时监控与风险控制数据库审计与风险控制系统可保护业界主流的数据库系统,防止受到特权滥用、已知漏洞攻击、人为失误等等的侵害。当用户与数据库进行交互时,数据库审计与风险控制系统会自动根据预设置的风险控制策略,结合对数据库活动的实时监控信息,进行特征检测及审计规则检测,任何尝试的攻击或违反审计规则的操作都会被检测到并实时阻断或告警。2.1.3数据库动态审计数据库审计与风险控制系统基于“数据捕获→应用层数据分析→监控、审计和响应”的模式提供各项安全功能,使得它的审计功能大大优于基于日志收集的审计系统,通过收集一系列极其丰富的审计数据,结合细粒度的审计规则、以满足对敏感信息的特殊保护需求。数据库动态审计可以彻底摆脱数据库的黑匣子状态,提供4W(who/when/where/what)审计数据。通过实时监测并智能地分析、还原各种数据库操作,解析数据库的登录、注销、插入、删除、存储过程的执行等操作,还原SQL操作语句;跟踪数据库访问过程中的所有细节,包括用户名、数据库操作类型、所访问的数据库表名、字段名、操作执行结果、数据库操作的内容取值等。全方位的数据库活动审计:实时监控来自各个层面的所有数据库活动。如:来自应用程序发起的数据库操作请求、来自数据库客户端工具的操作请求、来自数据库管理人员远程登录数据库服务器产生的操作请求等。完整的双向审计:除可实时监控数据库的请求操作以外,还可以实时监控所有请求操作后数据库的回应信息,如命令执行情况,错误信息等。潜在危险活动重要审计:提供对DDL类操作、DML类操作的重要审计功能,重要审计规则的审计要素可以包括:用户、源IP地址、操作时间(任意天、一天中的时间、星期中的天数、月中的天数)、使用的SQL操作类型(Select/Delete/Drop/Insert/Update)。当某个数据库活动匹配了事先定义的重要审计规则时,一条报警将被记录以进行审计。重要审计规则设置:重要审计结果展示:敏感信息细粒度审计:对业务系统的重要信息,提供完全自定义的、精确到字段及记录内容的细粒度审计功能。自定义的审计要素包括登录用户、源IP地址、数据库对象(分为数据库用户、表、字段)、操作时间段(本日、本周、本月、最近三小时、最近十二小时、最近二十四小时、最近七天、最近三十天、任意时间段)、使用的SQL操作类型(select/delete/drop/insert/update/create/turncate)、记录内容。根据操作类型及记录内容进行细粒度审计:细粒度审计结果展示:远程ftp操作审计与回放:对发生在数据库服务器上的ftp命令进行实时监控、审计及回放。审计的要素包括:ftp用户、ftp客户端IP地址、命令执行时间段(本日、本周、本月、最近三小时、最近十二小时、最近二十四小时、最近七天、最近三十天、任意时间段)、执行的ftp命令(get/put/ls等等)。自定义ftp操作审计:ftp审计结果展示:ftp回放:远程telnet操作审计与回放:对发生在数据库服务器上的Telnet命令进行实时监控、审计及回放。审计的要素包括:telnet用户、telnet客户端IP地址、命令执行时间段(本日、本周、本月、最近三小时、最近十二小时、最近二十四小时、最近七天、最近三十天、任意时间段)、telnet登录后执行的系统命令(login/pwd/root等等)。自定义telnet操作审计:telnet操作审计结果展示:会话分析与查看:单个离散的操作(Sql操作、ftp命令、telnet命令)还不足于了解用户的真实意图,一连串的操作所组成的一个完整会话展现,可以更加清晰地判断用户的意图(违规的\粗心的\恶意的)。Telent操作审计会话查看:2.1.4审计报表数据库审计与风险控制系统内嵌了功能强大的报表模块,除了按安全经验、行业需求分类的预定义固定格式报表外,管理员还可以利用报表自定义功能生成定制化的报告。报告模块同时支持Word、Excel、PowerPoint、Pdf格式的数据导出。系统缺省提供以下报表:数据库攻击源统计示意图:数据库操作审计示意:同时提供灵活的格式报表功能,可以方便的根据业务逻辑来动态格式化报表元素,提供强大的样式定义,对于熟悉CSS的设计人员来说,可以设计出相当出色的报表样式。2.1.5安全事件回放允许安全管理员提取历史数据,对过去某一时段的事件进行回放,真实展现当时的完整操作过程,便于分析和追溯系统安全问题。很多安全事件或者与之关联的事件在发生一段时间后才引发相应的人工处理,这个时候,作为独立审计的数据库审计与风险控制系统就发挥特别的作用.因为所有的FTP、telnet、客户端连接等事件都保存后台(包括相关的告警),对相关的事件做定位查询,缩小范围,使得追溯变得容易;同时由于这是独立监控审计模式,使得相关的证据更具有公证性。Sql操作回放示意图:telnet命令回放示意图:2.1.6综合管理数据库审计与风险控制系统提供WEB-base的管理页面,数据库安全管理员在不需要安装任何客户端软件的情况下,基于标准的浏览器即可完成对数据库审计与风险控制系统的相关配置管理,主要包括“审计对象管理、系统管理、用户管理、功能配置、风险查询”等。下图为审计对象配置示意图:下图为系统配置示意图:下图为风险查询示意图:2.2审计流程明御数据库审计与风险控制系统数据库审计流程如下图所示:2.2.1审计数据采集明御数据库审计与风险控制系统审计数据采集的方式包括:网络抓包、本地操作审计,采集的内容主要包括:账号登录行为数据:采集对账号登录动作的审计。具体包括:账号名称、登录成功或登录失败、用户终端IP/ID、登录时间