互联网时代,数据库很容易发生安全事件,数据库防火墙作为一个“保安”,尽心尽力地保护着数据库安全,接下来,本文就带大家去了解“高大威猛”的数据库防火墙应该具备哪些能力呢?
一、高可用性和高性能
由于数据库防火墙是串联到数据库与应用服务器之间的安全设备,因此数据库防火墙自身需要具备高可用性和高速率并发处理能力。
二、准入控制能力
数据库防火墙要做好一个辨识者的角色,接入数据库也需要有授权身份才可以接入,根据不同的身份因子对人进行多维度的识别,保证身份真实性和可靠性。
三、入侵防护功能
数据库防火墙每天都需要面对外部环境的各种攻击,在识别真实人员的基础上,需要对他们的访问行为和特征进行检测,并对危险行为进行防御,主要防御功能有:
1、SQL 注入安全防御,构建 SQL 注入特征库,实现对注入攻击的 SQL 特征识别,结合 SQL 白名单机制实现实时攻击阻断;
2、漏洞攻击防御,由于数据库升级困难的前提存在,需要对数据库漏洞进行扫描识别漏洞,并对这些漏洞进行虚拟补丁,避免黑客通过不这些漏洞进行攻击;
3、敏感 SQL 防御,即 SQL 所带有敏感信息,对这些 SQL 需要单独管理,只授权给可以访问的身份,拒绝未经授权的身份进行访问。
四、访问控制
很多应用程序往往存在权限控制漏洞,无法控制某些非法访问、高危操作,比如统方、绝密资料的获取等。这些潜藏巨大风险的行为,需要进行管理和控制:
1、防撞库,当密码输入次数达到预设阈值时,锁定攻击终端;
2、危险操作阻断,当应用在执行全量删除、修改等高危行为的时候,需要对这些行为进行阻断;
3、敏感信息访问脱敏,根据访问者的权限,返回不同的数据,权限足够时看到真实的数据,权限不足时返回经过脱敏的数据,避免敏感信息泄露;
4、访问返回行数控制,可对访问结果进行管理,避免非法一次性导出大量数据库,导致数据的大量流失。
五、SQL白名单
SQL 白名单,就是创建应用的 SQL 白名单库,对于安全 SQL 进行放行,对于危险 SQL 进行阻断;SQL 白名单可以只针对可信 SQL 做特征识别、而不符合可信 SQL 特征的我们都可以认为他是未知或高危的 SQL,并进行阻断或告警。
六、风险监控
一般来说数据库防火墙往往会管理多个数据库,当数据库达到一定数量时,要监控平台进行统一的安全监控。
七、告警
对于任何不认识的新面孔和操作都进行识别并实时告警,是数据库安全防护必不可少的一环,包括:新发现的IP地址,应用程序,数据库账户,应用账户,访问对象,访问操作,SQL 语句,因为新入场的操作多数情况下意味着威胁。对于一些访问频率比较低的访问主题和操作,也进行识别和告警。如果访问终端的 IP 地址,主机名或者 mac 地址发生变化,往往也意味着危险,审计系统也会告警。
八、全面精确的审计分析与追踪
全面详细的审计记录,审计日志完整的记录了以下基本要素:
Who?— 真实的数据库帐号、主机名称、操作系统帐号等真实身份。
What?— 什么对象数据被访问了,执行了什么操作。
When?— 每个事件发生的具体时间。
Where?— 事件的来源和目的,包括 IP 地址、MAC 地址等。
How?— 通过哪些应用程序或第三方工具进行的操作。
result:通过、拒绝、告警等。