安华金和数据库安全审计在银行业复杂场景下的实践
作者:安华金和 发布时间:2020-05-28

关键数据

是推动银行发展的重要动力与核心资产

也因此时刻要面对变化发展的安全威胁

微信图片_20200601113123 副本.jpg

近期,银行的“热搜”率居高不下,只不过大多是与“数据泄露”、“内鬼窃密”、“黑灰产”等等关键词组了“CP”...在层出不穷的风险事件背后,究竟是人性的扭曲还是道德的沦丧?银行数据安全防护真的“太难”吗?嗯...也许只是方法不对 or 没做到位!

一边要防范日益严峻的数据安全形势,一边要符合国家《网络安全法》、公安部《信息安全等级保护》以及《商业银行信息科技风险管理指引》、《中国银行业信息科技“十三五”发展规划监管指导意见》等一系列法律法规提出的安全监管要求,这就需要银行实现对核心数据库系统的实时监控与有效审计——随时掌握数据库的安全状况,及时发现和阻止各类数据违规操作事件或攻击事件,避免数据的各类安全损失,追查并打击各类违规、违法行为,从而提高银行对核心数据资产的安全防护能力与敏感数据安全管理水平,规避各类风险,保持稳定发展。下文将以A银行的数据库审计项目为例进行介绍:

现状需求

A银行的在线业务系统共计超过200套,数据库更多达1000+,并分布在两个机房的不同网络区域;值得注意的是,A银行中需要使用数据库审计系统的人员除安全团队外,还增加了报表团队及业务团队,且业务团队由5个不同的业务小组构成。为此,项目在实施过程中需要将A银行所有的数据库都纳入到数据库审计系统,并结合最小化授权操作原则,根据行内不同岗位人员的职责,定义不同的数据库审计系统应用权限,从而有针对性的实现各方人员安全使用数据库审计系统的目的。各团队职责(对审计系统的预期价值)如下:

安全团队

检测外部攻击,内部违规操作,监督落实数据库安全操作规范及要求。

报表团队

向监管单位提交相关报表,满足合规性要求。

业务团队

不同的业务组分别负责各自管辖范围内的业务系统的正常运行,提升业务响应性能,修复业务系统BUG。

技术挑战

由于数据库规模大,且部署分布复杂,若以单台数据库审计系统进行维护将变得异常繁琐、工作效率低下,这就需要采用多台数据库审计设备以分布式部署的方式来解决问题。

此外,传统数据库审计产品在进行权限划分时,往往通过控制WEB界面菜单的“显示”属性;但此种做法过于简单粗暴,不能适应A银行对细颗粒度的权限分离管控要求。

A银行要求数据库审计系统必须具备7*24小时的不间断服务能力,且年度停机时间不得超过10分钟,这就对整个数据库审计系统维护管理的持续可用性提出了更为严格的要求。

解决方案

1、全面覆盖

安华金和采用分布式部署方式,通过“八台数据库安全审计系统+两台集中管理系统”,实现了对数据库运维侧及应用侧操作记录审计的全覆盖,可供应用数据库系统管理员、审计人员、安全人员等进行查看,并通过数据库审计日志发现异常、违规操作及攻击类安全事件等,从而掌握数据库运行情况。

微信图片_20200601114009 副本.jpg

部署架构图

2、优化操作

集中管理系统支持“统一权限管理、统一策略维护、统一数据查看”,所有团队的人员日常仅需登录集中管理系统即可完成所需操作。数据库审计系统对于最终使用者属于透明的存在,使用者无需关心自己权限范围内的数据库收纳在哪个数据库审计系统中,大大增强了使用的便利性。

3、明确权限

对于所有纳入审计监控范畴的数据库,按照业务组进行划分,所有默认风险识别规则可以一键多组共享,成本低、易维护。基于业务部门分别创建操作员账户,针对数据库业务组做“拒绝、只读、读写”等权限的分配,使业务部门管理人员仅能维护自己管辖范围内的数据库审计记录。

4、保障运行

两台集中管理系统采用主备模式进行部署,避免由于突发故障而导致服务中断——当集中管理主机异常时,可应急启用集中管理(备机),从而为修复主机提供排障时间。

上述方案的难点之一在于梳理各个团队的操作权限,安华金和就此提出如下解决思路:

安全团队

· 建立“安全专员”角色,并赋予如下权限:

1)可在数据库审计系统中新增被监控的数据库,修改被监控数据库信息,以及删除被监控数据库等;

2)可以新增数据库系统管理员账户并和数据库做捆绑授权;

3)可根据数据库系统管理员提出的特殊数据库访问行为监控,新增安全风险识别规则;

4)可启用数据库审计系统自带的数据库漏洞攻击规则和口令攻击规则;

5)可查看指定日期内被规则命中的访问目标分布在哪些数据库系统,比如:发现“网银”数据库中部分操作被数据库漏洞规则命中,需要通知数据库系统管理员登录数据库审计系统,以查看漏洞攻击详情和命中详情,继而进行追踪判断。

报表团队

· 建立“报表专员”角色,并赋予如下权限:

审计人员登录集群管理系统后,可以查看当前所有数据库审计系统的审计状态是否正常;查看综合分析报表时,可跳转至任意数据库审计系统的系统审计员角色;还可查看数据库审计系统自审计日志,以了解什么人、在什么时间、从哪个客户端访问了数据库审计系统等等。

业务团队

· 分别建立“交易组、电子组、渠道组、管理组、运维支撑组”角色,并赋予如下权限:

各业务组使用自己的账户登录数据库集中管理平台,即可快速查看自己业务组中数据库的“SQL操作、会话访问和风险事件”三个维度的统计分析信息;此外,通过跳转到指定的数据库审计系统,还可查看更加详细的操作记录。日常在数据库审计系统上可关注的内容包括:

1)根据SQL语句在执行时的影响及耗时的详细信息,可辅助数据库系统管理员查看最耗时、最消耗数据库资源的完整SQL语句,为数据库性能优化提供更多参考依据。

2)根据客户端IP、SQL执行结果以及数据库会话建立结果来检索日志,查看应用系统访问数据库是否存在大量的失败SQL或大量的失败会话。通过查看失败的原因,辅助数据库系统管理员了解当前应用系统是否存在优化空间。比如:在业务系统迁移后,原业务系统的服务未彻底关闭,导致其不断按照之前的配置访问数据库,从而引发大量的失败SQL或失败会话,造成数据库资源的浪费。

3)数据库审计系统的《数据库访问行为报表》重点对创建账户、删除账户、账户授权的SQL指令等操作进行统计分析,将日常数据库账户及权限的变更情况直接以报表的形式呈现出来;此报表可协助数据库系统管理员快速判定数据库账户的变更情况是否符合预期,比如:本月不应该新增数据库账户,但是却审计到有一个新增的数据库账户,从而提醒数据库系统管理员判定是否有人创建了后门数据库账户。

4)根据检索风险规则的命中情况,帮助数据库系统管理员快速了解当前数据库是否存在数据库安全风险事件,比如:数据库漏洞攻击、SQL注入等;根据客户端IP及数据库账户来追踪安全事件的来源,并通过访问目标IP、目标表来确定安全事件的影响范围。

5)需要上线新数据库或下线已有数据库时,数据库系统管理员应通知数据库审计管理员同步完成数据库监控范围的变更,通过数据库审计系统为新上线的数据库提供监控审计服务,为数据库的安全运行提供多一道保障。