互联网时代,由数据库引发的安全事件越来越多,数据库防火墙作为保护数据库安全必不可少的防御工事,也越来越受到企业关注。
那么数据库防火墙究竟应具备哪些能力,才能为企业数据资产筑起坚不可摧的安全防线?美创科技作为数据防火墙国标重要参与者,曾主导数据库防火墙的标准制定,将结合在该领域拥有雄厚的技术积累和产品经验,总结一个成熟的数据库防火墙产品应具备的一系列关键能力。
1. 数据库防火墙的高可用性和高性能
数据库在企业中承载着关键核心业务,其重要性不言而喻。由于数据库防火墙是串联到数据库与应用服务器之间的安全设备, 因此不能因为安全设备的部署而影响业务系统正常使用,数据库防火墙自身需要具备高可用性和高速率并发处理能力:
当安全设备因宕机、系统本身主程序不可用、内存持续被占等问题导致不可用时,自动切换到另外一台安全设备进行运行,从而能够达到设备的高可用,避免因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,影响生产业务,提升系统和应用的高可用性。
因业务系统的高并发访问,数据库需要对标直连访问数据库,1毫秒内SQL处理速率要基本同直连访问数据库,避免因数据库防火墙部署影响业务系统的正常使用。
2. 准入控制
就跟人需要有身份证一样,接入数据库也需要根据不同的身份因子对人进行多维度的识别,保证身份真实性和可靠性。
多因素身份:数据库用户名、应用系统用户、IP地址、MAC地址、客户端程序名、登录时间等因子的多因素组合准入。
应用防假冒:可对应用程序进行特征识别,识别应用的真实性,避免应用被假冒,从而导致应用被非法利用。
3. 入侵防护功能
数据库防火墙每天都需要面对外部环境的各种攻击,在识别真实人员的基础上,我们还需要对他们的访问行为和特征进行检测,并对危险行为进行防御,主要防御功能应有:
SQL注入安全防御,构建SQL注入特征库,实现对注入攻击的SQL特征识别,结合SQL白名单机制实现实时攻击阻断;
漏洞攻击防御,由于数据库升级困难的前提存在,需要对数据库漏洞进行扫描识别漏洞,并对这些漏洞进行虚拟补丁,避免黑客通过这些漏洞进行攻击;
敏感SQL防御,即SQL所带有敏感信息,对这些SQL需要单独管理,只授权给可以访问的身份,拒绝未经授权的身份进行访问。
4. 访问控制
很多应用程序往往存在权限控制漏洞,无法控制某些非法访问、高危操作,比如统方、绝密资料的获取等。这些潜藏巨大风险的行为,需要进行管理和控制:
防撞库,当密码输入次数达到预设阈值时,锁定攻击终端;
危险操作阻断,当应用在执行全量删除、修改等高危行为的时候,需要对这些行为进行阻断;
敏感信息访问脱敏,根据访问者的权限,返回不同的数据,权限足够时看到真实的数据,权限不足时返回经过脱敏的数据,避免敏感信息泄露;
访问返回行数控制,可对访问结果进行管理,避免非法一次性导出大量数据库,导致数据的大量流失。
5. SQL白名单
SQL白名单,就是创建应用的SQL白名单库,对于这些安全SQL进行放行,对于危险SQL进行阻断;SQL白名单可以只针对可信SQL做特征识别、而不符合可信SQL特征的我们都可以认为他是未知或高危的SQL,并进行阻断或告警。
6. 风险监控
一般来说数据库防火墙往往会管理多个数据库,当数据库达到一定数量时,通过人工很难监控数据库的整体安全情况,因此需要监控平台进行统一的安全监控:
监控数据库防火墙的整体安全情况,当出现风险时可快速的定位当前被攻击的数据库及发起攻击的客户端等;
可视化展示,直观、全局、清晰的把握数据库安全情况。
7. 告警
对于任何不认识的新面孔和操作进行识别并实时告警,是数据库安全防护必不可少的一环,包括:新发现的IP地址,应用程序,数据库账户,应用账户,访问对象,访问操作,SQL语句。
系统可通过短信、邮件、动画等多种告警手段来保证告警的实时性。
8. 风险分析与追踪
业务人员在利益的诱惑下,往往通过业务系统提供的功能完成对敏感信息的访问,从而造成数据外泄的风险。因此提供对风险访问的详细记录,便于风险分析和问题追溯至关重要。详细的风险分析和追踪,应包括以下基本要素:
Who?—真实的数据库帐号、主机名称、操作系统帐号等真实身份;
What?—什么对象数据被访问了,执行了什么操作,触发了什么安全策略;
When?—每个事件发生的具体时间;
Where?—事件的来源和目的,包括IP地址、MAC地址等;
How?—通过哪些应用程序或第三方工具进行的操作。(高博)