WAF基本原理与部署方式

article/2025/9/15 21:27:57

WAF介绍

WAF是什么?

WAF的全称是(Web Application Firewall)即Web应用防火墙,简称WAF。

国际上公认的一种说法是:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。

WAF常见的部署方式:

在这里插入图片描述

WAF常见部署方式

WAF一般部署在Web服务器之前,用来保护Web应用。

那么WAF能做什么?

  • WAF可以过滤HTTP/HTTPS协议流量,防护Web攻击。
  • WAF可以对Web应用进行安全审计
  • WAF可以防止CC攻击
  • 应用交付

CC攻击:通过大量请求对应用程序资源消耗最大的应用,如WEB查询数据库应用,从而导致服务器拒绝服务 ,更详细CC攻击介绍:

https://www.cnblogs.com/wpjamer/p/9030259.html

应用交付:实际上就是指应用交付网络(Application Delivery Networking,简称ADN),它利用相应的网络优化/加速设备,确保用户的业务应用能够快速、安全、可靠地交付给内部员工和外部服务群。

从定义中可以看出应用交付的宗旨是保证企业关键业务的可靠性、可用性与安全性。应用交付应是多种技术的殊途同归,比如广域网加速、负载均衡、Web应用防火墙…针对不同的应用需求有不同的产品依托和侧重。

WAF不能做什么?

  • WAF不能过滤其他协议流量,如FTP、PoP3协议
  • WAF不能实现传统防护墙功能,如地址映射
  • WAF不能防止网络层的DDoS攻击
  • 防病毒

WAF与传统安全设备的区别:

传统安全设备特点:

  • IPS:针对蠕虫、网络病毒、后门木马防护,不具备WEB应用层的安全防护能力

  • 传统FW:作为内网与外网之间的一种访问控制设备,提供3-4层的安全防护能力,不具备WEB应用层的安全防护能力

  • UTM/NGFW:优势,UTM或者NGFW把多种安全能力融合为一体(上网行为管理、IPS、防病毒、WEB安全防护)

    劣势:各安全引擎模式开启之后设备综合性能势必降低!

    n多核架构/MIPS架构无法实现对HTTP/HTTPS数据包的深度检测(包括转换编码、拼接攻击语句、大小写变换、超大报文等),WEB应用攻击的检出率低、漏报率高!

WAF特点:

WAF是专业的应用层安全防护产品。

  • 具备威胁感知能力
  • 具备HTTP/HTTPS深度检测能力. 检出率高,误报率低/漏报率低
  • 高性能
  • 复杂环境下高稳定性

WAF的主要功能:

WAF主要是通过内置的很多安全规则 来进行防御。

可防护常见的SQL注入、XSS、网页篡改、中间件漏洞等OWASP TOP10攻击行。

当发现攻击后,可将IP进行锁定,IP锁定之后将无法访问网站业务。

也支持防止CC攻击,采用集中度和速率双重检测算法。

WAF的主要厂家:

  • 国内:安恒,绿盟,启明星辰

  • 国外:飞塔,梭子鱼,Imperva

WAF的发展历程

WAF的发展主要经历了IPS架构,反向代理,透明代理和流模式。

在这里插入图片描述

图:WAF的发展历程

IPS架构的特点:

优势:

  • 建立在原IPS架构之上,部署简单
  • 不改变数据包内容
  • 性能较好

劣势:

  • 误报及漏报率较高
  • 难以解决HTTP慢攻击及分片攻击
  • 难以实现复杂应用,如应用交付

反向代理特点:

优势:

  • 单臂部署,不需要串接在网络中
  • 实现应用交付
  • 安全防护能力好

劣势:

  • 会改变数据包内容
  • 性能较差
  • 需要改变网络配置,故障恢复慢。

透明代理特点:

优势:

  • 半透明部署,不需要改变网络配置
  • 实现应用交付
  • 安全防护能力好
  • 故障恢复快

劣势:

  • 较少更改数据包内容
  • 性能一般

流模式特点:

优势:

  • 全透明部署,不改变网络配置/数据包内容
  • 实现应用交付
  • 安全防护能力好
  • 故障恢复快
  • 性能好

劣势:

  • 对特殊构造攻击取决于WAF缓存大小

WAF关键技术

WAF的透明代理技术原理:

在这里插入图片描述

图:WAF透明代理技术原理

透明代理技术基于TCP连接,网络协议栈应用层的代理技术,实现与客户端以及服务器双向独立的TCP连接建立,隔绝客户端和服务器的直接TCP连接建立。通讯过程如下:

在这里插入图片描述

图:WAF通信过程

WAF主要会更改如下数据包内容项:

  • 客户端TCP源端口
  • 客户端源MAC/服务器源MAC地址
  • 长短连接协议版本
  • MIME类型

Web应用安全防护策略:

基于WEB攻击特征库的正则表达式的匹配方式;策略规则组织成规则链表的方式,深度检查请求头部、请求提交内容,响应头部,响应内容体等内容进行逐条匹配检查。

主要可以防止以下攻击:

  • HTTP协议合规性
  • SQL注入阻断
  • 跨站点脚本/CSRF攻击防护
  • 表单/cookie篡改防护
  • DoS攻击防护
  • 敏感信息泄漏
  • 目录遍历
  • 防扫描器探测攻击

Web应用安全审计:

WAF可以审计所有用户访问行为,通过对访问记录的深度分析,可以发掘出一些潜在的威胁情况,对于攻击防护遗漏的请求,仍然可以起到追根索源的目的。

防CC:

CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。

防止CC攻击的原理:

  • 可定义多条DOS策略

  • 可支持多个URL匹配算法

  • 可支持应用层IP匹配算法

Web应交交付:

“应用交付”,实际上就是指应用交付网络(Application Delivery Networking,简称ADN),它利用相应的网络优化/加速设备,确保用户的业务应用能够快速、安全、可靠地交付给内部员工和外部服务群。

从定义中可以看出应用交付的宗旨是保证企业关键业务的可靠性、可用性与安全性。应用交付应是多种技术的殊途同归,比如广域网加速、负载均衡、Web应用防火墙…针对不同的应用需求有不同的产品依托和侧重。

WAF一般可做的应用交付主要是通过:

web加速与数据压缩 优化服务器性能。

WAF的多种部署模式

WAF一般支持透明代理,反向代理,旁路监控,桥模式部署模式。

透明代理串接模式:

在这里插入图片描述

图:WAF部署场景-透明代理串接模式

透明代理部署模式支持透明串接部署方式。串接在用户网络中,可实现即插即用,无需用户更改网络设备与服务器配置。部署简单易用,应用于大部分用户网络中。

部署特点:

  1. 不需要改变用户网络结构,对于用户而言是透明的
  2. 安全防护性能强
  3. 故障恢复快,可支持Bypass

透明代理串接模式是采用最多的部署模式,防御效果好。

反向代理模式:

反向代理又分为两种模式,反向代理(代理模式)与反向代理(牵引模式)。

代理模式:

在这里插入图片描述

图:WAF部署场景-反向代理(代理模式)

WAF采用反向代理模式以旁路的方式接入到网络环境中,需要更改网络防火墙的目的映射表,网络防火墙映射WAF的业务口地址,将服务器的IP地址进行隐藏。

即在图中,当外网去访问www.test.com时,会解析到110.1.1.1。在网络防火墙FW上,会通过nat-server技术,将110.1.1.1外网地址解析为192.168.1.1的内网地址。而192.168.1.1为WAF的业务口地址,WAF会去访问后端服务器192.168.1.100,将包返回给WAF,WAF再返回给用户,起到了代理作用,隐藏了真正的Web服务器地址。

部署特点:

  1. 可旁路部署,对于用户网络不透明,防护能力强
  2. 故障恢复时间慢,不支持Bypass,恢复时需要重新将域名或地址映射到原服务器。
  3. 此模式应用于复杂环境中,如设备无法直接串接的环境。
  4. 访问时需要先访问WAF配置的业务口地址。
  5. 支持VRRP主备

牵引模式:

在这里插入图片描述

图:WAF部署场景-反向代理(牵引模式)

WAF采用反向代理模式以旁路的方式接入到网络环境中,需要在核心交换机上做策略路由PBR,将客户端访问服务器的流量牵引到WAF上,策略路由的下一跳地址为WAF的业务口地址。

部署特点:

  1. 可旁路部署,对于用户网络不透明。
  2. 故障恢复时间慢,不支持Bypass,恢复时需要删除路由器策略路由配置。
  3. 此模式应用于复杂环境中,如设备无法直接串接的环境。
  4. 访问时仍访问网站服务器

旁路监控模式:

在这里插入图片描述

图:WAF部署场景-旁路监控模式

采用旁路监听模式,在交换机做服务器端口镜像,将流量复制一份到WAF上,部署时不影响在线业务。在旁路模式下WAF只会进行告警而不阻断

透明桥模式:

在这里插入图片描述

图:WAF部署场景-透明桥模式

透明桥模式是真正意义上的纯透明,不会改变更改数据包任何内容,比如源端口、TCP序列号,桥模式不跟踪TCP会话,可支持路由不对称环境。

WAF可靠性部署-透明代理下的HA主备模式:

在这里插入图片描述

图:WAF部署场景-透明代理下的HA主备模式

双机HA模式下,WAF工作于Active,Standby的模式,即其中一台WAF处于检测防护模式时,另一台为备用,不进行工作。当主WAF出现故障,或者与主WAF连接的上下行链路出现故障时,备用的WAF将协商进入检测防护模式。

流量的切换:根据流量来进行判断,从哪边来的流量走哪边

当两边同时有流量的时候,需要使用主主模式,不需要心跳线。

WAF可靠性部署-反向代理下的HA主备模式:

在这里插入图片描述

图:WAF部署场景-反向代理下的HA主备模式

WAF在反向代理下通过VRRP协议来协商主备关系,正常情况下只有主机工作,备机不工作,当WAF主机出现问题时,备机自动切换为主机进行工作。

云WAF部署:

WAF也可以在云主机上通过安装软件的方式进行部署。不过那样单台WAF只能采用反向代理的部署模式。

云WAF与硬件WAF相比,缺少了一些硬件独有的功能,比如其他多种部署防护四,Bypass,链路聚合等。而云WAF的一个优势是可扩展性强,一旦性能不足可快速增加云WAF。


参考资料:

CC攻击: https://www.cnblogs.com/wpjamer/p/9030259.html

应用交付:https://baike.baidu.com/item/应用交付/3564846?fr=aladdin



http://chatgpt.dhexx.cn/article/5iXrVkKF.shtml

相关文章

Windows安装SSH

文章目录 1.微软官网安装教程1.打开powershell2.查看是否安装OpenSSH3.安装ssh客户端4.安装ssh服务端5.启动并配置 OpenSSH 服务器 2.自己安装配置1.下载安装包2.解压3.配置环境变量4.服务安装5.开放端口6.配置开机自启sshd服务7.启动ssh服务端8.测试ssh连接 1.微软官网安装教程…

Linux修改ssh端口

记录:340 场景:在CentOS 7.9操作系统上,修改默认的ssh端口。ssh默认22端口,在实际开展业务中的生产环境中,通常会修改为指定端口号,以满足规范。 版本: 操作系统:CentOS 7.9 1.修…

SSH 基础用法

1.查看网络环境是否通畅 修改主机名称:hostnamectl set-hostname xxxx 查看网络信息:ifconfig 或者用 ip a show xxxx(网卡配置文件名称) 测试网络连接 :ping xxx.xxx.xxx.xxx 输入对应的ip地址 2.使用方式 连接方式: ssh ro…

SSH介绍以及使用

什么是ssh? SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用…

SSH详细使用教程

SSH简介 SSH是一种网络协议,用于计算机之间的加密登录。 适用条件 客户端防火墙禁止80端口的出站流量,无法上网。ssh通过tcp 22端口传输数据,实现上网功能。 SSH常用命令 -C 对传输数据进行压缩,减小…

SSH 公钥私钥

一、简介 一、SSH key简介 要了解SSH key简介,首先得熟悉SSH,SSH 密钥对可以让您方便的登录到 SSH 服务器,而无需输入密码。SSH 密钥对总是成双出现的,一把公钥,一把私钥。公钥可以自由的放在您所需要连接的 SSH 服务…

最全SSH命令 - 11种用法

SSH命令 1.使用ssh连接远程主机2.ssh连接到其他端口3.使用ssh在远程主机执行一条命令并显示到本地, 然后继续本地工作4.在远程主机运行一个图形界面的程序5.如何配置 SSH6.构建 ssh 密钥对7.查看是否已经添加了对应主机的密钥8.删除主机密钥9.绑定源地址10.对所有数据请求压缩1…

什么是SSH

一、什么是远程连接服务器 1、远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录linux主机以取得可操作主机接口(shell),而登录后的操作感觉就像是坐在系统前面一样。 2、远程连接服务器的功能 1&…

Ubuntu 怎么开启SSH

这里使用虚拟机演示,ubuntu版本 22.10 1、安装ubuntu时启用SSH 在安装ubuntu时会提示是否需要安装 OpenSSH server 如果在这里勾选安装后,则不需要在使用命令进行安装 OpenSSH server 2、使用命令安装启用 SSH 01、切换 root 用户,如果未设…

SSH是什么??

首先,SSH是strutsspringhibernate的一个集成框架,它不是一个框架,而是把多个框架紧密的结合在一起,用于构建灵活的多层Web应用程序。然后详细说一下组成SSH的这三个框架: Struts 1.什么是Struts?&#xff…

linux之ssh命令详解

ssh是什么呢?👉百科上是这么说的 随便插张图 简单来说,在linux中SSH是非常常用的工具,通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上,也就是说,我们可以通过ssh来远程控制我们的电脑或者服务器…

什么是SSH 以及常见的ssh 功能

一、SSH SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对的实现是OpenSSH,它是自由软件,应用非常广泛。这里只讨论SSH在Linux Shell中的用法。如果要在Windows系统中使用SSH,会用到另一…

ssh服务介绍

阅读目录 1.1 SSH服务协议说明1.2 SSH加密技术说明1.3 ssh知识要点:1.4 SSH服务软件详细说明1.5 ssh服务配置文件说明:1.6 ssh服务认证类型1.7 基于秘钥登录配置1.8 telnet服务简介1.9 进行免密码scp传输测试1.10 使用sftp进行基于密钥的文件传输1.11 ss…

SSH 详解(实践及应用)

目录 1.SSH 基本知识 2.SSH 客户端 2.1 安装 2.2 基本用法 2.3 命令行配置项 2.4 配置文件 3 SSH 密钥 3.1 密钥生成 3.2 公钥上传 4 SSH 代理 4.1 动态转发 4.2 本地转发 4.3 远程转发 4.4 实际运用 5 SCP命令 5.1 本地复制到远程 5.2 远程复制到本地 5.3 两…

H3C双向NAT典型组网配置案例

组网说明: 本案例采用H3C HCL模拟器来模拟实现双向NAT的组网,由于模拟器和本物理机的局限性,因此采用模拟器的S5820交换机开启WEB功能模拟成为WEB服务器。在该网络拓扑图中,内网和外网已经有了明确的标识,某局点申请了…

基于华三HCL模拟器IPSec VPN组网与配置

一、实验原理 IPsec在互联网中提供端到端的数据报通信安全,通过加密和认证方式保护IP数据报及其封装的数据。IPsec是一个框架协议,包括AH、ESP、SA、IKE等协议。IPsec可以采用直接传输和隧道封装两种模式工作,在通过互联网承载的站点间VPN中…

华为IPSec VPN的配置

目录 概念 阶段一 阶段二 IPSec的配置实验 先进行基配置,保证路由可达 配置阶段一 配置ike提案 配置ike邻居 配置阶段二 定义感兴趣流 把ipsec策略应用到接口 结果测试 概念 IPSec是一个框架,它不是具体指某个协议,而是定义了一个框…

【组网工程】cisco packet tracer 路由器组网

验证性 | 设计性 路由器组网 正文开始Assassin目录: 验证性 | 设计性 路由器组网1. 静态路由和默认路由配置:1.1 配置ip地址 | ping:1.2 配置静态路由 | 默认路由: 2. RIP路由协议配置:2.1 配置ip地址 | ping&#xf…

MPLS 网络技术 — 组网方案

目录 文章目录 目录单域 MP-BGP MPLS VPN基本组网方案Hub & Spoke 组网方案Extranet 组网方案跨域 MP-BGP MPLS VPNInter-Provider Backbones Option AInter-Provider Backbones Option BInter-Provider Backbones Option C单域 MP-BGP MPLS VPN 单域 MP-BGP MPLS VPN 在一…

常见组网方式

随着家庭上网场景的不断增多,客厅、书房、卧室渐渐都需要接入网络,单独路由器Wi-Fi已无法全覆盖,而多台路由器组网技术的出现,极大改善了家庭的上网体验。经过多年的演进,从传统的中继组网、ACAP组网、电力猫组网&…