为什么WAF(Web Aplication Firewalls)不能确保数据库安全?

警告:不要以为有了 WAF 的保护,数据库安全就万无一失了。事实上,数据库仍然存在很大的安全隐患。

为什么WAF(Web Aplication Firewalls)不能确保数据库安全?

Web 应用程序防火墙(WAF)现在已经成为许多商业 Web 网站与系统的基本保护措施,它的确在防范许多针对 Web 系统的安全攻击方面卓有成效,但是 WAF 在面对攻击方式多种多样的 SQL 注入方面还是显得束手无策。

背景知识:什么是 WAF?

Web 应用防火墙(WAF)是一种基础的安全保护模块,主要针对 HTTP 访问的 Web 程序保护,部署在 Web 应用程序前面,在用户请求到达 Web 服务器前对用户请求进行扫描和过滤,分析并校验每个用户请求的网络包,确保每个用户请求有效且安全,对无效或有攻击行为的请求进行阻断或隔离。

WAF 可通过定义一些常见的 SQL 注入特征码对常见 SQL 注入攻击提供防护,比如 SQL 注入代码加入到某些命令或某些输入,这些 WAF 是没有问题的。但是市面上的关系型数据总类非常多,虽然有统一的 SQL 结构化数据查询语言,但是每个数据库的具体实现有非常多的差异,这些差异就导致了多种 SQL 注入攻击方式的产生。因此也就导致了像 WAF 这类安全保护系统在不理解应用程序的上下文,不熟悉数据库类型、命令、结构的情况下,仅仅通过分析网络数据包,加上定义一些数据库特殊字符黑名单,远远不足以防护多种多样的 SQL 注入攻击。

WAF 在 Web 应用安全防护方面的作用的确值得认可,它能有效防护多种 Web 攻击,每个企业都应该使用 WAF 为 Web 应用程序提供安全保障。但是,千万不要天真地以为,有了 WAF 你的数据库就安全了,这种想法非常的危险。

数据库暴露的访问点多种多样

从 WAF 的原理来看,WAF 并不能完全保护 Web 应用程序免受 SQL 注入攻击,因为它在 Web 应用程序外部,不了解应用程序的上下文,不知道目标数据库的类型,这就从根本上决定了 WAF 只能防范最常见的 SQL 注入方式。

即使 WAF 做的足够好,能够防范绝大多数从 Web 系统进入的 SQL 注入攻击,也不能断言数据库得到了全面的保护,因为能访问数据库的不仅仅是 Web 系统,还有许多其他途径。

除了 Web 系统外,还有三类主要的数据库访问途径:

  1. 组织内其他应用系统能访问数据库:比如在电子商务系统里,价格和库存可能会用一些自动化的脚本来定时更新。
  2. 一些内部管理程序可以访问系统,也可能是一些接口,方便雇员添加信息或者发送信息给客户。
  3. 还有就是数据库 DBA,IT 经理,QA,开发人员等等内部人员通过数据库管理工具可以访问数据库。

WAF 只监控通过 HTTP 方式来的数据,这些潜在的数据库访问源头 WAF 是毫不知情的,但是来自内部的攻击则更可怕。内部人员非常清楚数据库的结构和内容,目标性也更加明确,不是获取经济利益就是获取大量内部信息,造成的危害可以说是毁灭性的,比如前两年发生在银行客户数据库大规模泄露事件就很清晰地证明了这一点。同时现在黑客攻击手段越来越高明,翻墙技术已经非常成熟,而且在云时代有明显边界的网络拓扑结构越来越少。总之,WAF 对 SQL 注入攻击的防护作用越来越小。

多维度数据库保护是万全之策

既然数据库的访问途径很多,要想比较好的解决数据泄露的危险,多维度防护才是最佳方法,只有堵住每条可能泄露的攻击才能确保数据库的安全,可能的方法包括但不仅限于:

运行时应用程序自我保护(RASP)

  1. 数据库防火墙
  2. 模式学习过程
  3. 职责分离
  4. 风险为基础的政策
  5. 敏感信息屏蔽
  6. 定期审计管理和访问敏感信息

运行时应用程序自我保护(RASP)

RASP 针对应用程序保护的,不仅仅是对 Web 应用测试,它将代码扫描工具的漏洞发现功能和 WAF 的实时攻击拦截能力结合起来,将这些防护功能像疫苗一样注入到应用程序中,让应用程序像人体拥有疫苗一样对攻击拥有免疫能力,找到所有已知漏洞,像一个虚拟的大补丁一样修补所有已知漏洞,免于大多数漏洞攻击,同时它和应用程序一起运行同一个进程,拥有应用程序的上下文,了解应用程序的每一个动作,因此能精确了解每一个攻击并能够实时对攻击进行防御。比如 SQL 注入,它在每个数据库 JDBC 的 statement 具体实现里,根据每个不同的数据,有针对性地将 SQL 注入保护程序注入,这样就能确保各种可能的 SQL 注入攻击得到有效的防范,并且这个防护是在应用程序访问数据库的必经之路,是不可绕过的。这两个优势是 WAF 无法企及的。如果每个应用程序都进行 RASP 保护,至少无论内外通过应用进行 SQL 注入基本上是不可能的,这样就可以堵住应用程序访问数据库的漏洞。目前 RASP 是比较新的概念,国外有 HP 在做,国内有一个初创安全 OneRASP 在做类似的产品,大家有有兴趣可以关注一下。

数据库防火墙

数据库防火墙技术是针对关系型数据库保护需求应运而生的一种数据库安全主动防御技术,数据库防火墙部署于应用服务器和数据库之间。用户必须通过该系统才能对数据库进行访问或管理。数据库防火墙所采用的主动防御技术能够主动实时监控、识别、告警、阻挡绕过企业网络边界(FireWall、IDS\IPS等)防护的外部数据攻击、来自于内部高权限用户(DBA、开发人员、第三方外包服务提供商)的数据窃取、破坏、损坏等,从数据库 SQL 语句精细化控制的技术层面,提供一种主动的安全防御措施。

模式匹配学习过程

基于自学习机制的风险管控模型,主动监控数据库活动,防止未授权的数据库访问、SQL 注入、权限或角色升级,与对敏感数据的非法访问等。

基于风险管理的策略

任何类型的数据库查询语句或命令,都可以用一些方法来评估。影响风险评估的因素包括白名单和黑名单,命令是从哪里过来的,在一定时间有多少个类似的命令等等,利用所有的信息,一个基于规则的系统可以借助一系列的规则来评估哪些命令是可疑的。

权责分明

为数据库访问分配适当的权限是非常必要的。基于 Web 的应用程序只应该有有限的查询权限,数据库管理员拥有更大的管理权限是有必要的。通过适当地执行职责分离,可以有效避免多种数据库攻击。

混淆敏感数据

所有人都应该能查看敏感数据,甚至包括数据库管理员,程序员,以及高管。DBA 可以执行一些数据库管理任务,但是没有必要让他们能看到数据库中个人的敏感数据,为了达到这个目的,使用一个非常强大的和实时的数据混淆解决方案是非常重要的。一些组织使用离线的“生产”系统进行屏蔽,但随着实时数据的混淆的成熟,实时数据混淆系统在成本和避免数据更新方面有更大的优势,所有改变都可以实时在数据库中体现。

定时审计对敏感数据的管理和访问行为

一致的和可靠的审计过程中,寻找可疑的活动和更新政策,不断提高数据库安全还有很长的路要走。今天的数据库安全产品可以根据可定制的规则对某些种类的访问提供警报服务。

让每个公司都能保护得起数据库安全

在以前,数据库安全保护只有少数大公司花大价钱才能搞好,数据库防火墙非常昂贵。制定规则,审计行为都需要大量的人力去解决,小公司基本没有能力去做。现在 RASP 是一种非常好的解决方案,只要制定简单规则,比如只有管理员能访问生产数据库等,其他所有数据库访问都通过应用程序进行,而每个应用程序都安装 RASP 保护程序,这样数据库的安全才是有保障的。

OneRASP(实时应用自我保护)是一种基于云的应用程序自我保护服务, 可以为软件产品提供实时保护,使其免受漏洞所累。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sq...
    xuningbo阅读 10,248评论 2 22
  • 需要原文的可以留下邮箱我给你发,这里的文章少了很多图,懒得网上粘啦 1数据库基础 1.1数据库定义 1)数据库(D...
    极简纯粹_阅读 7,399评论 0 46
  • sqlmap用户手册 说明:本文为转载,对原文中一些明显的拼写错误进行修正,并标注对自己有用的信息。 ======...
    wind_飘阅读 2,031评论 0 5
  • 随着当今世界网络技术与信息技术高速发展,Web应用程序具有界面统一,使用简单,易于维护,扩展性好,共享度高等优先。...
    高美丽阅读 3,949评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,596评论 18 139