随着电子商务、网上银行、电子政务的盛行,WEB服务器承载的业务价值越来越高,WEB服务器所面临的安全威胁也随之增大,因此,针对WEB应用层的防御成为必然趋势,WAF(WebApplicationFirewall,WEB应用防火墙)产品开始流行起来。
WAF产品按照形态划分可以分为三种,硬件、软件及云服务。软件WAF由于功能及性能方面的缺陷,已经逐渐被市场所淘汰。云WAF近两年才刚刚兴起,产品及市场也都还未成熟。与前两种形态相比,硬件WAF经过多年的应用,在各方面都相对成熟及完善,也是目前市场中WAF产品的主流形态。

既然是硬件产品,网络部署对于用户来说,是一个必须要考虑的问题。纵观国内外的硬件WAF产品,通常一个产品会支持多种部署模式。这也给用户在购买或部署产品时带来了困惑。以下将对硬件WAF几种常见的部署模式做一个简单介绍,希望可以帮助广大用户解除困惑。

· WAF部署位置

通常情况下,WAF放在企业对外提供网站服务的DMZ区域或者放在数据中心服务区域,也可以与防火墙或IPS等网关设备串联在一起(这种情况较少)。总之,决定WAF部署位置的是WEB服务器的位置。因为WEB服务器是WAF所保护的对象。部署时当然要使WAF尽量靠近WEB服务器。

· WAF部署模式分类

根据WAF工作方式及原理不同可以分为四种工作模式:透明代理模式、反向代理模式、路由代理模式及端口镜像模式。前三种模式也被统称为在线模式,通常需要将WAF串行部署在WEB服务器前端,用于检测并阻断异常流量。端口镜像模式也称为离线模式,部署也相对简单,只需要将WAF旁路接在WEB服务器上游的交换机上,用于只检测异常流量。

图1:WAF部署模式分类

· WAF几种部署模式的技术原理

(1) 透明代理模式(也称网桥代理模式):透明代理模式的工作原理是,当WEB客户端对服务器有连接请求时,TCP连接请求被WAF截取和监控。WAF偷偷的代理了WEB客户端和服务器之间的会话,将会话分成了两段,并基于桥模式进行转发。从WEB客户端的角度看,WEB客户端仍然是直接访问服务器,感知不到WAF的存在;从WAF工作转发原理看和透明网桥转发一样,因而称之为透明代理模式,又称之为透明桥模式。

典型拓扑

(2) 反向代理模式:反向代理模式是指将真实服务器的地址映射到反向代理服务器上。此时代理服务器对外就表现为一个真实服务器。由于客户端访问的就是WAF,因此在WAF无需像其它模式(如透明和路由代理模式)一样需要采用特殊处理去劫持客户端与服务器的会话然后为其做透明代理。当代理服务器收到HTTP的请求报文后,将该请求转发给其对应的真实服务器。后台服务器接收到请求后将响应先发送给WAF设备,由WAF设备再将应答发送给客户端。这个过程和前面介绍的透明代理其工作原理类似,唯一区别就是透明代理客户端发出的请求的目的地址就直接是后台的服务器,所以透明代理工作方式不需要在WAF上配置IP映射关系。

典型拓扑

(3) 路由代理模式:路由代理模式,它与网桥透明代理的唯一区别就是该代理工作在路由转发模式而非网桥模式,其它工作原理都一样。由于工作在路由(网关)模式因此需要为WAF的转发接口配置IP地址以及路由。

典型拓扑

(4) 端口镜像模式:端口镜像模式工作时,WAF只对HTTP流量进行监控和报警,不进行拦截阻断。该模式需要使用交换机的端口镜像功能,也就是将交换机端口上的HTTP流量镜像一份给WAF。对于WAF而言,流量只进不出。

典型拓扑

· WAF几种部署模式的优缺点

(1) 透明代理模式(也称网桥代理模式):这种部署模式对网络的改动最小,可以实现零配置部署。另外通过WAF的硬件Bypass功能在设备出现故障或者掉电时可以不影响原有网络流量,只是WAF自身功能失效。缺点是网络的所有流量(HTTP和非HTTP)都经过WAF对WAF的处理性能有一定要求,采用该工作模式无法实现服务器负载均衡功能。

(2) 反向代理模式:这种部署模式需要对网络进行改动,配置相对复杂,除了要配置WAF设备自身的地址和路由外,还需要在WAF上配置后台真实WEB服务器的地址和虚地址的映射关系。另外如果原来服务器地址就是全局地址的话(没经过NAT转换)那么通常还需要改变原有服务器的IP地址以及改变原有服务器的DNS解析地址。采用该模式的优点是可以在WAF上同时实现负载均衡。

(3) 路由代理模式:这种部署模式需要对网络进行简单改动,要设置该设备内网口和外网口的IP地址以及对应的路由。工作在路由代理模式时,可以直接作为WEB服务器的网关,但是存在单点故障问题,同时也要负责转发所有的流量。该种工作模式也不支持服务器负载均衡功能。

(4) 端口镜像模式:这种部署模式不需要对网络进行改动,但是它仅对流量进行分析和告警记录,并不会对恶意的流量进行拦截和阻断,适合于刚开始部署WAF时,用于收集和了解服务器被访问和被攻击的信息,为后续在线部署提供优化配置参考。这种部署工作模式,对原有网络不会有任何影响。

【列举市场上的几种web防火墙】

Web应用防火墙 FreeWAF 开源代码发布了 http://www.oschina.net/news/42772/freewaf-code-opened

安全宝 - 网站安全专家 | 防黑客、抗DDoS、网站加速 永久免费 http://www.anquanbao.com/

安全狗-企业安全解决方案|云安全|服务器安全|网站安全 http://www.safedog.cn/index.html

可信云评估_可信云, 选购云服务,先上可信云 - 数据中心联盟 http://www.dca.org.cn/html/kexinyun/index.html

YUNDUN-抗DDoS_防CC攻击_高防智能DNS_免费CDN加速_WAF云防御 http://www.yundun.com/

牛盾云安全 - 防黑客、防网站DDoS攻击、防网站CC攻击、网站加速、高防智能DNS 永久免费 https://www.newdefend.com/
————————————————
原文链接:https://blog.csdn.net/enweitech/article/details/51905922

WAF的部署方式——有直路部署和旁路部署的更多相关文章

  1. MyBatis-Plus 多库部署方式;spring mvc 多库部署方式

    1.实现mybatis-plus的多个数据库的切换方式 源码地址:https://github.com/baomidou/mybatisplus-spring-mvc 2.因为其文档都是相互依赖的,所 ...

  2. RocketMQ的部署方式及持久化方式

    RocketMQ 的 Broker 有三种集群部署方式: 1. 单台 Master 部署: 2. 多台 Master部署: 3. 多 Master 多 Slave 部署:采用第 3 种部署方式时, M ...

  3. DPI在SDN中的部署方式

    目录 在sdn中的部署分类 将DPI部署到基础设施层 将DPI部署到控制层 将DPI部署到应用层 个人总结 参考文献 在sdn中的部署分类 DPI 可以分别部署到SDN的基础设施层.控制层和应用层. ...

  4. ActiveMQ的多种部署方式--ActiveMQ学习之二

    单点的ActiveMQ作为企业应用无法满足高可用和集群的需求,所以ActiveMQ提供了master-slave.broker cluster等多种部署方式,但通过分析多种部署方式之后我认为需要将两种 ...

  5. ASP.NET MVC教程三:ASP.NET MVC部署方式

    ASP.NET MVC编写的程序需要部署到IIS上面才能进行访问,部署方式分为两种. 一.直接用源代码部署 第一种方式可以直接使用源代码进行部署.部署步骤: 1.新建网站 在IIS里面选择网站,然后右 ...

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

    现在市场上的主流网络安全产品可以分为以下几个大类:1.基础防火墙FW/NGFW类 主要是可实现基本包过滤策略的防火墙,这类是有硬件处理.软件处理等,其主要功能实现是限制对IP:port的访问.基本上的 ...

  7. 介绍几种SSIS部署方式

    介绍 如果你已经开发完一个不错的SSIS包并且能够在你的本地完美的运行,每个任务都亮起绿色的通过标志.这时为了能够让这个包处理能够在指定时间运行,你需要将其发布到一个服务器上,并做好相关配置.作为开发 ...

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

    当前部署Linux.NET环境的方式可谓是五花八门,既有传统的源码编译的方式.又有各式各样的一键安装脚本.还有绿色包安装方式,而随着Mono官方的新站上线,更增加了采用RPM包的部署方式.那对于一名L ...

  9. 使用Kylin构建企业大数据分析平台的4种部署方式

    本篇博客重点介绍如何使用Kylin来构建大数据分析平台.根据官网介绍,其实部署Kylin非常简单,称为非侵入式安装,也就是不需要去修改已有的 Hadoop大数据平台.你只需要根据的环境下载适合的Kyl ...

随机推荐

  1. 4. Vue - 指令(Add)

    一.指令系统 1. v-text ​ v-text主要用来更新textContent,可以等同于JS的text属性. <span v-text="msg"></s ...

  2. RAID几种方式

    RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失 ...

  3. jQuery核心(一)

    API文档:http://jquery.cuishifeng.cn/ 一. jQuery.extend(object) 用于扩展jQuery对象本身.用来在jQuery命名空间上增加新函数. jQue ...

  4. 用 FFLIB 实现 Apex 企业设计模式

    Apex 企业设计模式将应用分为服务层.模型层.选择逻辑层.工作单元几个部分.FFLIB 是一个开源的 Apex 框架,可以帮助开发者快速建立相关的功能. FFLIB 的安装 FFLIB 可以直接部署 ...

  5. 近似计算一个对象在js占用内存

    内存 在很久之前,我就想查看一个对象在JS里占用多少内存了,直到最近由于线上使用了需要计算从服务端传输数据的大小,让这个需求尤为强烈. 预备知识 我们现在使用的js是高级语言,它在内存细节之上建立一个 ...

  6. [LOJ 6433][PKUSC 2018]最大前缀和

    [LOJ 6433][PKUSC 2018]最大前缀和 题意 给定一个长度为 \(n\) 的序列, 求把这个序列随机打乱后的最大前缀和的期望乘以 \(n!\) 后对 \(998244353\) 取膜后 ...

  7. xLua 学习

    xLua https://github.com/Tencent/xLua 文档 https://tencent.github.io/xLua/public/v1/guide/index.html FA ...

  8. React服务器端渲染框架next.js项目实战及部署上下文context问题解决办法

    在前段时间折腾过搭建react服务器端项目架构,点击这里了解下,正好最近有个重构PC网站的需求,考虑SEO等因素.在做技术选型的时候决定采用nextjs.项目开发过程中,nextjs的体验非常棒,个人 ...

  9. cocos2dx 3.17(Windows下) 接入skynet和sprotol

    大致流程一致,但是他的github上的版本,没有Windows的版本.打开他的win的工程会提示缺少一个模块. 本人环境 cocos2dx 3.17.1 当前最新 skynet-无视-当前最新 VS2 ...

  10. python接口自动化4-常用取token值方法

    前言 在接口测试中我们经常是需要一个登陆token,或者获取其他用到的参数来关联下一个接口用到的参数.这里介绍一些本人常用的方法. 一.简介 不过在哪里我们也是能实现自动化api测试的,我们都知道to ...