当前位置: 首页 > 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中,函数…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

Robots.txt 文件

什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

区块链技术概述

区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...