作者/来源:新睿云 发布时间:2019-11-11
当今社会,信息化、互联网技术高速发展,数据成为政府、金融、教育、医疗等各行业的核心资产,一旦数据被泄漏,会造成严重经济损失和不良的社会影响,因此数据库安全尤为重要。对于SQL注入攻击而言,已经有了Web防火墙,为何还需要数据库防火墙?两者之间的区别在哪?
什么是数据库防火墙?
数据库防火墙是一款抵御并消除由于应用程序业务逻辑漏洞或者缺陷所导致的数据(库)安全问题的安全设备或者产品。数据库防火墙一般情况下部署在应用程序服务器和数据库服务器之间,采用数据库协议解析的方式完成。但这并不是唯一的实现方式,你可以部署在数据库外部,可以不采用协议解析。从这个定义可以看出,数据库防火墙其本质目标是给业务应用程序打补丁,避免由于应用程序业务逻辑漏洞或者缺陷影响数据(库)安全。
常见的应用程序业务逻辑漏洞和缺陷:SQL注入攻击、CC攻击、非预期的大量数据返回、敏感数据未脱敏、频繁的同类操作、超级敏感操作控制、身份盗用和撞库攻击、验证绕行和会话劫持、业务逻辑混乱。
Web防火墙也能够防御SQL注入攻击,为什么还要部署数据库防火墙?Web防火墙可以抵御的漏洞与缺陷:SQL注入攻击、XSS攻击、CSRF攻击、SSRF攻击、Webshell后门、弱口令、反序列化攻击、命令/代码执行、命令/代码注入、本地/远程文件包含攻击、文件上传攻击、敏感信息泄露、XML实体注入、XPATH注入、LDAP注入、其他。
从抵御范围来看,Web防火墙和数据库防火墙所承载的目标区别较大,SQL注入攻击攻只是两种不同防火墙的为数不多的交叉点。
数据库防火墙是SQL注入防御的终极解决方案
数据库防火墙和Web防火墙部署位置的不同,决定了两种不同产品对于SQL注入攻击的防御策略和效果会大不相同。
部署位置:Web防火墙作用在浏览器和应用程序之间,数据库防火墙作用在应用服务器和数据库服务器之间。
作用协议:Web防火墙作用在Http协议上,数据库防火墙一般作用在数据库协议上,比如Oracle SQL*Net,MSSQL TDS等。
更多的访问通道
通过http服务应用访问数据库只是数据库访问中的一种通道和业务,还有大量的业务访问和http无关,这些http无关的业务自然就无法部署web防火墙,只能依赖于数据库防火墙来完成。
总结
1. 数据库防火墙主要用来防御外部入侵风险,需要和内部安全管控适当分开。
2. 数据库防火墙主要聚焦点是通过修复应用程序业务逻辑漏洞和缺陷来降低或者消除数据(库)安全风险。SQL注入攻击是其核心防御风险,而 数据库漏洞攻击检测和防御则并不是必须的。
3. 由于SQL注入攻击和数据库漏洞攻击的伴生性,数据库防火墙往往具备数据库漏洞检测和防御功能。
4. Web防火墙不能替代数据库防火墙,Web防火墙是SQL注入攻击的第一道防线,数据库防火墙则是SQL注入攻击的终极解决方案。