CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 百科
  3. 正文

waf

2017年5月21日 1508点热度 0人点赞 0条评论
  • 首页
  • 分类阅读
  • 文库
  • 专栏
  • 公开课
  • 商城
  • 漏洞盒子
注册 | 登录
投稿

如何打造一款可靠的WAF(Web应用防火墙)

碳基体2014-12-15+20共617572人围观 ,发现 44 个不明物体WEB安全工具

之前写了一篇《WAF防御能力评测及工具》,是站在安全运维人员选型WAF产品的角度来考虑的(优先从测试角度考虑是前职业病,毕竟当过3年游戏测试?!)。本篇文章从WAF产品研发的角度来YY如何实现一款可靠的WAF,灵感来自ModSecurity等,感谢开源。

本片文章包括三个主题

(1) WAF实现
WAF包括哪些组件,这些组件如何交互来实现WAF防御功能
(2)WAF规则(策略)维护
规则(策略)如何维护,包括获取渠道,规则测试方法以及上线效果评测
(3) WAF支撑
WAF产品的完善需要哪些信息库的支撑

一、WAF实现

WAF一句话描述,就是解析HTTP请求(协议解析模块),规则检测(规则模块),做不同的防御动作(动作模块),并将防御过程(日志模块)记录下来。不管硬件款,软件款,云款,核心都是这个,而接下来围绕这句话来YY WAF的实现。WAF的实现由五个模块(配置模块、协议解析模块、规则模块、动作模块、错误处理模块)组成

1. 配置模块

设置WAF的检测粒度,按需开启,如图所示

WAF的实现 - 碳基体 - 碳基体

2. 协议解析模块(重点)

协议解析的输出就是下一个模块规则检测时的操作对象,解析的粒度直接影响WAF防御效果。对于将WAF模块寄生于web 服务器的云WAF模式,一般依赖于web 服务器的解析能力。

WAF的实现 - 碳基体 - 碳基体

3. 规则模块(重点)

重点来了,这块是WAF的核心,我将这块又细分为三个子模块。

(1) 规则配置模块

IP黑白名单配置、 URL黑白名单配置、以及挑选合适的规则套餐。

WAF的实现 - 碳基体 - 碳基体

(2)规则解析模块

主要作用是解析具体的规则文件,规则最好采用统一的规则描述语言,便于提供给第三方定制规则,ModSecurity这方面做得非常优秀。

规则文件由四部分组成,分为变量部分、操作符部分,事务函数部分与动作部分。

WAF的实现 - 碳基体 - 碳基体

WAF的实现 - 碳基体 - 碳基体

(3)规则检测模块

上一步我们设置了各种变量,接下来就是按照一定的逻辑来做加减乘除了。

WAF的实现 - 碳基体 - 碳基体

4. 动作模块(重点)

通过规则检测模块,我们识别了请求的好恶,接下来就是做出响应,量刑处理,不仅仅是拦截。

WAF的实现 - 碳基体 - 碳基体

5. 日志模块(重点)

日志处理,非常重要,也非常火热,内容丰富到完全可以从WAF独立出来形成单独的安全产品(e.g.日志宝)而采用提供接口的方式来支撑WAF。对于数据量巨大的云WAF,都会有单独的大数据团队来支撑架构这一块,包括数据存储(e.g. hdfs) ,数据传输(kafka),数据离线分析(hadoop/spark),数据实时分析(storm),数据关联分析(elasticsearch)等等,以后另开一篇单独说明。

WAF的实现 - 碳基体 - 碳基体

6. 错误处理模块

以上模块运行错误时的异常处理

二、WAF规则(策略)维护

WAF需要修炼一图以蔽之

WAF的实现 - 碳基体 - 碳基体

三、WAF支撑信息库

WAF需要修炼一图以蔽之

WAF的实现 - 碳基体 - 碳基体

以上支撑库几乎所有的安全人员都在重复地做,而资源没有共享的原因,一是内部不可说;二是没有采取统一的描述语言无法汇合,唉,安全从业人员的巴别塔。

四、补充知识(包括文章与代码)

想想写了这么多文章,自我感觉萌萌哒!

WAF相关

WAF防御能力评测及工具

ssdeep检测webshell

ModSecurity相关文章(我就是ModSecurity的死忠粉)

[科普文]ubuntu上安装Apache2+ModSecurity及自定义WAF规则

ModSecurity SecRule cheatsheets

ModSecurity CRS 笔记、WAF防御checklist,及WAF架构的一些想法

ModSecurity 晋级-如何调用lua脚本进行防御快速入门

ModSecurity 白名单设置

指纹识别

Web应用指纹识别

FingerPrint

IP相关

使用免费的本地IP地理库来定位IP地理位置-GeoIP lookup

获得IP的地理位置信IP Geolocation及IP位置可视化

IP地理信息离线获取脚本

IP地理信息在线获取脚本

识别搜索引擎脚本

判断使用哪家CDN脚本

代理类型判断脚本 Proxy探测脚本与HTTP基本认证暴力破解脚本

CDN架构

网站负载均衡技术读书笔记与站长产品的一点想法

正则优化

NFA引擎正则优化TIPS、Perl正则技巧及正则性能评测方法

HTTP发包工具

HTTP.pl——通过HTTP发包工具了解HTTP协议

HTTP发包工具 -HTTPie

WAF实现的思维导图

参考:

《ModSecurity  Handbook》

第八、九、十,十一我是反复看,每次都有新的灵感,第14、15章是当成新华字典看的,以免遗忘。

《Web Application Defenders Cookbook Battling Hackers and Protecting Users》 (红宝书,还在看)

FreeBuf推荐:碳基体MM微博

http://weibo.com/tanjiti

[本文作者/碳基体,转载须注明来自FreeBuf.COM]

碳基体

碳基体27 篇文章等级: 5级
|
|
  • 上一篇:如何全面掌控session?且看WebSocket跨站劫持
  • 下一篇:SCTF(三叶草CTF) Write-Up

这些评论亮了

  • 妹特丝棒慰回复
    颜射KFMM
    )30(亮了
  • ?回复
    @ 浆泥
    就是想着折腾人家会如何来伤害你,增加新的防御机制,才导致了漏洞的产,每1000行代码就有x个漏洞的定律,防进度是不断上升而防千百次 只需攻击成功一次,完全不等比。ps3最新固件几年没破解ps4都出来了,你能说螺旋式的上升吗?NSA不考虑后门植入 一年靠技术挖掘能找到多少个能够利用的漏洞?而漏洞补了便毫无价值,已知情况下当然攻防对立你知我,我知你,但只要你不知道一次我就赢了,哪怕城墙再高考虑再多都是浮云。
    )6(亮了
发表评论

已有 44 条评论

  • softbug (7级)011101000110100001100001011011... 2014-12-15回复1楼

    真的很详细很全面,而国内大部分的waf,应该是可以绕过的

    亮了(3)
    • 浆泥 2014-12-15回复

      @ softbug  攻,防一直在变,在保证业务连续性的基础上部署waf提高了攻击门槛,效果还是比较明显的 :)

      亮了(2)
      • ? 2014-12-15回复

        @ 浆泥
        就是想着折腾人家会如何来伤害你,增加新的防御机制,才导致了漏洞的产,每1000行代码就有x个漏洞的定律,防进度是不断上升而防千百次 只需攻击成功一次,完全不等比。ps3最新固件几年没破解ps4都出来了,你能说螺旋式的上升吗?NSA不考虑后门植入 一年靠技术挖掘能找到多少个能够利用的漏洞?而漏洞补了便毫无价值,已知情况下当然攻防对立你知我,我知你,但只要你不知道一次我就赢了,哪怕城墙再高考虑再多都是浮云。

        亮了(6)
      • 酱泥 2014-12-15回复

        @ ? 从攻击角度来看的确如此,做为防护方来说,肯定不能指望一个waf或几台设备就能保证安全,在攻击只需个点而防护是一个面这么个不平等的环境下,只能纵深防御,结合自身业务特点防护,架个waf只是希望提高攻击门槛,上面说效果比较明显并不是想表达一个waf就行了,但那句话确实容易让人误解 :(

        亮了(2)
    • andyhao567 (2级) 2014-12-15回复

      @ softbug  国内的话是一个团队。而绕Modsecurity 的背后,则是开源世界的强大力量。。。攻与防 总在螺旋式的上升。哈哈

      亮了(0)
    • 客服002 (1级) 2014-12-15回复

      谔谔

      亮了(0)
  • 妹特丝棒慰 2014-12-15回复2楼

    颜射KFMM

    亮了(30)
  • 润土 (2级)月光下的西瓜地 2014-12-15回复3楼

    好厉害的妹子 :grin:

    亮了(0)
  • 心在想念 (2级) 2014-12-15回复4楼

    这妹子很强大..

    亮了(0)
  • andyhao567 (2级) 2014-12-15回复5楼

    看到了 “红宝书” 然给我想起了 我的考研时代。估计,今年 肖四套 又会很火。。。。期待与你交流————来自Freewaf项目组

    亮了(2)
  • 章鱼潭 (2级) 2014-12-15回复6楼

    想想看了这么多碳基体文章,自我感觉萌萌哒!

    亮了(3)
  • andyhao567 (2级) 2014-12-15回复7楼

    奥,忘记了说,我的红宝书《Modsecurity 2.5 》 比较老,没有中文,得自己翻译。。。。推荐下这本书,挺不错的。

    亮了(0)
  • xocoder (5级) 2014-12-15回复8楼

    碳基体牛B

    亮了(2)
  • netbutless 2014-12-15回复9楼

    还可以,广度有了,没什么深度。

    亮了(1)
    • tk 2014-12-15回复

      @ netbutless 你行你发一篇来看看?最讨厌你这种装逼的

      亮了(3)
      • netbutless 2014-12-15回复

        @ tk 哦。

        亮了(0)
  • 夜黑风寒 (3级) 2014-12-15回复10楼

    很不错,,打算把这个作为毕业设计,,,如果有更详细的资料就更好了

    亮了(0)
  • 魏杰 (3级) 2014-12-15回复11楼

    好萌的妹子啊

    亮了(1)
  • 比尔.盖茨 (4级)xxx 2014-12-15回复12楼

    妹子笔记写的真不错 我只是来看看妹子

    亮了(0)
  • Cy3ber (1级) 2014-12-15回复13楼

    Centos下使用modsecurity配合tengine实现不错的waf
    http://www.cy3ber.com/post/266460_26d533c

    亮了(0)
  • Master (3级) 2014-12-15回复14楼

    我是来围观妹纸的,膜拜已久。。。

    亮了(0)
  • ghost119 (2级) 2014-12-15回复15楼

    嗯,写的确实不错。

    亮了(0)
  • 短刀速划 2014-12-15回复16楼

    都结婚了好么

    亮了(0)
  • ChJsfxhkhd 2014-12-15回复17楼

    我一直当你是汉子…

    亮了(0)
  • 水波 2014-12-15回复18楼

    据说已经有主,右边还是死心吧

    //: 是安全圈为数不多且有真才实学的萌妹子。据说比较高冷,小编多次索求电话无果……

    亮了(0)
  • 新鲜的小白 2014-12-15回复19楼

    小编这样真的好嘛。

    亮了(0)
  • _U2_ 2014-12-15回复20楼

    确属精品,值得学习。迅雷即将上线的WAF,主要特点:云规则库,各agent自动定时更新规则;云日志库,拦截日志自动上报;拦截过的地址自动纪录N分钟供分析改进。

    亮了(1)
  • diroverflow 2014-12-16回复21楼

    WAF能够被绕过并不是一个重要问题,WAF还要考虑性能、与应用的兼容等很多方面,每增加一条正则就会降低性能、增加与应用冲突的可能性,能做好平衡才是最关键的。

    亮了(4)
  • lodge132 (3级) 2014-12-16回复22楼

    难得一见的好文章。

    亮了(0)
  • char_EST (2级)中国平安,不只保险这么简单。 2014-12-16回复23楼

    妹子又来了。。。

    亮了(0)
  • netorgcom (4级) 2014-12-16回复24楼

    顶!!!

    亮了(0)
  • 带脚镣跳舞 2014-12-16回复25楼

    →_→

    亮了(0)
  • grayddq (2级)解放双手! 2014-12-16回复26楼

    写的博错,把我的思路完全展现出来了!

    亮了(1)
  • livers (2级) 2014-12-16回复27楼

    给学霸跪了。

    亮了(0)
  • chengfangang (3级) 2014-12-17回复28楼

    现在这种资料很少,即使有人懂,也不会轻易分享出来, 妹子的确不错 妹子离着跳槽不远了 :mrgreen: 很快就有猎头找你了

    亮了(2)
  • szYouth (1级) 2014-12-17回复29楼

    没一定的研究,画不出这样的图。@碳基体,如何联系你?

    亮了(1)
  • ttzer0 (2级) 2014-12-19回复30楼

    文章写的不错啊,没想到web防火墙还有这么多东西呢

    亮了(0)
  • _nycode_ 2014-12-23回复31楼

    已火速围观女神

    亮了(0)
  • aifree (1级) 2015-01-09回复32楼

    我这里怎么不显示图片呢。求解答。

    亮了(0)
  • Richard秦红胜 2015-08-11回复33楼

    很不错的WAF总结

    亮了(0)
  • zhubao315 2015-08-11回复34楼

    很不错的WAF总结

    亮了(0)
  • format_y (1级) 2016-01-25回复35楼

    对我很有帮助的资料,感谢~

    亮了(0)
  • 哈哇哈哇 (1级) 2016-09-21回复36楼

    嗯 写的很详细了~

    亮了(0)
  • 阿萝 2016-10-31回复37楼

    推理:博主的名字由来—正切函数tan(x)—>tangent—>碳基体 :roll: :roll:

    亮了(0)

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

碳基体

碳基体

混迹于安全圈的萌妹子

27 篇文章12 条评论

相关阅读

  • 阿里云云盾Web应用防火墙深度测评
  • 通过HTTP参数污染绕过WAF拦截
  • 开源WAF(modsecurity)更新版本至2.6.6
  • Gartner:企业安全10大趋势预测
  • 基于ngx_lua开发的web应用防火墙开源

特别推荐

关注我们 分享每日精选文章

不容错过

  • Bash破壳漏洞(ShellShock)再变身:针对邮件服务器SMTP攻击凌晨几度i2014-10-29
  • 热门游戏《英雄联盟》再曝漏洞:黑客可访问玩家账户盗取点券和金币鸢尾2015-02-04
  • StringBleed:SNMP协议“上帝模式”漏洞影响多种网络设备clouds2017-05-01
  • 腐烂的苹果:对一大波iCloud钓鱼网站的监测与分析欧阳洋葱2016-06-10

FREEBUF

  • 免责声明
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2013 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0day

标签: 暂无
最后更新:2017年5月21日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me