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

专门为Web应用程序提供安全保护的设备-WAF

互联网网站面临着多种威胁,包括网络钓鱼和人为的恶意攻击等。这些威胁可能会导致数据泄露、系统崩溃等严重后果。

因此,我们需要采取更多有效的措施来保护网站的安全。其中WAF(Web application firewall,Web应用防火墙)就是最有效的一种防护措施。

文章目录

    • WAF功能简介
    • WAF实现原理
    • WAF特征匹配
      • 识别特征并下发识别结果
      • 推导动作
      • 执行动作
      • SQL语义分析
      • CC(Challenge Collapsar,挑战黑洞)攻击防护
      • CC攻击防护实现流程
    • 三大检测功能的处理优先级
      • 技术优势
    • 推荐阅读

WAF功能简介

WAF(Web application firewall,Web应用防火墙)用于阻断Web应用层攻击,保护内网Web服务器。当设备收到来自外部的HTTP或HTTPS请求后,会对请求报文的安全性和合法性进行检测和验证,对非法的请求予以实时阻断,从而实现对内网Web服务器的有效防护。
在这里插入图片描述

WAF实现原理

WAF通过以下三大功能协同检测,实现对Web应用层攻击的精确识别和阻断,保护内网Web服务器免受攻击。

  • WAF特征匹配:设备通过对攻击行为的特征进行检测,能够有效地识别跨站脚本、爬虫等攻击。
  • SQL语义分析:设备通过对报文中的SQL语句进行语义分析,可精确识别SQL注入类攻击。
  • CC(Challenge Collapsar,挑战黑洞)攻击防护:设备通过对Web应用程序客户端的请求进行检测和统计,可有效识别CC攻击。

WAF特征匹配

WAF特征匹配功能通过应用层检测引擎对报文进行特征匹配来实时检测Web应用层攻击,并基于WAF策略对报文进行处理。WAF策略中定义了对哪些WAF特征进行匹配,以及对匹配成功的报文执行的动作。
在这里插入图片描述

识别特征并下发识别结果

管理员需要先加载特征到设备,为应用层检测引擎的特征匹配提供丰富的特征资源。
应用层检测引擎对报文进行重组、解码、切分和协议解析等处理后,将报文与WAF特征进行匹配。
当特征匹配成功时,会下发匹配结果到WAF业务模块。
在这里插入图片描述

推导动作

WAF业务模块根据特征匹配结果,判断出特征在WAF策略中需要执行的动作。在WAF策略中,特征可能执行如下几类动作:

  • WAF策略中指定特征的特例动作。
  • WAF策略中所有特征统一执行的动作。
  • WAF策略中指定特征的预定义动作。

动作优先级由高到低依次为:特例动作> 统一动作> 预定义动作。
在这里插入图片描述

执行动作

WAF业务模块根据动作推导结果,执行相应的动作:

  • 如果报文只与一个WAF特征匹配成功,则执行推导出的动作。
  • 如果报文与多个WAF特征匹配成功,则执行推导出的多个动作中优先级最高的动作。

动作优先级由高到低依次为:重置> 重定向> 丢弃> 允许。
其中,对于源阻断、报文捕获、记录日志,只要匹配成功的特征中存在这些动作就会执行。
在这里插入图片描述

SQL语义分析

SQL语义分析功能通过对请求报文中的SQL语句进行词法、语法和语义分析来检测是否存在SQL注入攻击,并根据检测结果对报文进行相应的处理。

相对于特征匹配功能仅匹配字符串而不懂程序本身,SQL语义分析功能可以理解程序语言,并在此基础之上检测出可疑流量。
在这里插入图片描述

  • 正常访问:用户使用用户名和密码登录服务器
    在这里插入图片描述

  • SQL注入攻击:攻击者绕过用户名和密码验证登录服务器
    在这里插入图片描述

CC(Challenge Collapsar,挑战黑洞)攻击防护

CC攻击防护功能通过对来自客户端的请求进行内容检测、规则匹配和统计计算,来检测CC攻击,从而阻断攻击请求,实现对内网Web服务器的有效防护。

设备支持请求速率和请求集中度双重检测算法对CC攻击进行识别。
在这里插入图片描述

每种算法可以分别配置检测阈值,当用户访问网站的统计结果达到任意一个阈值时,则认为存在CC攻击。
在这里插入图片描述

CC攻击防护实现流程

在这里插入图片描述

  1. 设备通过将报文与用户配置的过滤条件进行匹配,判断对哪些报文进行CC攻击检测。当报文与过滤条件匹配成功,则进行下一步处理;否则,放行报文。
  2. 设备基于报文的源IP地址对该IP访问网站的数据进行统计。
  3. 在指定的检测周期内,将统计结果与用户配置的检测项阈值进行匹配。若统计结果达到任意一个阈值,则认为存在CC攻击,并进入下一步处理;否则,放行报文。
  4. 设备根据用户配置的动作对报文执行相应的操作,包括源阻断、放行和记录日志。

三大检测功能的处理优先级

以上三种检测功能相互独立,互不影响。
如果只有一种功能识别出攻击报文,则对报文执行该功能配置的动作;如果多个功能均识别出攻击报文,则对报文执行多个功能中优先级最高的动作。
动作优先级从高到低依次为:重置> 重定向> 丢弃> 允许,对于黑名单、记录日志和报文捕获三个动作,只要处理动作中包含就会执行。

技术优势

WAF有三大技术优势:

  1. 支持WAF特征匹配、SQL语义分析和CC攻击防护多功能协同检测,有效提升Web攻击识别率。
  2. 当管理员掌握了Web攻击特点时,可自定义WAF特征,对攻击进行有效拦截。
  3. 在代理场景下,支持从报文的X-Forwarded-For字段提取源IP地址,更加准确的识别出攻击源,从而有效阻断恶意攻击。

推荐阅读

  • 善用exchange server自带的反垃圾邮件功能过滤垃圾邮件
  • 为 WinHTTP 配置SSL\TLS安全协议
  • 剖析AI诈骗成立的前提条件将有助于制定更有效的对策来防范AI诈骗
  • Wi-Fi 6和5G 在应用场景上的区别
  • HTTP状态码504(Gateway Timeout)报错原因分析和解决办法
  • Ubuntu挂载NFS(Network File System) ,怎么解决权限不一致的问题?

相关文章:

专门为Web应用程序提供安全保护的设备-WAF

互联网网站面临着多种威胁,包括网络钓鱼和人为的恶意攻击等。这些威胁可能会导致数据泄露、系统崩溃等严重后果。 因此,我们需要采取更多有效的措施来保护网站的安全。其中WAF(Web application firewall,Web应用防火墙&#xff0…...

Android Camera App启动流程解析

前言:做了7年的camera app开发,给自己一个总结,算是对camera的一次告白吧。Camera被大家誉为手机的眼睛,是现在各大手机厂商的卖点,也是各大厂商重点发力的地方。Camera的重要性我就不在这里赘述了,让我们进…...

[工业自动化-8]:西门子S7-15xxx编程 - PLC主站 - CPU模块

目录 前言: 一、概述 二、CPU操作和显示 三、安装 四、CPU的选择 前言: 一、概述 西门子S7-1500系列是一系列高性能工业自动化控制器,广泛应用于制造业、自动化生产、物流等领域。这个系列的控制器是设计用来满足高性能、高效能要求的复…...

QT事件循环和事件队列的理解

Qt的事件循环机制_qt事件循环流程-CSDN博客 QT-事件循环机制_qt线程事件循环-CSDN博客 一、事件处理流程如图所示: 1.QCoreApplication::postEvent(QObject *receiver,QEvent *event): QCoreApplication::postEvent()函数用于将事件异步地发送到目标对…...

【Android】画面卡顿优化列表流畅度一

卡顿渲染耗时如图: 卡顿表现有如下几个方面: 网络图片渲染耗时大上下滑动反应慢,甚至画面不动新增一页数据加载渲染时耗时比较大,上下滑动几乎没有反应,画面停止没有交互响应 背景 实际上这套数据加载逻辑已经运行…...

SNP应邀参加2023中国企业数字化转型峰会暨赛意用户大会

创新驱动科技,数智驱动未来。如今,我国产业数字化进程提速升级,数字产业化规模持续壮大。数据显示,2022年,我国数字经济规模达50.2万亿元,总量稳居世界第二。数字经济已经成为推动传统产业转型升级、促进高…...

黑豹程序员-架构师学习路线图-百科:Knife4j API接口文档管理

文章目录 由来:接口文档第一代:Swagger第二代:Knife4j界面 由来:接口文档 古老编程是一个语言前后端通吃,ASP、JSP、PHP都是如此。 但随着项目规模变大,项目团队也开始壮大,岗位职责开始细分&a…...

PHP安全问题:远程溢出、DoS、safe_mode绕过漏洞

一、Web 服务器安全 PHP 其实不过是 Web服务器的一个模块功能,所以首先要保证 Web服务器的安全。当 然 Web服务器要安全又必须是先保证系统安全,这样就扯远了, 无穷无尽。PHP可以和各种 Web 服务器结合,这里也只讨论 Apache。非常建议以 chroot 方式安装启动 Apache,这样…...

2023云计算发展

未来的云计算世界将是一个充满着无限可能和创意的世界。在这个世界中,人们可以通过云计算技术实现更加便捷、安全、高效的日常生活,同时可以探索更加广阔、神奇的世界。 智能家居将成为云计算的新宠。未来,人们可以通过语音、手势、传感器等…...

javaSE学习笔记(六)泛型,异常

五、泛型 泛型的由来:通过Object转型问题引入--为了解决安全隐患 早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换异常的问题 泛型作用 提高安全性(将运行期的错误转换到编译期) 省去强转的麻烦,取…...

C/C++轻量级并发TCP服务器框架Zinx-游戏服务器开发006:基于redis查找玩家姓名+游戏业务实现总结

文章目录 1 Redis的安装与API的使用1.1 安装目录及环境变量1.2 设置远程客户端连接和守护进程1.3 启动redis1.4 Hiredis API的使用1.5 我的动态库和头文件 2 Redis的使用2.1 初始化时候2.2 结束的时候 3 测试4 Makefile5 游戏业务总结 1 Redis的安装与API的使用 1.1 安装目录及…...

数字政府!3DCAT实时云渲染助推上海湾区数字孪生平台

数字孪生,是一种利用物理模型、传感器数据、运行历史等信息,在虚拟空间中构建实体对象或系统的精确映射,从而实现对其全生命周期的仿真、优化和管理的技术。数字孪生可以应用于各个领域,如工业制造、智慧城市、医疗健康、教育培训…...

react之Component存在的2个问题

问题 只要执行setState(),即使不改变状态数据,组件也会重新render()只当前组件重新render(),就会自动重新render子组件 原因 Component中的shouldComponentUpdate()总是返回true 思路 只有当组件的state或props数据发生改变时才重新rend…...

【论文阅读】Generating Radiology Reports via Memory-driven Transformer (EMNLP 2020)

资料链接 论文原文:https://arxiv.org/pdf/2010.16056v2.pdf 代码链接(含数据集):https://github.com/cuhksz-nlp/R2Gen/ 背景与动机 这篇文章的标题是“Generating Radiology Reports via Memory-driven Transformer”&#xf…...

IP协议相关技术

文章目录 IP协议相关技术仅凭IP无法完成通信DNSARP IP协议相关技术 仅凭IP无法完成通信 人们在上网的时候其实很少直接输入某个具体的IP地址。 在访问Web站点和发送、接收电子邮件时,我们通常会直接输入Web网站的地址或电子邮件地址等那些由应用层提供的地址&…...

Visual Studio2022安装教程【图文详解】(大一小白)编译软件

工欲善其事,必先利其器。想要学好编程,首先要把手中的工具利用好,今天小编教一下大家如何下载安装并使用史上最强大的编译器--Visual Studio🍗 一.Visual Studio下载及安装 https://visualstudio.microsoft.com/ 打开文件 点击.ex…...

matlab 点云最小二乘拟合平面(PCA法)

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。爬虫网站自重。 一、算法原理 见:matlab 点云最小二乘拟合平面(PCA法详细过程版)。 二、代码实现 clc;clear; %% --------...

socks5代理和https代理有什么不同?各自有哪些优点?

socks5代理和https代理是两种不同的代理服务,它们在实现方式、安全性和协议特点等方面存在差异。下面我们来详细了解一下这两种代理的优点。 一、socks5代理的优点 1. 速度快 socks5代理采用了TCP协议,能够有效地减少网络延迟和数据传输速度慢的问题&…...

springboot,spring框架返回204 status code的时候,会吞掉返回值

背景 发现有个有意思的现象,就是当你的接口返回204的 HTTP status code 的时候,会自动把 response body 吃掉,即使代码里是有返回的。例如 (其实204本身就是NO_CONTENT的意思,不过我是真没想到真干掉了返回&#xff0…...

6-爬虫-scrapy解析数据(使用css选择器解析数据、xpath 解析数据)、 配置文件

1 scrapy解析数据 1.1 使用css选择器解析数据 1.2 xpath 解析数据 2 配置文件 3 整站爬取博客–》爬取详情–》数据传递 scrapy 爬虫框架补充 # 1 打码平台---》破解验证码-数字字母:ddddocr-计算题,滑块,成语。。。-云打码,超…...

接口测试中缓存处理策略

在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...