首页 > 其他分享 >Web应用防火墙--规则防护

Web应用防火墙--规则防护

时间:2023-09-07 10:45:12浏览次数:34  
标签:Web 场景 -- 检测 误报 SQL 防火墙 规则

一、什么是Web应用防火墙?

Web应用防火墙对网站、APP的业务流量安全及合规性保护,对业务流量的识别恶意特征提取、分析识别出恶意流量并进行处理, 将正常安全的流量回源到业务服务器, 保护网站核心业务和数据安全。

京东云Web应用防火墙的产品架构示意图如下:

二、Web攻击常见的检测手段?

Web攻击常见的三种检测手段,规则检测、AI检测或语义检测。

1.规则检测:效率高、识别精准度高。其表现形式是正则表达式,通过正则表达式或组合来检测攻击,例如:OWASP Top10十大安全漏洞,也有与其对应的规则集合 owasp top10 rules set,通过规则拦截恶意攻击已经是各大厂商的主流检测手段。目前各大WAF厂商都有自己的安全规则集合。

2.AI检测:通过AI机器学习或深度学习算法来检测Web攻击, 能检出未知威胁, 缺点检测效率低,一般用于离线检测,误报率相对较高, 具体取决于算法模型及训练样本等。

3.语义检测:通过对SQL或XSS注入进行语法及词法分析来检测攻击, 鉴于算法特点, 误报率较高,一般用于告警, 不直接拦截业务请求。

三、公有云上用户及业务场景的特点

公有云上的用户包含各个行业,业务场景具有多样性和复杂性的特点,例如:电商和政务云都是公有云的常见客户,通用的规则集合可以有效满足用户的防护需求, 但针对特点活动场景,例如优惠券活动、重点场景需要针对性定制不同的防护规则集合, 以满足特殊场景下防护需求。

四、针对公有云多态、复杂的业务场景的解决方案

1.默认规则组: 采用规则组集合的方式进行全面安全防护。

2.规则组分级: 规则组级别分为宽松、正常、严格,用以满足不同场景或同一场景不同时期的需求。

3.自定义规则组:定制化的防御策略组,针对复杂,特定需求的业务场景,例如:专门针对SQL注入自定义规则组,在选择规则时只选择SQL注入类的规则。

4.误报处理:通过白名单对请求特征加白或在自定义规则组中去掉误报的规则来处理误报。

4.1 默认规则组

Web应用攻击防护引擎基于内置的专家经验规则集,自动为网站防御SQL注入、XSS跨站,webshell上传、命令注入、后门隔离、非法文件请求、路径穿越、常见应用漏洞攻击等通用的Web攻击。

4.2 规则组分级

规则组级别分为宽松、正常、严格,用以满足不同场景或同一场景不同时期的需求。

例如在平时我们将规则组设置为正常级别, 但是在重保时期可以将规则组提升为严格级别,从而来阻断更多的攻击风险。

正常级别:检测常见的Web应用攻击(默认选择)。

严格级别:当您需要更严格地防护路径穿越、SQL注入、命令执行时,建议选择此等级。

宽松:当发现存在较多误拦截,或者业务存在较多不可控的用户输入时,可以选择此等级。

4.3 自定义规则组

定制化的防御策略组,针对复杂,特定需求的业务场景,例如:专门针对SQL注入自定义规则组,在选择规则时只选择SQL注入类的规则。

例如:

选择一个规则组模板,之后对模板内的规则进行删除,或添加新的规则到规则组中;

已选择的安全规则

未添加的安全规则

4.4 解决业务误报

4.4.1 自定义规则组

通过自定义规则组除去误报规则的方式来解决误报问题。

4.4.2 白名单加白

基于请求特征对误报流量加白, 加白后的流量会被WAF bypass,从而解决误报问题。

五、京东云WAF规则检测引擎主要特性

1.实时全面检测http报文,且跨包流量无遗漏检测;

2.自适应内容解析:自适应解析JSON、XML、Multipart等数据格式,提升检测的准确率;

3.自适应解码:包括URL、HTML、Base64、Unicode、十六进制、二进制等多种格式解码,提高检测的召回率;

4.支持HPP参数污染及依赖注入攻击防护,自适应SQL、XSS去注释。

作者:京东科技 范朋飞

来源:京东云开发者社区 转载请注明来源

标签:Web,场景,--,检测,误报,SQL,防火墙,规则
From: https://www.cnblogs.com/Jcloud/p/17684203.html

相关文章

  • 【PCL】使用kdtree时pop_t报错问题解决
    问题描述在使用kdtree时,遇到的报错,具体报错信息如下:提示找不到pop_t,点击错误信息会进入到dist.h文件中问题解决解决办法很简单,在这里简单总结一下进入dist.h文件中,将下面这行代码,应该是在源文件的503行:typedefunsignedlonglongpop_t;具体位置如下图所示:将这行代码......
  • 如何使用API数据接口给自己创造收益
    ​使用API数据接口创造收益的方法有很多,以下是一些常见的方法,并附有代码示例:一、数据分析与预测通过获取API数据接口中的大量数据,我们可以进行深入的数据分析,并利用这些数据来预测未来的趋势和行为。例如,我们可以使用Python中的pandas库来处理API返回的数据,并使用scikit-learn......
  • 正则表达式和sed
    casevarin  模式1|模式1-1)    command。。。    ;;  *)   command...    ;;esacfunction_name(){command...}functionfun_name(){command...}正则表达式:前导字符(位于元字符前的字符);元字符就是在正则里具有特殊含义的特殊字符.:匹配......
  • RDMA-MR内核接口-rxe_get_dma_mr
    描述:注册物理内存,获取具有数据传输所需密钥的内存区域结构.get_dma_mr=rxe_get_dma_mr,内核的PD下面会注册一个内部的特殊MR,这个MR的范围包含了所有的系统内存。然后如果内核态的RDMA用户创建PD的时候传入了这个flag,就会把这个MR的R_Key挂在PD结构体的unsafe_global_rkey里面返回......
  • iTOP-RK3568开发板内核模块实验-设置交叉编译器
    在上一章节我们编写了最简单的helloworld驱动程序。有了驱动程序以后,要如何编译并使用驱动呢。编译驱动有俩种方法,分别是将驱动编译成内核和将驱动编译成内核模块。我们先来学习如何将驱动编译成内核模块、4.1设置交叉编译器1下载网盘资料下的交叉编译器,网盘路径为:“XXX”,将下......
  • png8、png16、png32的区别,以及 png 的压缩原理
    区别PNG8、PNG16、PNG32是PNG图像格式的不同变种,它们主要区别在于颜色深度和透明度支持的不同。PNG8:PNG8是一种8位颜色深度的PNG图像格式,它最多支持256种颜色。对于颜色相对较简单、不需要透明度的图像,使用PNG8可以获得较小的文件大小。PNG8图像使用一种叫做调色板(Pa......
  • 无涯教程-JavaScript - BESSELI函数
    描述BESSELI函数返回修改后的Bessel函数In(x),该函数等效于针对纯虚参判断的Bessel函数。语法BESSELI(X,N)争论Argument描述Required/OptionalXThevalueatwhichtoevaluatethefunction.RequiredNTheorderoftheBesselfunction.Ifnisnotaninteger,......
  • 大基金三期再拨400亿美元 | 百能云芯
    近日,知情人士透露,中国计划启动一个新的国家支持的投资基金,旨在为半导体行业筹集大约400亿美元。这将是中国集成电路产业投资基金(大基金)推出的第三只基金,也可能是规模最大的一只。计划筹集的资金目标为3000亿元人民币,超过了2014年和2019年推出的两只基金,前两只基金分别筹集了1387亿......
  • 添加FReLU激活函数 在YOLOv7中修改
    1.找到yolov7的utils中的activation.py,在最后面输入以下代码#原理:对局部卷积后的输出与原始数据进行一个max的比对classFReLU(nn.Module):def__init__(self,c1,k=3):#ch_in,kernelsuper().__init__()#可分离卷积,不改变hw与channelssel......
  • 设计模式——建造者模式
    建造者模式简介1.建造者模式适用于一个具有较多的零件的复杂产品的创建过程,由于需求的变化,组成这个复杂产品的各个零件经常猛烈变化,但是他们的组合方式却相对稳定。他可以使你分步骤创建复杂的对象。建造者模式解决的问题一般当我们遇到一个非常复杂的对象的时候,这个对象里面有......