【云计算】WAF简介、功能特性、部署方式等

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

本片文章包括三个主题

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

一、WAF实现

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

1. 配置模块

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

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

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

3. 规则模块(重点)

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

(1) 规则配置模块

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

(2)规则解析模块

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

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

(3)规则检测模块

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

4. 动作模块(重点)

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

5. 日志模块(重点)

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

6. 错误处理模块

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

二、WAF规则(策略)维护

WAF需要修炼一图以蔽之

三、WAF支撑信息库

WAF需要修炼一图以蔽之

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

参考资料:

http://blog.163.com/yang_h_h/blog/static/4903699201211254043410/

http://www.freebuf.com/sectool/54221.html

http://www.2cto.com/Article/201307/227948.html

http://security.ctocio.com.cn/224/12994224.shtml

时间: 2024-08-29 18:17:52

【云计算】WAF简介、功能特性、部署方式等的相关文章

FW/IDS/IPS/WAF等安全设备部署方式及优缺点

现在市场上的主流网络安全产品可以分为以下几个大类:1.基础防火墙FW/NGFW类 主要是可实现基本包过滤策略的防火墙,这类是有硬件处理.软件处理等,其主要功能实现是限制对IP:port的访问.基本上的实现都是默认情况下关闭所有的通过型访问,只开放允许访问的策略.FW可以拦截低层攻击行为,但对应用层的深层攻击行为无能为力. FW部署位置一般为外联出口或者区域性出口位置,对内外流量进行安全隔离.部署方式常见如下 2.IDS类 此类产品基本上以旁路为主,特点是不阻断任何网络访问,主要以提供报告和事后监

WAF Web应用防火墙常见部署方式介绍

1.透明代理模式,该模式可以理解为交换机,经过的流量先被WAF处理,在到防火墙:2.反向代理,单臂模式,需要通过NAT Server将外部用户访问内网服务器的流量映射到WAF,然后在由WAF做处理后转发给服务器:反代单臂模式可支持VRRP协议,通过部署两台H3C SecPath WAF开启VRRP协议可实现双机HA模式:3.反向代理,双臂模式,WAF接口工作在三层模式,同样的方法,采用映方式将流量映射到WAF,然后在由WAF反向代理到WEB服务器:4.反向代理,链路模式牵引模式部署:该方式可旁路

01-spark简介、spark部署方式、spark运行方式

1.定义 Spark是由Scala编写的一个实时计算系统. Spark的API包括Java.Python.R.Scala. 2.功能 Spark Core: ①将分布式数据抽象为弹性分布式数据集(RDD),实现了应用任务调度.RPC.序列化和压缩,并为运行在其上的上层组件提供API. ②是Spark核心编程,类似Hadoop中的MR编程框架,但比MR拥有更丰富的算子,且几乎所有对数据的处理都放置在内存中,所以比MR更高效. Spark SQL: 类似Hive,但是Spark的SQL可以和Spar

云计算平台简介(App Engine)

云计算平台简介(App Engine) 1   简介 App Engine: 应用程序引擎,是托管网络应用程序的云计算平台. 1.1  什么是云 云计算通常简称为“云”,是一种通过 Internet 按需交付计算资源(从应用到数据中心都属于计算资源)和按使用付费的基础架构. 富有弹性的资源:能快速轻松地扩大或缩小规模,以满足您的需求 按使用付费:计量服务的使用情况,只需为所用的服务付费 自助服务:使用自助服务可访问您需要的所有 IT 资源 1.2  云计算部署模型 1.2.1 公共云 公共云由一

Apache Spark探秘:三种分布式部署方式比较

目前Apache Spark支持三种分布式部署方式,分别是standalone.spark on mesos和 spark on YARN,其中,第一种类似于MapReduce 1.0所采用的模式,内部实现了容错性和资源管理,后两种则是未来发展的趋势,部分容错性和资源管理交由统一的资源管理系统完成:让Spark运行在一个通用的资源管理系统之上,这样可以与其他计算框架,比如MapReduce,公用一个集群资源,最大的好处是降低运维成本和提高资源利用率(资源按需分配).本文将介绍这三种部署方式,并比

剖析微软Hyper-V的最佳部署方式

剖析微软Hyper-V的最佳部署方式 2014-04-24 10:53 布加迪编译 51CTO.com 字号:T | T 微软Hyper-V有两种不同的版本.既可以安装到Windows Server的上面,又可以作为一种独立式虚拟机管理程序来下载和安装.那么,哪种方法更好呢?本文中将权衡每种部署方式的优缺点. AD:51CTO网+ 首届中国APP创新评选大赛火热招募中…… [51CTO精选译文]最近,人们似乎重新对微软的Hyper-V产生了兴趣.这种虚拟机管理程序终于开始成熟起来,它所提供的功能

深入详解美团点评CAT跨语言服务监控(一) CAT简介与部署

前言: CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,除了与点评RPC组件融合的很好之外,他将会能与Spring.MyBatis.Dubbo 等框架以及Log4j 等结合,支持PHP.C++.Go等多语言应用,基本接入了美团点评上海侧所有核心应用.目前在中间件(MVC.RPC.数据库.缓存等)框架中得到广泛应用,为美团点评各业务线提供系统的性能指标.健康状况.监控告警等,在微服务监控领域也是非常有用的一套组件.支撑这美团每天450亿的消息,50TB的数据监控,应用于 700

NBIoT三种部署方式【转】

转自:https://472880.kuaizhan.com/89/34/p441944286fccf2 本文作者:吴老司撩通信 本文来源:EETOP NB-IoT支持在频段内(In-Band).保护频段(Guard Band)以及独立(Stand-alone)共三种部署方式. 本篇介绍NB的三种部署方式(Operation Modes). 那个谁,你到底叫啥名 关于Operation Modes的翻译问题,列举下:工作模式.工作方式.操作模式.部署方式.部署场景.运行模式……这是非要凑成七个葫

python web服务常见的部署方式

引自 - 全面解读python web 程序的9种部署方式 python有很多web 开发框架,代码写完了,部署上线是个大事,通常来说,web应用一般是三层结构 web server ---->application -----> DB server 主流的web server 一个巴掌就能数出来,apache,lighttpd,nginx,iis application,中文名叫做应用服务,就是你基于某个web framework写的应用代码 DB server 泛指存储服务,web开发中用

到底应该选择那种Linux.NET的部署方式?

当前部署Linux.NET环境的方式可谓是五花八门,既有传统的源码编译的方式.又有各式各样的一键安装脚本.还有绿色包安装方式,而随着Mono官方的新站上线,更增加了采用RPM包的部署方式.那对于一名Linux.NET的初学者来说,我们又该如何选择?下面,本文将对这几种的安装方式进行优缺点的比较,从而协助各位读者选择出最佳的部署方式. 本文中,我们将对下列的部署方式展开讨论: 1.源码编译 2.一键安装脚本 3.RPM包 4.绿色包 一.源码编译 通过源代码编译安装部署Linux.NET可谓是最传