为什么WAF(使用防火墙)不能保证数据库安全
Web 运用程序防火墙(WAF)现在现已成为许多商业 Web 网站与体系的根本维护办法,它确实在防备许多针对 Web 体系的安全进犯方面行之有用,可是 WAF 在面临进犯办法多种多样的 SQL 注入方面仍是显得束手无策。所以,不要认为有了 WAF 的维护,数据库安全就满有把握了。事实上,数据库依然存在很大的安全隐患。
布景常识:什么是 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、IDSIPS等)防护的外部数据进犯、来自于内部高权限用户(DBA、开发人员、第三方外包服务供给商)的数据盗取、损坏、损坏等,从数据库 SQL 句子精细化操控的技能层面,供给一种自动的安全防护办法。
形式匹配学习进程
根据自学习机制的危险管控模型,自动监控数据库活动,防止未授权的数据库拜访、SQL 注入、权限或人物晋级,与对灵敏数据的不合法拜访等。
根据危险办理的战略
任何类型的数据库查询句子或指令,都能够用一些办法来评价。影响危险评价的要素包含白名单和黑名单,指令是从哪里过来的,在一守时刻有多少个相似的指令等等,使用一切的信息,一个根据规矩的体系能够凭借一系列的规矩来评价哪些指令是可疑的。
权责清楚
为数据库拜访分配恰当的权限是十分必要的。根据 Web 的运用程序只应该有有限的查询权限,数据库办理员具有更大的办理权限是有必要的。经过恰当地履行责任别离,能够有用防止多种数据库进犯。
[1] [2] 黑客接单网