Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数据库防火墙

数据库防火墙

原创
作者头像
数据安全
修改于 2020-05-14 08:22:44
修改于 2020-05-14 08:22:44
1.2K0
举报
文章被收录于专栏:数据库安全数据库安全

文章来源:美创科技

一、概述

数据库防火墙仿佛是近几年来出现的一款新的安全设备,但事实上历史已经很长。2010年,Oracle公司在收购了Secerno公司,在2011年2月份正式发布了其数据库防火墙产品(database firewall),已经在市场上出现很多年头了。由于数据库防火墙这个词通俗易懂,和防火墙、Web防火墙、下一代防火墙等主流安全产品一脉相承,很多公司也就把自己的数据(库)安全产品命名为数据库防火墙。每家公司对于数据库防火墙的定义各不相同,侧重点也不一样。也就是说,虽然大家都在说数据库防火墙,很有可能是两个完全不同的数据(库)安全设备。

 二、什么是数据库防火墙

数据库防火墙顾名思义是一款数据(库)安全设备,从防火墙这个词可以看出,其主要作用是做来自于外部的危险隔离。换句话说,数据库防火墙应该在入侵在到达数据库之前将其阻断,至少需要在入侵过程中将其阻断。

1. 如何定义外部?

至于如何定义外部威胁,则需要对于数据库边界进行明确的界定,而这个数据库边界的界定则具有多变性。第一种定义,从极限的角度来看,由于现在网络边界的模糊,可以把所有来自于数据库之外的访问都定义为外部。如果是这个定义来看,防火墙承载的任务非常繁重,可能不是一个安全设备所能够承担的。第二种定义是数据中心和运维网络可以被定义为内部访问,其他访问定义为外部访问,让防火墙不需要去承载内部运维安全和员工安全,从而更好的工作。

综合看来,我们采用第二种定义,数据库防火墙主要承载数据中心和运维网络之外的数据(库)安全工作。

2. 如何定义数据库防火墙?

一旦准确的定义了什么是外部之后,什么是数据库防火墙就比较清楚了。运维网络之外的访问我们都可以定义为业务访问。

数据库防火墙是一款抵御并消除由于应用程序业务逻辑漏洞或者缺陷所导致的数据(库)安全问题的安全设备或者产品。数据库防火墙一般情况下部署在应用程序服务器数据库服务器之间,采用数据库协议解析的方式完成。但这并不是唯一的实现方式,你可以部署在数据库外部,可以不采用协议解析。从这个定义可以看出,数据库防火墙其本质目标是给业务应用程序打补丁,避免由于应用程序业务逻辑漏洞或者缺陷影响数据(库)安全。

常见的应用程序业务逻辑漏洞和缺陷:

SQL注入攻击

cc攻击

非预期的大量数据返回

敏感数据未脱敏

频繁的同类操作

超级敏感操作控制

身份盗用和撞库攻击

验证绕行和会话劫持

业务逻辑混乱

#### 3. 数据库防火墙的常见应用场景

(1) SQL注入攻击

SQL注入攻击是数据库防火墙的核心应用场景,甚至可以说数据库防火墙就是为了防御SQL注入攻击而存在的。SQL注入攻击是很古老的攻击手段,特别是互联网普及之后,一直是主流的安全攻击手段。需要特别注意的是,SQL注入攻击的发生不是由于数据库的漏洞导致,而是因为应用程序漏洞和缺陷导致,但是受到伤害和影响的则是数据库。我们的业务应用程序是水平参差不齐的公司和工程师撰写,其代码质量会远远比不上Oracle,微软等大牌公司的产品,SQL注入以及其他可能的漏洞和缺陷存在是必然的事件。甚至可以认为,只要复杂度超越一定程度的任何业务应用程序都会存在SQL注入漏洞。

SQL注入攻击之所以难以防御,其主要原因是其攻击是通过业务应用程序发起的,传统上部署的所有安全措施对于SQL注入攻击基本无效,使其可以简单到达企业最为核心的数据库内部。

(2) cc攻击

即使一个没有任何缺陷的应用程序也可以简单的发起cc攻击。每个应用程序都会存在资源消耗特别高的某些操作,入侵者只要同时调度这些高资源消耗的操作,就会导致数据库服务器失去响应。

(3) 非预期的大量数据返回

由于应用程序缺陷,在某些操作中返回了计划之外的大量数据。大量数据返回很容易引起安全性问题。

(4) 敏感数据未脱敏

由于历史原因,现有应用程序很少对于敏感数据进行脱敏显示。为了遵循新的安全法规和规则,为了更好的保护客户和公司,在很多情况下我们需要对于应用程序返回数据进行脱敏。

(5) 频繁的同类操作

通过应用程序不断的频繁获取敏感信息资料是敏感信息泄露的主要通道之一,数据库防火墙可以通过延迟,通知等响应方式来降低此类数据泄露风险。

(6) 超级敏感操作控制

很多应用程序往往存在着权限控制漏洞,无法控制某些敏感操作。比如统方,比如绝密资料的获取等等。

(7) 身份盗用和撞库攻击

撞库攻击是互联网最大的安全风险之一,绝大部分撞库攻击都是为了身份盗用。

(8) 验证绕行和会话劫持

由于应用程序缺陷导致起验证安全机制没有生效,比如验证码等,或者会话被劫持导致业务应用程序被非法控制。

(9) 业务逻辑混乱

由于应用程序漏洞导致业务逻辑混乱,比如在审批中不检查前置流程的存在性和合规性,直接触发下一个流程。

4. 数据库漏洞检测防御和数据库防火墙

大家可以观察到,很多数据库防火墙都具有数据库漏洞检测和虚拟布丁等功能,甚至于把数据库漏洞检测防御变成了数据库防火墙的核心功能。这个是对于数据库防火墙理解的典型误区,数据库防火墙的核心是检测和防御业务应用程序漏洞而不是数据库漏洞。

当然数据库防火墙部署数据库漏洞检测也有其逻辑基础:当入侵者通过业务应用程序漏洞入侵数据库,特别是SQL注入攻击的时候,入侵者为了获取更大的入侵收益,往往会利用数据库漏洞进行进一步攻击。从紧密流程环节来看,在很多场合下,数据库漏洞攻击可以被看作SQL注入攻击的一个环节,一个成果扩大环节。

三、数据库防火墙和Web防火墙

1. Web防火墙

很多人可能会问,Web防火墙也能够防御SQL注入攻击,我为什么还要部署数据库防火墙?首先我们来看看WAF能做些什么:

SQL注入攻击

XSS攻击

CSRF攻击

SSRF攻击

Webshell后门

弱口令

反序列化攻击

命令/代码执行

命令/代码注入

本地/远程文件包含攻击

文件上传攻击

敏感信息泄露

XML实体注入

XPATH注入

LDAP注入

其他

从这个列表看,显然Web防火墙和数据库防火墙所承载的目标区别比较大,SQL注入攻击攻只是两种不同防火墙的为数不多的交叉点。

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

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

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

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

Web防火墙作用在浏览器和应用程序之间,使他只能够看得见用户提交的相关信息,而用户提交信息往往只是数据库SQL语句的一个碎片,缺乏对于数据库SQL的全局认知,更加不用说SQL语句的上下文关系了。Web防火墙只能做一些基于常规异常特征以及出现过的特征进行识别和过滤,使Web防火墙的SQL注入攻击防御效果依赖于攻击者的水平和创意,只要攻击者具有一定的创意,Web防火墙很难防御SQL注入攻击。

数据库防火墙作用在应用服务器和数据库服务器之间,看到的是经过了复杂的业务逻辑处理之后最后生成的完整SQL语句,也就是说是攻击者的最终表现形态,已经撕去了大量的伪装。由于看到的是缺乏变化的最终形态,使数据库防火墙可以比较Web防火墙采用更加积极的防御策略,比如守白知黑策略进行异常SQL行为检测,100%防御SQL注入攻击。即使简单采用和Web防火墙类似的黑名单策略,由于看到的信息使完整的最终信息,使其防御难度比较Web防火墙大幅度下降,防御效果自然会更好。

 3. 更多的访问通道

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

 四、总结

1. 数据库防火墙主要用来防御外部入侵风险,需要和内部安全管控适当分开。

2. 数据库防火墙主要聚焦点是通过修复应用程序业务逻辑漏洞和缺陷来降低或者消除数据(库)安全风险。SQL注入攻击是其核心防御风险,而数据库漏洞攻击检测和防御则并不是必须的。

3. 由于SQL注入攻击和数据库漏洞攻击的伴生性,数据库防火墙往往具备数据库漏洞检测和防御功能。

4. Web防火墙不能替代数据库防火墙,Web防火墙是SQL注入攻击的第一道防线,数据库防火墙则是SQL注入攻击的终极解决方案。

(原文来源美创科技柳遵梁,在此特别鸣谢)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
数据库防火墙:数据库防火墙应具备哪些能力
互联网时代,由数据库引发的安全事件越来越多,数据库防火墙作为保护数据库安全必不可少的防御工事,也越来越受到企业关注。
数据安全
2020/05/08
7480
Web应用防火墙的使用效率问题与替代性技术的深入讨论
对于安全社区来说,Web应用防火墙(WAF)似乎一直以来都是一个大家默认都要使用的东西,而且几乎也没有人会反对使用Web应用防火墙。在这篇文章中,我们将给大家提供一个新的视角去看待WAF,并会对Web应用防火墙的使用效率问题与替代性技术进行深入探讨。
FB客服
2024/03/01
2130
Web应用防火墙的使用效率问题与替代性技术的深入讨论
数据库防火墙
中安威士数据库防火墙(简称VS-FW),是由中安威士(北京)科技有限公司开发具有完全自主知识产权的安全防护产品。该产品通过实时分析用户对数据库的访问行为,自动建立合法访问数据库的特征模型。同时,通过独立的授权管理机制和虚拟补丁等防护手段,及时发现和阻断SQL注入攻击和违反企业规范的数据库访问请求。主要功能包括屏蔽真实数据库、多因子认证、自动建模、攻击检测、访问控制和审计等。该产品具有高性能、大存储和报表丰富等优势,帮助企业有效保护核心数据,保障业务运营安全,并快速的满足合规要求。
数据库保护
2019/07/16
1.5K0
数据安全管理之基础技术篇
数据安全在广义上讲是一个很大的概念,依据《数据安全法》第三条,数据安全是指通过采取必要措施,确保数据处于有效保护和合法利用的状态,以及具备保障持续安全状态的能力。也就是说,一切保卫数据的安全措施,都可以看做是和数据安全有关的。
ICT系统集成阿祥
2024/12/03
2780
数据安全管理之基础技术篇
数据库防火墙:数据库防火墙的阻断方式
行为阻断是数据库防火墙的自然工作方式。当检测到入侵行为的时候,阻断该行为的操作。行为阻断依据响应偏好的不同,可以工作在不同模式之下。
数据安全
2020/05/08
9960
【云安全最佳实践】云防火墙和Web应用防火墙的区别
随着互联网的进一步发展,Web应用防火墙和云防火墙步入大家的视野。防火墙针对web应用拥有很好的保护作用,由硬件和软件组合,在内部网和外部网、专用网和公共网之间形成一道强有力的保护屏障,使用者可配置不同保护级别的防火墙,高级别的保护会阻止运营一些服务。众所周知,防火墙是一种建立在现代通信网络技术和信息安全技术基础上的应用性安全技术、隔离技术,用来加固网络保障网络安全的。那么,我们如何理解这两种防火墙,他们有什么区别?
芯动大师
2022/10/09
5.6K0
网络安全防御矩阵:从云防火墙流量清洗到WAF语义分析的立体化防护
在当今数字化浪潮中,网络安全愈发重要,云防火墙与 Web 应用防火墙作为网络安全防护的关键力量,备受关注。
云惑雨问
2025/03/10
1500
网络安全防御矩阵:从云防火墙流量清洗到WAF语义分析的立体化防护
入门介绍13款常用的网络安全设备,从零基础讲起!
通过特征提取和分块检索技术进行模式匹配来达到过滤,分析,校验网络请求包的目的,在保证正常网络应用功能的同时,隔绝或者阻断无效或者非法的攻击请求
ICT系统集成阿祥
2024/12/03
1K0
入门介绍13款常用的网络安全设备,从零基础讲起!
《互联网企业安全高级指南》之实践篇
单点登录(Single Sign-On,简称SSO)是一种身份验证和授权机制,允许用户使用一组凭据(如用户名和密码)在多个应用程序或系统中进行身份验证,而无需为每个应用程序单独登录。
用户1423082
2024/12/31
580
web防火墙和waf防火墙的区别和选择
首先说下被很多老鸟或小白混要的一些说法,web防火墙和waf防火墙不属于一个东西.真的,看我解释.
用户2436573
2019/05/14
7.1K0
企业安全实践之漏洞管理
以前在互联网公司做软件项目的时候,公司规定的上线流程中,就有一项是要做安全测试。当时使用的是IBM的AppScan,配置好要扫描的url地址,并通过录制的方式,爬取系统的页面,再设置扫描策略,对系统做安全检查,只有符合要求的结果才能被允许上线。从那个时候起,我就明白了上线前不能存在严重的漏洞,也是第一次对漏洞产生了兴趣。
FB客服
2021/09/16
1.1K0
安全测试 —— 你了解WEB安全测试吗?
  之前在知乎上回答了一个朋友的提问,是关于安全测试相关面试题的,在回答之余让我也不禁想起了自己还在做软测执行的日子。趁着兴起,和团队里的安全测试小伙伴交流了一下,写下了这篇文章,也希望能帮助到更多正在安全测试道路上前行的小伙伴。
Austin_zhai
2023/10/18
8210
安全测试 —— 你了解WEB安全测试吗?
2024年护网行动全国各地面试题汇总(1)作者:————LJS
盛透侧视攻城狮
2024/10/21
2370
企业安全防护体系如何构建?
不同企业对应用情况不同,所需要构建的安全体系标准可能存在一定出入。但有些也就大同小异,一般建议初期重点投入边界防护与终端管控(占预算60%),中期强化数据安全与监测响应,后期采用PDCA循环持续改进的方式不断优化安全体系,确保能达到想要的标准。
ICT系统集成阿祥
2025/04/05
1580
企业安全防护体系如何构建?
确保你的数据库安全:如何防止SQL注入攻击
最近,越来越多的组织和公司受到SQL注入攻击的困扰。这种攻击可以导致数据库中的敏感信息泄露,破坏数据完整性,甚至可能导致整个系统崩溃。如果您是一名数据库管理员或网站管理员,您需要了解如何保护您的数据库免受SQL注入攻击的威胁。在本文中,小德将介绍什么是SQL注入攻击,以及如何预防和识别此类攻击。
德迅云安全--陈琦琦
2024/01/13
4390
安全设备篇——WAF
Web应用防火墙(WAF)是网络安全的关键防线,专注于保护Web应用程序免受攻击。它具备应用层防护能力,能智能分析并防御恶意请求,支持灵活部署,并具备事前预防、事中响应和事后审计功能,是确保Web应用安全的重要工具。
德迅云安全--陈琦琦
2024/07/04
6870
防火墙和IPS有什么区别?
目前主流使用状态检测功能来检查报文链路状态的合法性,丢弃链路状态不合法的报文,核心基础是会话状态。当满足接入条件的用户流量第一次穿越防火墙时,会产生一个会话表项,该会话的后续报文将基于该会话表项进行转发。
网络技术联盟站
2023/03/13
2.6K0
防火墙和IPS有什么区别?
三分钟了解Web应用程序防火墙是如何保护网站的?
Web应用程序防火墙(有时也简称为WAF )可以通过监视和过滤Internet与网站之间的HTTP通信来保护网站。
用户7261497
2020/07/13
8940
三分钟了解Web应用程序防火墙是如何保护网站的?
漏洞库(值得收藏)
SQL注入漏洞 风险等级:高危 漏洞描述: SQL注入漏洞产生的原因是网站应用程序在编写时未对用户提交至服务器的数据进行合法性校验,即没有进行有效地特殊字符过滤,导致网站服务器存在安全风险,这就是SQL Injection,即SQL注入漏洞。 漏洞危害: 机密数据被窃取; 核心业务数据被篡改; 网页被篡改; 数据库所在服务器被攻击从而变为傀儡主机,导致局域网(内网)被入侵。 修复建议: 在网页代码中对用户输入的数据进行严格过滤;(代码层) 部署Web应用防火墙;(设备层) 对数据库操作进行监控。(
勤奋的思远
2021/03/03
4.1K0
漏洞库(值得收藏)
安全编程实践:如何防止Web应用程序受到SQL注入攻击?
防止Web应用程序受到SQL注入攻击是关键的安全编程实践之一。SQL注入是一种常见的网络攻击手段,黑客通过在用户输入的数据中插入恶意的SQL代码,从而获取、修改或破坏数据库中的数据。为了保护Web应用程序免受SQL注入攻击,以下是一些重要的安全编程实践:
用户1289394
2024/04/15
3640
安全编程实践:如何防止Web应用程序受到SQL注入攻击?
相关推荐
数据库防火墙:数据库防火墙应具备哪些能力
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档