> 文档中心 > 数据库防火墙闪亮登场(好文共赏)

数据库防火墙闪亮登场(好文共赏)


文章目录

前言

数据库防火墙

1、数据库防火墙需求来源

2、产品概述

3、技术实现

4、核心功能

5、部署方式

5.1串联模式

 5.2代理模式

5.3云上部署

6、应用场景

6.1数据库异常行为检测

6.2数据库访问人员权限管控

6.3防范数据库漏洞攻击行为

6.4数据库攻击行为阻断

7、与数据库审计系统的区别

7.1产品定位不同

7.2部署方式不同

7.3使用场景不同

8、与Web防火墙的区别

8.1数据库防火墙是SQL注入防御的终极解决方案

8.2总结

9、与网络防火墙和工业防火墙的区别

写在最后的话


前言

唯有对自己卓越的才能和独特的价值有坚定、不可动摇之确信的人才被称为骄傲。

谢邀,一朋友想知道数据库防火墙是什么,今天这篇文章会简单介绍一下数据库防火墙的基本功能、技术原理、应用场景等,注意这是科普文章,后续还有深度思考及分析,希望能帮助你体系化了解一个产品。


数据库防火墙

1、数据库防火墙需求来源

  • 传统信息安全建设,以事中防御为主,缺乏事前的风险预知、事后的持续检测及响应能力
  • 传统的审计类产品,一般只注重对访问数据库的行为进行审计,对攻击行为作出告警等处理,对于实时操作数据库窃取数据的行为无法进行阻断,无法有效防止数据被窃取。
  • 政策标准、法律法规的要求:等保合规要求,很多行业要求对业务核心数据库实现访问控制,对敏感数据进行重点保护。

2、产品概述

      先引用百度百科的词条介绍:数据库防火墙系统,串联部署在数据库服务器之前,解决数据库应用侧和运维侧两方面的问题,是一款基于数据库协议分析与控制技术的数据库安全防护系统。DBFirewall基于主动防御机制,实现数据库的访问行为控制、危险操作阻断、可疑行为审计,实现业务系统、操作用户与数据库之间“最后一公里”防护。

3、技术实现

    数据库防火墙技术使用了一种基于通信协议和SQL语法的数据库自动发现方法的专利技术。采用全面的数据库通讯协议解析,通过SQL协议分析,和SQL注入特征抽象技术,能快速有效的捕获SQL注入的行为特征,对符合SQL注入特征的可疑的非法违规操作进行阻断,真正做到SQL 危险操作的主动防御、实时审计

*注:具体实现原理及架构不展开讨论,各个厂商的技术原理大同小异,简单来讲就是通过对数据库协议的解析,发现违规操作进行精确阻断。

4、核心功能

    因为所有访问数据库的操作行为都要经过数据库的识别转发,访问控制和实时阻断是数据库防火墙最大的价值,下面介绍几个基本功能,讲的比较简单,理解最底层的逻辑之后自然就知道了,比如可以实现对SQL注入攻击的防护;针对数据库不好打补丁的缺陷,开发虚拟补丁功能,检测对漏洞的尝试利用和攻击行为,既没有了修复漏洞的风险(一般不敢修复漏洞) 也做到了对漏洞攻击的防护。

  1. 屏蔽直接访问数据库的通道:数据库防火墙部署介于数据库服务器和应用服务器之间,屏蔽直接访问的通道,防止数据库隐秘通道对数据库的攻击。
  2. 二次认证:基于“连接六元组【机器指纹、IP地址、MAC地址、用户、应用程序、时间段】”授权单位,应用程序对数据库的访问,必须经过数据库防火墙和数据库自身两层身份认证。
  3. 攻击保护:实时检测用户对数据库进行的SQL注入和缓冲区溢出攻击。并报警或者阻止攻击行为,同时详细的审计下攻击操作发生的时间、来源IP、登录数据库的用户名、攻击代码等详细信息。
  4. 连接监控:实时的监控所有到数据库的连接信息、操作数、违规数等。管理员可以断开指定的连接。
  5. 安全审计:系统能够审计对数据库服务器的访问情况。包括用户名、程序名、IP地址、请求的数据库、连接建立的时间、连接断开的时间、通信量大小、执行结果等等信息。并提供灵活的回放日志查询分析功能,并可以生成报表。
  6. 审计探针:数据库防火墙还可以作为数据库审计系统的数据获取引擎,将通信内容发送到审计系统中。
  7. 细粒度权限控制:按照SQL操作类型包括Select、Insert、Update、Delete,对象拥有者,及基于表、视图对象、列进行权限控制。
  8. 精准SQL语法分析:高性能SQL语义分析引擎,对数据库的SQL语句操作,进行实时捕获、识别、分类。
  9. 自动SQL学习:基于自学习机制的风险管控模型,主动监控数据库活动,防止未授权的数据库访问、SQL注入、权限或角色升级,以及对敏感数据的非法访问等。
  10. 虚拟补丁:用户可以通过虚拟补丁技术实时监控数据库漏洞攻击行为,保证数据库的安全与应用的稳定。

    对SQL语句的解析是为了匹配安全规则,高危操作可以直接实时阻断,一般行为正常审计或者不审计,实现精细化防护。这里可以与数据库审计系统或者数据分类分级系统联动,比如数审审计到的高危操作把策略同步给数据库防火墙进行阻断;分类分级之后的高级别数据用数据库防火墙实现能够实时阻断的防护,从而保护核心业务数据库安全。

5、部署方式

    首先要知道的是数据库防火墙部署在应用服务器数据库服务器之间。一般硬件设备和软件产品都有,可部署在云服务器、虚拟机上,支持单机部署、HA 部署、集群部署等方式。

5.1串联模式

    将数据库防火墙硬件设备串联接入网络中,所有用户访问数据库的网络流量都流经数据库防火墙。

 5.2代理模式

    在网络中并联接入数据库防火墙设备,客户端逻辑串联连接数据库防火墙设备地址(将中间件上原始的数据库ip和端口号更换为数据库防火墙设备的ip和端口号),数据库防火墙转发流量到数据库服务器。

5.3云上部署

    私有云环境中,支持纯软部署,将数据库防火墙的虚拟网卡IP地址设置为代理IP地址,转发流量到数据库服务器,从而实现虚拟环境下的数据库安全管控。

6、应用场景

6.1数据库异常行为检测

针对问题:数据库经常受到来自外部黑客的攻击以及内部人员的越权操作。

解决方案: 配置SQL攻击阻断规则,对SQL注入或漏洞攻击行为进行特征分析和风险鉴别,系统能够有效监控并拦截针对数据库的多种攻击行为。

6.2数据库访问人员权限管控

针对问题:业务系统中包含敏感信息,第三方运维人员、内部人员拥有核心数据库的高级别操作权限,如果违规对敏感数据篡改、删除,从业务本身上无法识别和管控,事后亦无法有效定责。

解决方案: 数据库防火墙可以通过风险策略和自定义规则(限制时间段运维)抵御外部风险访问,同时可以通过内置基线策略、多因子访问认证等方式进行内部权限划分,主动预防来自第三方外包人员、内部员工的各种数据篡改、误删除行为,有效解决因为权限划分不准确导致的数据泄露问题。

6.3防范数据库漏洞攻击行为

针对问题:CVE上公开的数据库安全漏洞,针对这些数据库漏洞各个数据库厂商也推出了相应的升级补丁,但是在实际情况中,对业务系统的数据库升级打补丁存在一定的风险,比如升级后与现有程序的兼容问题,升级过程中重启数据库服务器造成业务中断的问题等,导致业务系统的可用性与业务系统的安全性产生冲突。

解决方案:数据库防火墙具备虚拟补丁的功能,虚拟补丁在无需修补数据库内核漏洞的情况下,可以保护数据库的安全。相当于数据库防火墙在数据库外创建了一个安全屋,通过在防火墙上启用虚拟补丁,能够检测对漏洞的尝试利用和攻击行为,并阻断对可疑事务的操作。

6.4数据库攻击行为阻断

针对问题:数据库被黑客通过SQL注入等攻击行为或通过撞库、拖库等异常行为获取数据。

解决方案:客户业务系统包含大量敏感信息,黑客可通过SQL注入、缓冲区溢出等方式攻击数据库,获取数据资源售卖。数据库防火墙内置CVE漏洞库和异常行为特征库,搭配安全策略,通过规则匹配的方式识别阻断风险操作并向用户发出告警提示。

7、与数据库审计系统的区别

7.1产品定位不同

数据库防火墙具备风险预知,异常行为阻断,危险操作行为审计,查询结果及报表展示等功能,真正实现事前预防,事中阻断,事后追溯。 

数据库审计系统是针对不同环境下的数据库操作行为进行细粒度审计的合规性管理系统。通过对所有访问数据库的行为进行解析、分析、记录、汇报,从而帮助用户进行事前风险评估,事中行为实时监控、违规操作行为及时响应告警,事后合规报告、回溯追责。

7.2部署方式不同

数据库防火墙采用串联部署(代理模式也是逻辑上串联),需要将数据库防火墙串联接入业务系统,才能实现阻断。数据库审计采用旁路部署,在数据库服务器前的交换机镜像端口上镜像一份流量给到数据库审计系统进行流量解析还原,或者通过在数据库服务器上装agent插件引流。

7.3使用场景不同

数据库防火墙侧重危险行为实时阻断场景,针对危险的操作行为可以实现实时阻断,并将危险行为做审计告警(按规则审计),把危险操作拦截在事前,可以最大程度降低数据库的风险。

 数据库审计系统侧重审计场景,会对所有的数据库操作行为进行全面审计,并保留审计记录,方便事后追踪溯源。

8、与Web防火墙的区别

Web防火墙可以抵御的漏洞与缺陷:SQL注入攻击、XSS攻击、CSRF攻击、SSRF攻击、Webshell后门、XML实体注入、XPATH注入、LDAP注入、其他。从抵御范围来看,Web防火墙和数据库防火墙所承载的目标区别较大,SQL注入攻击攻只是两种不同防火墙的为数不多的交叉点。

8.1数据库防火墙是SQL注入防御的终极解决方案

数据库防火墙和Web防火墙部署位置的不同,决定了两种不同产品对于SQL注入攻击的防御策略和效果会大不相同。

部署位置:Web防火墙作用在浏览器和应用程序之间,数据库防火墙作用在应用服务器和数据库服务器之间。

作用协议:Web防火墙作用在Http协议上,数据库防火墙一般作用在数据库协议上,比如Oracle SQL*Net,MSSQL TDS等。 

更多的访问通道:通过http服务应用访问数据库只是数据库访问中的一种通道和业务,还有大量的业务访问和http无关,这些http无关的业务自然就无法部署web防火墙,只能依赖于数据库防火墙来完成。

8.2总结

  • 数据库防火墙主要用来防御外部入侵风险,需要和内部安全管控适当分开。
  • 数据库防火墙主要聚焦点是通过修复应用程序业务逻辑漏洞和缺陷来降低或者消除数据库安全风险。SQL注入攻击是其核心防御风险,而数据库漏洞攻击检测和防御则并不是必须的。
  • Web防火墙不能替代数据库防火墙,Web防火墙是SQL注入攻击的第一道防线,数据库防火墙则是SQL注入攻击的终极解决方案。

9、与网络防火墙和工业防火墙的区别

    网络防火墙保护整个网络,工作在网络层与传输层,基于IP、MAC、端口等TCP/IP协议进行防护。

    工业防火墙的功能:首先具有传统防火墙的主要功能,另外最突出的一点是内置工业通讯协议的过滤模块,支持各种工业协议识别及过滤,弥补商业防火墙不支持工业协议过滤的不足。针对工业协议采用深度包检测技术及应用层通讯跟踪技术,能够对工控网络的数据包进行深度包解析。目前技术一般解析到工控协议的指令层,可以实现对非法指令的阻断、非工控协议的拦截,起到保护关键控制器的作用,一般的数据库防火墙对工控实时数据库很难适配。


写在最后的话

    以上就是数据库防火墙的基本介绍,数据库防火墙所采用的主动防御技术能够主动实时监控、识别、告警、阻挡绕过企业网络边界(FireWall、IDS\IPS等)防护的外部数据攻击、来自于内部的高权限用户(DBA、开发人员、第三方人员)的数据窃取、破坏等,从数据库SQL语句精细化控制的技术层面,提供一种主动安全防御措施,并且,结合独立于数据库的安全访问控制规则,帮助用户应对来自内部和外部的数据安全威胁。

   后面文章续集带来数据库防火墙性能分析,想接入业务系统,数据库防火墙必须具备怎样一颗强大的心:低延迟、高吞吐量、高可扩缩性能力。第三期讨论下在运维侧的防护,既然接入业务有风险,避其锋芒,在运维端有广阔天地,起码不用担心业务中断背锅,会尽快更新!

参考资料:

https://www.cnblogs.com/bonelee/p/6638963.html

数据库防火墙_百度百科

http://t.csdn.cn/8genq

http://t.csdn.cn/AsLS6

*注:因个人水平确实有限,百度借鉴了其他人写的一些分析,以上内容分享仅供参考和学习,如有侵权,请联系我删除。

历史新知