当前位置: 首页 > news >正文

网络安全 | WAF防护开通流程与技术原理详解

关注:CodingTechWork

引言

  随着互联网安全形势的日益严峻,Web应用防火墙(WAF, Web Application Firewall)逐渐成为网站和应用的标准防护措施。WAF能够有效识别和防止如SQL注入、跨站脚本攻击(XSS)、恶意流量等多种网络攻击,从而保护企业Web应用免受潜在威胁。对于企业来说,要启用WAF防护,必须经历一系列的流程,包括源站的改造、DNS配置、WAF服务商的接入等。
  本文将详细介绍WAF防护开通的流程,重点解析客户域名源站的改造、DNS接入以及WAF相关配置的技术原理,帮助企业全面理解如何顺利实现WAF防护,保障Web应用的安全。

WAF防护架构

  WAF的基本架构是部署在应用服务器和客户端之间,所有的HTTP请求和响应都会先经过WAF进行流量分析和过滤。

WAF主要的工作

  • 拦截恶意流量:通过分析HTTP请求,拦截SQL注入、XSS攻击等常见的Web攻击。
  • 清洗合法流量:通过对请求的深度分析,清洗掉不良流量,将合法流量转发给源站。
  • 防止DDoS攻击:识别并防御针对Web应用的分布式拒绝服务攻击。
  • … …

大致的流量走向

  • 客户端(Client):用户通过浏览器发起HTTP请求。
  • DNS解析:用户请求域名会通过DNS解析获取目标IP。
  • WAF域名服务器:客户将域名解析到WAF服务商提供的DNS服务器,WAF作为中介进行流量检测和清洗。
  • WAF防护:WAF对流量进行分析、拦截和清洗。
  • 源站(Origin Server):清洗后的流量转发到源站,源站返回响应。

流量走向示意图

客户端 → DNS查询 → WAF域名服务器 → WAF防护 → 源站响应 → 客户端接收响应

WAF防护开通的详细流程

客户源站的改造

  在启用WAF之前,客户需要对Web应用的源站进行一些改造,确保源站能够与WAF进行顺利对接,保证WAF能够识别并过滤恶意流量,同时确保源站的流量能够正确无误地传递。

配置源站架构

  源站是承载Web应用的服务器,需要保证其具备高可用性和扩展性。在接入WAF后,源站的架构可能会面临更多流量和安全压力,因此需要进行一些必要的调整。

  • 负载均衡:为了避免流量过大导致源站宕机,客户通常会配置负载均衡,使得流量分布到多个源站。
  • 服务器性能调优:源站需要确保能够处理来自WAF的流量,并能快速响应请求。必要时可以对Web服务器进行性能优化。

SSL证书配置

  如果客户网站使用HTTPS协议,WAF和源站之间的流量将被加密,因此客户需要确保WAF和源站之间的SSL通信能够正常工作。

  • WAF端SSL证书:WAF需要具备SSL证书来解密来自客户端的加密请求。可以选择由WAF服务商提供的SSL证书,或者自己配置证书。
  • 源站SSL证书:如果源站与WAF之间的流量也需要加密,则源站也需要配置自己的SSL证书。

修改源站配置

  在源站上,可能需要做以下配置来支持WAF的正常工作:

  • 配置真实IP传递:WAF将拦截的请求转发给源站时,通常会修改请求的源IP地址,因此源站需要通过HTTP头(如X-Forwarded-For)获取真实的客户端IP。
  • 日志记录与审计:确保源站能够对流量进行详细的日志记录,便于事后分析。

DNS配置与域名解析

  DNS配置是WAF防护开通的重要环节之一。通过将网站的域名指向WAF,所有的流量将首先经过WAF进行处理,只有被判定为合法的流量才会被转发到源站。

修改DNS记录

  客户需要修改域名的DNS记录,将原本指向源站的A记录或CNAME记录,改为指向WAF服务商的IP地址或域名。具体步骤如下:

  • A记录或CNAME记录更新:将网站的A记录或CNAME记录修改为WAF服务商提供的DNS解析地址或IP地址。
  • 域名解析服务器切换:客户可以将自己的域名解析服务器切换到WAF服务商的权威DNS服务器,或者通过配置将DNS查询转发给WAF提供的DNS服务器。

权威DNS服务商配置

  WAF服务商通常会提供权威DNS服务,客户需要将域名的DNS管理权限交给WAF服务商。这一步骤中,WAF服务商将会管理域名的DNS解析,并负责所有的流量过滤工作。

  • WAF服务商提供的DNS服务:将域名的DNS解析设置指向WAF服务商的DNS服务器。WAF服务商将根据客户端请求的合法性判断流量是否需要进一步清洗。
  • TTL设置:TTL(Time to Live)是DNS记录的有效时间,设置较低的TTL有助于加速DNS记录的更新和变更。

WAF配置与防护策略

  在完成源站改造和DNS配置后,下一步就是配置WAF的防护策略。WAF服务商通常会提供一个管理界面,客户可以在该界面上配置和调整防护规则。

配置安全防护规则

  WAF的安全防护规则能够识别并拦截各种攻击,客户需要根据实际需求配置这些规则。

  • SQL注入防护:SQL注入是Web应用中最常见的攻击类型,WAF应当启用SQL注入防护规则。
  • XSS攻击防护:XSS(跨站脚本攻击)可以窃取用户信息或执行恶意操作,WAF应配置XSS防护规则。
  • 跨站请求伪造(CSRF):WAF可防止攻击者诱导用户浏览恶意网页发起不正当请求,保护Web应用免受CSRF攻击。
  • CC攻击防护:对于暴力破解或频繁访问的情况,WAF可以配置CC(Challenge Collapsar)攻击防护规则。
  • 自定义规则:根据企业的具体需求,客户可以自定义WAF规则,如特定路径的访问控制、API接口的保护等。
  • 白名单和黑名单配置:通过配置白名单,可以确保可信的流量不被误拦截;而黑名单可以有效屏蔽已知恶意来源的流量。
  • … …

流量分析与监控

  WAF不仅能够实时拦截恶意请求,还能够对流量进行分析,帮助客户识别潜在的安全威胁。客户可以通过WAF的管理面板查看流量统计数据、攻击日志和拦截记录。

  • 实时监控:查看攻击趋势,及时发现异常流量。
  • 日志分析:分析被拦截的请求,确定攻击来源和类型。
  • 报警机制:设置异常流量或攻击事件的报警机制,以便进行快速响应。

响应与回滚

  当WAF拦截异常流量时,通常会返回错误页面或其他提示。客户需要确保WAF在发生误拦截时能够进行回滚,并且能够灵活调整防护规则。

WAF防护流程

以下是WAF防护的具体流程:

  • 客户端请求:用户通过浏览器向Web应用发起请求。
  • DNS解析:客户端的DNS请求解析出WAF服务商提供的IP地址。
  • WAF接收请求:WAF接收到请求后,首先检查请求是否符合安全策略。
  • 恶意流量拦截:如果请求被判定为恶意流量,WAF将拒绝请求或返回错误信息。
  • 合法流量转发:WAF将合法请求转发到源站,源站处理请求并返回响应。
  • 响应返回客户端:源站响应通过WAF返回给客户端。

流量走向示意图

客户端 → DNS查询 → WAF域名服务器 → WAF防护 → 源站响应 → 客户端接收响应

总结

  本文主要是简单介绍通用的WAF开通流程,其实,WAF防护开通的流程涉及多个环节,包括源站改造、DNS配置、WAF策略设置等。通过合理配置源站架构和SSL证书,客户可以确保Web应用的高可用性和安全性。同时,WAF通过实时流量分析和防护机制,能够有效拦截和阻止各种网络攻击。

相关文章:

网络安全 | WAF防护开通流程与技术原理详解

关注:CodingTechWork 引言 随着互联网安全形势的日益严峻,Web应用防火墙(WAF, Web Application Firewall)逐渐成为网站和应用的标准防护措施。WAF能够有效识别和防止如SQL注入、跨站脚本攻击(XSS)、恶意流…...

模型 断裂点理论(风险控制)

系列文章 分享模型,了解更多👉 模型_思维模型目录。设置小损失,防止大风险。 1 断裂点理论的应用 1.1 电路系统中的保险丝应用 背景介绍: 在工程学中,电路系统是现代科技中不可或缺的一部分,广泛应用于各…...

02.MPLS动态LSP配置实验

MPLS动态LSP配置实验 MPLS动态LSP配置实验基本配置MPLS部分查看LDP会话基本信息查看详细信息查看MPLS动态LSP配置实验 基本配置 接口地址和OSPF配置,省略!全网互通! 注意:8.8.8.8和9.9.9.9也要宣告! MPLS部分 [ar1]mpls lsr-id 1.1.1.1 [ar1]mpls Info: Mpls starting,…...

MySQL 中的Buffer Pool

深入解析 MySQL Buffer Pool:优化数据库性能的核心 引言 在关系型数据库管理系统(RDBMS)中,磁盘I/O通常是性能瓶颈之一。为了缓解这个问题,MySQL的InnoDB存储引擎引入了Buffer Pool这一概念。Buffer Pool作为内存中的…...

修复微pe系统uefi引导损坏windows failed to start...

打开微pe,点右下角生成iso镜像 再打开iso镜像,把里面所有文件复制到微pe启动盘的EFI分区(使用diskgenius才能看到该分区) 虚拟机启动测试...

【Vue3中使用crypto-js】crypto-js加密解密用法

目录 1、安装crypto2、创建crypto.js文件3、在main.js主文件中进行引用4、页面中进行使用5、实现效果展示6、加密模式解析以及iv参数使用 1、安装crypto npm install crypto-js 如果是在Typescript版本需要再安装 npm install --save types/crypto-js2、创建crypto.js文件 注…...

JavaWeb开发(九)JSP技术

1. JavaWeb JSP技术 1.1. JSP简介 1.1.1. 什么是JSP JSP全名为Java Server Page 是为了简化servlet的工作而出现的替代品。在JSP中java代码与HTML共同存在,其中HTML代码用于展示静态的内容,java代码用来展示动态的内容。 1.1.2. 为什么出现JSP技术 19…...

PADS Lyout布局布线实战技巧:布线优化及解决碎铜问题

1、通过加过孔 通过过孔复制 复制粘贴 也可以选择网络,选择右键,添加过孔来。 在一些孤铜的地方加过孔,加不了过孔的情况下,怎么办? 2、通过挖掉,不让铜在孤零零的地方。 右键,选择矩形&a…...

上下游服务间解耦的技术与管理

一、解耦为何至关重要 在当今软件研发的复杂生态中,耦合问题如影随形,困扰着众多开发者与企业。当多个模块、系统或团队紧密交织,相互依赖程度不断攀升,仿佛一张错综复杂的网,牵一发而动全身。就拿电商系统来说&#…...

如何解决HTML和CSS相关的问题,什么情况下会导致元素被遮挡?

在开发过程中,HTML 和 CSS 中的元素遮挡问题通常是由于布局、定位、层级等因素导致的。在使用 Vue.js 时,这些问题依然常见,尤其是涉及到动态渲染、条件渲染和组件嵌套的场景。以下是一些常见的导致元素被遮挡的原因,并通过 Vue.j…...

Infineon PSoC 4 CapSense ModusToolbox IDE - 系统生态篇

本文档说明了 ModusToolbox 软体环境的 4 个层面,该环境为 CapSense 设备和生态系统提供支援。本文是 Infineon PSoC 4 CapSense ModusToolbox IDE-系统介绍的延伸篇 (Infineon PSoC 4 CapSense ModusToolbox IDE -系统介绍篇 - 大大通(简体站))。 什么是ModusToolb…...

[算法]布隆过滤器

布隆过滤器(Bloom Filter)是一种空间效率很高的概率型数据结构,它可以用来检测一个元素是否在一个集合中。它的特点是高效地插入和查询,但是有一定的误判率(False Positive)。误判率指的是错误地认为某个元…...

基于云效 Windows 构建环境和 Nuget 制品仓库进行 .Net 应用开发

作者:陆冬澄、周静 在现代软件研发体系中,.NET 平台由于其强大的功能、灵活性和丰富的开发工具,成为了构建 Windows 应用程序的热门选择。无论是桌面应用、Web 应用还是服务应用,.NET 提供了一系列强大的框架和工具,帮…...

Backend - C# asp .net core

目录 一、各大框架理解 (一)ASP.NET Core (二)ASP.NET Core Web Application (三)ASP.NET Core MVC (四)ASP.NET Core Web API (五)ASP.NET Core 和 EF …...

【合作原创】使用Termux搭建可以使用的生产力环境(九)

前言 在上一篇【合作原创】使用Termux搭建可以使用的生产力环境(八)-CSDN博客中我们讲到了如何安装IDEA社区版,并在Termux中安装VNC服务器,在proot-distro的Debian中启动xfce桌面,并通过这个方式解决了IDEA社区版中无…...

使用Supervisor在Ubuntu中实现后台自启动服务

在Ubuntu系统中,Supervisor是一个非常实用的进程管理工具,它可以让你的应用程序在后台运行,并且在系统启动时自动启动这些应用程序。下面,我将详细介绍如何在Ubuntu中使用Supervisor来实现后台自启动服务,并以一个具体…...

AIDD-人工智能药物设计-人工智能驱动的罕见病药物发现

JCIM | 人工智能驱动的罕见病药物发现 **罕见病(Rare Diseases,RDs)**是全球公共卫生领域的重大挑战,其特点是疾病种类繁多、症状复杂且诊断困难。尽管过去几十年出台了如《孤儿药法案》等法规推动研发,但超过90%的罕…...

安卓硬件加速hwui

安卓硬件加速 本文基于安卓11。 从 Android 3.0 (API 级别 11) 开始,Android 2D 渲染管道支持硬件加速,这意味着在 View 的画布上执行的所有绘图操作都使用 GPU。由于启用硬件加速所需的资源增加,你的应用程序将消耗更多内存。 软件绘制&am…...

TDv2:一种用于离线数学表达式识别的新型树形结构解码器

TDv2:一种用于离线数学表达式识别的新型树形结构解码器 本文提出了一种针对手写数学表达式识别(HMER)任务的新型树形解码器(TDv2) ,旨在充分利用数学表达式的树结构标签进行更有效的建模和预测。相较于传统的LaTeX字符串解码器,该模型通过采用一个节点分类模块和一个分…...

Golang学习笔记_23——error补充

Golang学习笔记_20——error Golang学习笔记_21——Reader Golang学习笔记_22——Reader示例 文章目录 error补充1. 基本错误处理2. 自定义错误3. 错误类型判断3.1 类型断言3.2 类型选择 4. panic && recover 源码 error补充 1. 基本错误处理 在Go中,函数…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释

以Module Federation 插件详为例&#xff0c;Webpack.config.js它可能的配置和含义如下&#xff1a; 前言 Module Federation 的Webpack.config.js核心配置包括&#xff1a; name filename&#xff08;定义应用标识&#xff09; remotes&#xff08;引用远程模块&#xff0…...

DiscuzX3.5发帖json api

参考文章&#xff1a;PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下&#xff0c;适配我自己的需求 有一个站点存在多个采集站&#xff0c;我想通过主站拿标题&#xff0c;采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生&#xff0c;系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler&#xff0c;它是Thread的子类&#xff08;就是package java.lang;里线程的Thread&#xff09;。本文将利用它将设备信息、报错信息以及错误的发生时间都…...

高防服务器价格高原因分析

高防服务器的价格较高&#xff0c;主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因&#xff1a; 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器&#xff0c;因此…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下&#xff0c;音视频内容犹如璀璨繁星&#xff0c;点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频&#xff0c;到在线课堂中知识渊博的专家授课&#xff0c;再到影视平台上扣人心弦的高清大片&#xff0c;音…...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分&#xff1a; &#xff08;1&#xff09;PCB焊盘&#xff1a;表层的铜 &#xff0c;top层的铜 &#xff08;2&#xff09;管脚序号&#xff1a;用来关联原理图中的管脚的序号&#xff0c;原理图的序号需要和PCB封装一一…...