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

news2024/11/28 20:40:37

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

因此,我们需要采取更多有效的措施来保护网站的安全。其中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) ,怎么解决权限不一致的问题?

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

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

相关文章

边缘计算多角色智能计量插座:用电监测和资产管理的未来智能化引擎

目前主流的智能插座涵盖了红外遥控(控制空调和电视等带有红外标准的电器),配备着测温、测湿等仓库应用场景,配备了人体红外或者毫米波雷达作为联动控制,但是大家有没有思考一个问题,就是随着对接的深入&…

CentOS7安装Xrdp以便Windows远程桌面连接

Centos7已经安装了桌面环境,想要Windows系统远程连接到桌面。 1,which vncserver 如果返回no vncserver,则需要安装 2,yum -y install tigervnc* 3,安装Xrdp yum install epel* -y yum --enablerepoepel -y install xrdp 4…

ruoyi-vue前端数据字典值引用与回显(列表中回显,多选框回显)

1. 列表中回显&#xff1a; 代码&#xff1a; <el-table v-if"refreshTable" v-loading"loading" :data"deptList" row-key"deptId" :default-expand-all"isExpandAll" :tree-props"{children: children, hasChil…

网络安全(黑客技术)-高效自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高&#xff1b; 二、则是发展相对成熟…

【云备份|| 日志 day5】文件热点管理模块

云备份day5 热点管理模块 热点管理模块 服务器端的热点文件管理是对上传的非热点文件进行压缩存储&#xff0c;节省磁盘空间。 而热点文件的判断在于上传的文件的最后一次访问时间是否在热点判断时间之内&#xff0c;比如如果一个文件一天都没有被访问过我们就认为这是一个非…

c++ 信奥编程 1129:统计数字字符个数

#include<bits/stdc.h> using namespace std; int main() {string arr; //定义变量 arr getline(cin, arr); //通过函数输入并存储到变量中 int a 0; // 定义变量a&#xff0c;并赋初值0for(int i 0; i < arr.length(); i){ if(arr[i] < 57 && arr[i] &…

2023年【北京市安全员-A证】最新解析及北京市安全员-A证复审模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年北京市安全员-A证最新解析为正在备考北京市安全员-A证操作证的学员准备的理论考试专题&#xff0c;每个月更新的北京市安全员-A证复审模拟考试祝您顺利通过北京市安全员-A证考试。 1、【多选题】《中华人民共和…

【C语法学习】20 - 文件访问顺序

文章目录 0 前言1 文件位置指示符2 rewind()2.1 函数原型2.2 参数2.3 返回值2.4 使用说明 3 ftell()函数3.1 函数原型3.2 参数3.3 返回值 4 fseek()4.1 函数原型4.2 参数4.3 返回值 5 示例5.1 示例15.2 示例2 0 前言 C语言文件访问分为顺序文件访问和随机文件访问。 1 文件位…

「Verilog学习笔记」使用子模块实现三输入数的大小比较

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 分析 题目要求编写子模块实现两个输入数的大小比较并输出较小值&#xff0c;可以使用if-else语句实现。同时要求在主模块中实现三个输入数值的大小比较&#xff0c;假设三个…

cortex-A7核 中断实验(按键中断实验)

1.选择按键触发方式 下降沿 2.解决消抖的方法 1&#xff09;ARM中&#xff1a;延时消抖 2&#xff09;linux驱动开发&#xff1a;定时器函数 3.框图 内部流程框图&#xff1a; 需要RCC GPIO EXTI GIC章节 中断触发流程&#xff1a; 4.RCC 章节 1&#xff09;使能GPIOF组 …

可root设备复制文件到system目录或者子目录下

目标或问题&#xff1a; 在可root的设备中&#xff0c;如何将某个文件拷贝到system/xxxx/xxxx的系统目录下&#xff1f; 解决方法&#xff1a; 首先依次执行以下命令&#xff1a; adb root adb remount 出现如下图所示&#xff1a; 然后执行复制文件推送到设备的命令即可&…

代码解释【待解决】

这里写目录标题 代码解释数组转化为列表&#xff0c;方便在哪里yeildrange()函数还有一些常用的小技巧。在这里我们列举两个常用技巧&#xff0c;以供参考梯度l.sum().backward()的粗浅理解detatch文字描述在默认情况下&#xff0c;PyTorch会累积梯度&#xff0c;我们需要清除之…

Go cobra简介

当你需要为你的 Go 项目创建一个强大的命令行工具时&#xff0c;你可能会遇到许多挑战&#xff0c;比如如何定义命令、标志和参数&#xff0c;如何生成详细的帮助文档&#xff0c;如何支持子命令等等。为了解决这些问题&#xff0c;github.com/spf13/cobra 就可以派上用场。 g…

ESP32 C3 smartconfig一键配网报错

AP配网 在调试我的esp32c3的智能配网过程中&#xff0c;发现ap配网使用云智能App是可以正常配置的。 切记用户如果在menu菜单里使能AP配网&#xff0c;默认SSID名字为adh_PK值_MAC后6位。用户可以修改这个apssid的键值&#xff0c;但是要使用云智能app则这个名字的开头必须为ad…

asp.net外卖网站系统VS开发mysql数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net外卖网站系统 是一套完善的web设计管理系统&#xff0c;系统采用mvc模式&#xff08;BLLDALENTITY&#xff09;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为mysql&#xff0c;使用c#语…

不同访问修饰符的访问数据权限的区别

在Java中&#xff0c;有四种访问修饰符&#xff1a;public、private、protected和默认修饰符。它们的作用是控制类、变量和方法的可见性&#xff0c;也就是说它们控制了哪些代码可以访问某个类、变量或方法的数据成员。 public&#xff1a;可以被任何类访问&#xff0c;对外部…

【C++】手写堆

手写堆&#xff08;小顶堆&#xff09; 堆使用数组存储&#xff0c;下标从1开始&#xff08;下标从0开始也可以&#xff09;。 下标为u的节点&#xff1a; 左子节点下标为&#xff1a;2 * u&#xff08;下标从0开始&#xff0c;左子节点则为2 * i 1&#xff09;右子节点下标…

最大似然估计直观理解

目的 由于直接估计类条件概率密度函数很困难。 解决的办法&#xff0c;把估计完全未知的概率密度转化为估计参数。这里就将概率密度估计问题转化为参数估计问题&#xff0c; 极大似然估计就是一种参数估计方法。当然了&#xff0c;概率密度函数的选取很重要&#xff0c;模型正…

在代码中忽略特定的编译告警

在移植别人的代码时&#xff0c;有些告警看着不爽&#xff0c;但又不想去改动原来的代码。可以在头文件中加一句&#xff1a; #pragma diag_suppress 111 即可忽略特定的编译告警。 其中&#xff0c;111是告警代码。 #pragma diag_suppress 111 比如&#xff0c;原始代码的…

【网络】UDP协议

UDP协议 一、传输层1、再谈端口号2、两个命令 二、UDP协议1、UDP协议格式2、UDP的解包和分用3、UDP的特点4、UDP使用注意事项5、基于UDP的应用层协议 一、传输层 我们以前在学习HTTP等应用层协议时&#xff0c;为了便于理解&#xff0c;简单的认为HTTP协议是将请求和响应直接发…