WEB 应用防护系统的部署方式

news2024/11/8 11:50:12

在当今数字化飞速发展的时代,WEB 应用面临着来自各方的安全威胁,而 WEB 应用防护系统(WAF)的部署成为了保障网络安全至关重要的环节。以下将详细介绍几种常见的 WEB 应用防护系统部署方式。
根据 WAF 接入网络后的工作方式,WAF 的部署方式分为如下几类:

0x1 串联部署

串接部署采用透明代理模式, WAF 以代理服务器的方式运行在网络中,但用户以网站服务器
IP 地址访问网站,不需要指定 WAF IP 地址、端口等信息。串联部署配置简单,即插即用,不需要客户网络做较大改动,应用于大部分用户网络中。但是因流量要经过 WAF,如果 WAF 设备自身出现问题可能会影响到客户网络通信。
串联部署支持 WAF 带外管理和 WAF 带内管理。

配置 WAF 的接口时,需注意以下事项:
在开启防篡改功能和进行扫描防护时,LAN 口需要配置 IP 地址。
同一设备不同接口不能配置相同网段的 IP 地址。

0x1.1 带外管理 IP 部署

WAF 带外管理 IP 部署,即 WAF 的带外管理口( M 口)连接到网络设备(一般是交换机或路
由器)上。具体部署结构如图 所示。

0x1.2 带内管理 IP 部署

WAF 带内管理 IP 部署,即在 WAF WAN 口或 LAN 口上配置管理 IP 地址,可由同侧网络通
过该 IP 地址对 WAF 进行管理,部署方式如下图 所示。图中的防火墙设备也可以是路由器
等三层设备。

0x2 旁路部署

旁路部署是将 WAF 旁路接入网络中,访问服务器的流量先被牵引到 WAF 进行检测,之后
WAF 再将流量注入用户网络,而服务器回应客户端的流量经过 WAF 检测后注入用户网络回
应给客户端。 WAF 在旁路工作时,仅在物理拓扑上为旁路接入,但在逻辑上所有客户端与
Web 服务器之间的双向流量都需要经过 WAF 。旁路部署方式如图 所示。
 
旁路部署的最大优点是可以充分利用 WAF 的处理资源,仅对需要保护的服务器流量进行检
测及处理;当遇到 WAF 设备故障或达到性能上限时最坏的情况也仅会对经过 WAF 设备的流
量产生影响,对原链路的其它系统或应用无影响。

旁路部署时,WAF 对客户端侧透明,故旁路部署也称作半透明代理工作模式。以此工作模式
部署 WAF 后,通过在路由设备上修改去往服务器 IP 的路由使对服务器的请求流量可到达
WAF ,客户端侧的设备(客户端主机、 WAF 前的防火墙等)上看到的对 Web 服务器的请求
仍是使用原来的服务器 IP 与服务器端口。

同时 WAF 对服务器侧为代理工作模式,为保证服务器的 HTTP 响应可以回到 WAF ,在将请求
发送到服务器侧时, WAF 以自身接口的 IP 地址作为源 IP 地址,因此服务器侧设备(服务器、
WAF 后的防火墙)上看到对 Web 服务器的请求均是由 WAF 接口 IP 地址发起。

为保存真实客户端的 IP 地址信息, WAF 按照标准代理服务器处理方式,将客户端 IP 地址添
加到请求的 X-Forwarded-For 域中,可供 Web 服务器及 Web 应用程序记录、使用。

旁路部署适用于部署多业务网段服务器的网络环境,可以提供逻辑在线防护机制。部署灵活
性较好,可以实现业务分流,对核心系统影响较小。

0x3 镜像监听部署

镜像监听是指将 WAF 和交换机通过镜像口连接,并分别在 WAF 和交换机上进行配置,将流
Web 服务器的流量数据通过镜像口镜像一份到 WAF 设备上,供 WAF 进行分析、检测。镜
像监听的部署方式如下图 所示。
镜像方式主要有以下三种:

在交换机上设置,将 LAN 口的上、下行流量全部镜像到 Mirror 口,并通过 Mirror 口的
网线直接与 WAF 的镜像口连通。

在交换机上设置,将 WAN 口的上、下行流量全部镜像到 Mirror 口,并通过 Mirror 口的
网线直接与 WAF 的镜像口连通。

在交换机上设置,将 LAN 口的上行流量以及 WAN 口的下行流量全部镜像到 Mirror 口,
并通过 Mirror 口的网线直接与 WAF 的镜像口连通。

0x4 反向代理部署

反向代理是指将 WAF 部署在 Web 服务器前面,代替服务器接受来自 Internet 客户端的连接
请求,然后将请求转发给内部网络中的服务器,并将从服务器上得到的结果返回给 Internet
上请求连接的客户端, WAF 对外表现为一个服务器,反向代理的部署方式如图 所示。
在反向代理工作模式下,客户端与 Web 服务器互相均不可见。客户端侧直接访问 WAF 上的
接口 IP 地址,而服务器侧仅能看到来自 WAF 接口 IP 地址的访问。

在反向代理工作模式下,WAF 只对与代理策略匹配的 HTTP/HTTPS 流量进行代理转发,其余
HTTP/HTTPS 流量一律丢弃不进行处理。

为保存真实客户端的 IP 地址信息, WAF 按照标准代理服务器处理方式,将客户端 IP 地址添
加到请求的 X-Forwarded-For 域中,可供 Web 服务器及 Web 应用程序记录、使用。

反向代理工作模式需要改动 Web 服务器 IP 地址以及 DNS 解析,安全性更高。

0x5 插件式部署

为了解决 WAF 横向扩展和稳定性问题,绿盟推出全新插件化 WAF 部署方案,使得对业务稳
定性要求高的用户有了新的选择,做到真正网络的“零”影响。
插件式部署中, Nginx 服务器上的 WAF_Nginx 代理模块将流量转发至源站前,通过子请求将
流量复制一份发送给 WAF ,由 WAF 做检测,并将检测结果返回给代理模块,由 Nginx 完成
阻断动作。插件式部署模式如图 所示

0x6 部署方式比较

总之,选择合适的 WEB 应用防护系统部署方式需要综合考虑网络架构、应用类型、安全需求和预算等多方面因素。只有正确地部署 WAF,才能有效地抵御日益复杂的网络攻击,为 WEB 应用的安全稳定运行保驾护航。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2235794.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java——静态成员

一、静态变量(Static Variables) 1、静态变量是什么 静态变量,又被称为类变量,它使用 static 关键字修饰。静态变量是类级别的变量,在类加载时初始化。 2、静态变量的特点 类级别共享:静态变量在所有实…

Java | Leetcode Java题解之第542题01矩阵

题目: 题解: class Solution {static int[][] dirs {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};public int[][] updateMatrix(int[][] matrix) {int m matrix.length, n matrix[0].length;// 初始化动态规划的数组,所有的距离值都设置为一个很大…

996引擎 - 活捉NPC

996引擎 - 活捉NPC 引擎触发 - 引擎事件(QF)事件处理模块 GameEvent测试文件参考资料 引擎触发 - 引擎事件(QF) cfg_game_data 配置 ShareNpc1 可以将QM和机器人的触发事件全部转到 QF 引擎触发是通用的,TXT的所有触发转换成小写后在LUA中就可使用,如说明书中缺省可反馈至对接群…

【Linux系统编程】第四十三弹---多线程编程指南:线程终止方式与C++11中的thread

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、线程终止 1.1、pthread_exit() 1.2、pthread_cancel() 1.3、pthread_detach() 2、C11中thread 1、线程终止 问题7 …

【Mac】PD报错:无法为“Windows” 完成操作,虚拟机ID无效的解决办法

Parallels Desktop是Mac上一款非常常用的虚拟机软件,但是在使用过程中,可能会遇到一些问题不知道如何处理。比如有时会遇到PD报错:无法为“Windows 11”完成操作,虚拟机ID无效。 错误原因 电脑上安装过虚拟机,虚拟机被…

25-RVIZ CARLA插件

RVIZ插件(RVIZ plugin)提供了一个基于RVIZ(RVIZ) ROS包的可视化工具。 用RVIZ运行ROS桥接 RVIZ插件需要一个名为ego_vehicle的自车。要查看ROS-bridge使用RVIZ的示例,请在运行CARLA服务器的情况下执行以下命令: 1. 启用RVIZ启动ROS桥接: # …

spark-本地模式的配置和简单使用

python环境的安装 在虚拟机中,只能安装一个python的版本,若想要安装别的版本,则需要卸载之前的版本——解决方式,安装Anaconda 通过百度网盘分享的文件:Anaconda3-2021.05-Linux-x86_64.sh 链接:https://…

【算法】递归+回溯+剪枝:78.子集

目录 1、题目链接 2、题目 3、解法(回溯剪枝) 4、代码 1、题目链接 78.子集(LeetCode) 2、题目 3、解法(回溯剪枝) 思路: 枚举子集(答案)的第一个数选谁,第二个数选谁,第三个数选谁&#x…

Aop+自定义注解实现数据字典映射

数据字典 Web项目开发中,字典表的一般都会存在,主要用来给整个系统提供基础服务。 比如男女性别的类型可以使用0和1来进行表示,在存储数据和查询数据的时候,就可以使用字典表中的数据进行翻译处理。 再比如之前做的一个项目中宠物…

【NLP自然语言处理】深入探索Self-Attention:自注意力机制详解

目录 🍔 Self-attention的特点 🍔 Self-attention中的归一化概述 🍔 softmax的梯度变化 3.1 softmax函数的输入分布是如何影响输出的 3.2 softmax函数在反向传播的过程中是如何梯度求导的 3.3 softmax函数出现梯度消失现象的原因 &…

华为eNSP:QinQ

一、什么是QinQ? QinQ是一种网络技术,全称为"Quantum Insertion",也被称为"Q-in-Q"、"Double Tagging"或"VLAN stacking"。它是一种在现有的VLAN(Virtual Local Area Network&#xff0…

细说STM32单片机USART中断收发RTC实时时间并改善其鲁棒性的另一种方法

目录 一、工程目的 1、目标 2、通讯协议及应对错误指令的处理目标 二、工程设置 三、程序改进 四、下载与调试 1、合规的指令 2、不以#开头,但以;结束,长度不限 3、以#开头,不以;结束,也不包含;,长…

Redis设计与实现 学习笔记 第十六章 Sentinel

Sentinel(哨岗、哨兵)是Redis的高可用性(high availability)解决方案:由一个或多个Sentinel实例(instance)组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的从服…

前端三件套-css

一、元素选择器 元素选择器&#xff1a;利用标签名称。p,h1-h6...... 行内样式&#xff08;内联样式&#xff09;&#xff1a;例如<p style"color:red;font-size:50px"> id选择器&#xff1a;针对某一个特定的标签来使用。以#定义。 class&#xff08;类&a…

MoonBit 双周报 Vol.59:新增编译器常量支持,改进未使用警告,支持跨包函数导入...多个关键技术持续优化中!

2024-11-04 MoonBit更新 增加了编译期常量的支持。常量的名字以大写字母开头&#xff0c;用语法 const C ... 声明。常量的类型必须是内建的数字类型或 String。常量可以当作普通的值使用&#xff0c;也可以用于模式匹配。常量的值目前只能是字面量&#xff1a; const MIN_…

新疆高校大数据实验室案例分享

高校大数据实验室建设&#xff0c;企业可以提供技术支持、实训平台和项目案例&#xff0c;高校则提供科研和教学资源&#xff0c;实现产学研一体化。不仅有利于大数据技术的应用和人才培养也有利于区域发展。 泰迪与新疆合作的院校包括新疆大学、昌吉学院等 新疆大…

Capcut,更适合做TikTok运营的“剪映”

剪映这一次的更新&#xff0c;可谓是引来许多视频创作者的怒火。原本免费的功能&#xff0c;更新之后需要vip才能使用了&#xff1b;原本的vip功能&#xff0c;则需要升级至svip&#xff0c;甚至一些功能&#xff0c;需要会员积分才能使用。 许多运营TikTok的小伙伴一直在用剪映…

linux centos 安装redis

安装 wget https://download.redis.io/releases/redis-7.4.0.tar.gz解压redis-7.4.0.tar.gz文件 tar -zxvf redis-7.4.0.tar.gz进入redis安装目录 cd redis-7.4.0make时报错&#xff0c;因为需要安装gcc&#xff0c;gcc安装需要联网安装 修改端口 编辑文件用vi。nano命令cen…

第一个纯血鸿蒙应用(Napi开发-ArtTS调用C/C++)

1.行业背景 纯血鸿蒙&#xff0c;即鸿蒙Next版已于2014年1月正式发版&#xff0c;鸿蒙生态设备数量已经突破10亿台&#xff0c;已经有超过15000个应用和元服务上架。鸿蒙生态不只是移动设备这么简单&#xff0c;他打造的是一个18n的全场景战略&#xff0c;真正做到了“万物互联…

2.ARM_ARM是什么

CPU工作原理 CPU与内存中的内容&#xff1a; 内存中存放了指令&#xff0c;每一个指令存放的地址不一样&#xff0c;所需的内存空间也不一样。 运算器能够进行算数运算和逻辑运算&#xff0c;这些运算在CPU中都是以运算电路的形式存在&#xff0c;一个运算功能对应一种运算电…