解析Web应用防火墙中主动防御模块设计
创始人
2024-07-29 05:00:25
0次

防火墙这类IDS设备随着Web应用的爆炸式成长,对于应用层尤其是HTTP应用层就显得越来越表现出弱势,大规模SQL自动注入让Web安全越来越被人们所关注,Web应用防火墙也就应运而生。顾名思义,Web应用防火墙(Web Application Firewall,下面简称WAF)是专注于Web应用层上的应用级防火墙。其原理是利用WAF可以有效地阻止各类针对Web应用的攻击,比如SQL注入、XSS攻击等。

 

目前,国内的Windows平台WAF基本上都是由IIS Filter来实现,或者直接基于Apache ModSecurity(可以做独立反向代理服务器)。WAF从其部署上来看,可以有多找那个模式,比如可以内嵌于Web Server中(IIS ISAPI或者Apache模块)也可以做反向代理或者作为路由模式。国内目前的WAF其设计模式基本上全部基于第一种模式,也就是基于特征码检测的机制,比如开源的WebKnight 、Snort等。

先从第一种模式谈起,这种模式的检测机制是依靠不断更新的特征码来抵御各类Web攻击,类似于目前的杀毒软件病毒库,其风险是一旦有新型变形关键字,就可以轻易绕过此类Web应用防火墙的检测。

而且这类基于关键字检测识别的防御模式(第一种模式),在很多情况下只是简单的关键字查找,正则表达式匹配等这类非常初级的特征码检测技术手段,基本上都没有去基于某种完备的特征码识别理论,纯粹依靠开发者的个人功底来实现这部分的特征码检测核心模块。那么这部分WAF其实是非常简陋的,包括WebKnight在内,很多WAF都存在同样的问题。Port80Software的ServerDefender也是同样的检测机制,只是它基于一定的检测理论支持,而非简单的字符串识别这么简单的匹配规则。Snort相对比较成熟,在特征码检测匹配方面采用了改进的BM算法。

第一种模式并非完美,但是也是必不可少的,只是需要基于某些成熟的特征码检测识别理论,其安全性才会大大加强。

第二种模式则各家实现各不相同,但本质上是一样的,就是允许在生产部署之前,通过手动或者自动学习模式来完成其安全检测知识库的构建。从这一点来看,比较类似于语音识别软件。语音识别软件首先会让用户朗读各种典型应用的文字段落,从中不断学习和识别关键语音片段。WAF的主动防御模式就是基于此基础来实现。

WAF主动防御模式有的厂商实现为在生产环境下通过自动学习并将学习知识库即时应用,但是并不建议这种做法.因为对于关键应用而言,一旦出现失误就直接导致关键Web应用被此WAF阻挡,那可就是耽误了大事。

WAF主动防御的自动模式可以在部署前的完整测试环境下开启,以便快速构建主动防御知识库(Active Defense Repository)。

1. 首次上线

WAF主动防御机器人 –> 循环遍历需要保护的Web网站(上线前测试环境下)-> 构建主动防御知识库 –> 人工审核辨别知识库条目,并编辑 –> 测试主动防御知识库 -> 正式部署Web App+WAF到生产环境,并开启主动防御模式。

2. 迭代更新阶段

此阶段的特点是,每次网站程序更新幅度较小,为迭代式增量更新模式。

手动开启WAF机器人 -> 检索新目录或新应用程序站点 -> 构建增量主动防御知识库 ->人工审核确认知识库条目;

或者直接手动在主动防御知识库中添加需要的知识条目即可。

3. 主动防御知识库管理

管理员可以随时手工管理知识库中的知识条目,并帮助主动防御模块学习更新的知识条目。

之所以不在生产环境下开启WAF框架层的自动学习,也是为了避免知识条目噪声的出现。

有机结合基于成熟理论的特征码检测机制与主动防御检测机制,就可以在最大程度上保证Web应用程序的安全。

当然,治本的话还是需要开发人员从源码级别来做到抵御各类Web攻击才对,不过由于实际情况往往不是预想的那么理想,在越来越多的场景中需要WAF来加以补充和配合。但接触WAF首先要明确的就是,并不是说有了WAF,开发人员就不必关心Web安全了。 

Web应用防火墙中主动防御模块设计的分析就为大家介绍完了,希望读者已经理解和掌握。

【编辑推荐】

  1. 浅析Web安全
  2. Web攻击的十大原因
  3. Web应用安全日趋严重我们该拿什么拯救
  4. Web2.0时代 需要防范黑客的5种新型在线攻击

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...