Web应用防火墙--规则防护
一、什么是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应用防火墙--规则防护的更多相关文章
- 阿里云Web应用防火墙采用规则引擎、语义分析和深度学习引擎相结合的方式防护Web攻击
深度学习引擎最佳实践 {#concept_1113021 .concept} 阿里云Web应用防火墙采用多种Web攻击检测引擎组合的方式为您的网站提供全面防护.Web应用防火墙采用规则引擎.语义分析和 ...
- 干货 | 利用京东云Web应用防火墙实现Web入侵防护
摘要 本指南描述如何利用京东云Web应用防火墙(简称WAF),对一个简单的网站(无论运行在京东云.其它公有云或者IDC)进行Web完全防护的全过程.该指南包括如下内容: 准备环境 在京东云上准备Web ...
- 利用京东云Web应用防火墙实现Web入侵防护
摘 要 本指南描述如何利用京东云Web应用防火墙(简称WAF),对一个简单的网站(无论运行在京东云.其它公有云或者IDC)进行Web完全防护的全过程.该指南包括如下内容: 1 准备环境 1.1 在京东 ...
- docker上面部署nginx-waf 防火墙“modsecurity”,使用CRS规则,搭建WEB应用防火墙
web防火墙(waf)免费开源的比较少,并且真正可以商用的WAF少之又少,modsecurity 是开源防火墙鼻祖并且有正规公司在维护着,目前是https://www.trustwave.com在维护 ...
- [转]Web应用防火墙WAF详解
通过nginx配置文件抵御攻击 0x00 前言 大家好,我们是OpenCDN团队的Twwy.这次我们来讲讲如何通过简单的配置文件来实现nginx防御攻击的效果. 其实很多时候,各种防攻击的思路我们都明 ...
- 2019年十大开源WEB应用防火墙点评
2019年十大开源WEB应用防火墙点评 随着WEB应用的爆炸式成长和HTTPS加密的普及,针对网络应用层的攻击,像SQL注入.跨站脚本攻击.参数篡改.应用平台漏洞攻击.拒绝服务攻击等越来越多,传统的防 ...
- Web应用防火墙云WAF详细介绍
Web应用防火墙,或叫Web应用防护系统(也称为:网站应用级入侵防御系统.英文:Web Application Firewall,简称: WAF).利用国际上公认的一种说法:Web应用防火墙是通过执行 ...
- fedora 28 , firewalld 防火墙控制,firewall-cmd 管理防火墙规则
今天,在使用fedora时,需要修改防火墙规则,一时间忘记了命令是什么,这里进行记录一下. 目前 fedora 28/ centos 7 使用 firewalld 作为防火墙软件:下面我就怎么简单管理 ...
- Linux防火墙基础与编写防火墙规则
Iptables采用了表和链的分层结构,每个规则表相当于内核空间的一个容器,根据规则集的不同用途划分为默认的四个表,raw表,mangle表,nat表,filter表,每个表容器内包括不同的规则链,根 ...
- Iptables防火墙规则使用梳理
iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能 ...
随机推荐
- 使用js闭包封装一个原生的模态框
现在都是用的是人家封装的框架什么的,但是对于底层的了解也是必须的,不然就无法提升,下面分享一个2 years ago 自己封装的一个提示框 样式很简单(适用于任何分辨率) 具体代码如下 /** * 该 ...
- 代码随想录算法训练营Day31 贪心算法| 理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和
代码随想录算法训练营 理论基础 什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优. 每次拿最大的就是局部最优,最后拿走最大数额的钱就是推出全局最优. 贪心的套路(什么时候用贪心) 贪心 ...
- 反向传播(Backpropagation)相关思想
在前面我们学习了SVM损失函数和softmax损失函数,我们优化权重矩阵w的具体思路便是让损失函数最小化,还记得损失函数的定义吗? 没错,损失函数长这样,其中,Wj为权重矩阵的第j个列向量,xi为第i ...
- Flutter调优--深入探究MediaQuery引起界面Rebuild的原因及解决办法
前言 我们可以通过MediaQuery.of(context)方法获取到一些设备和系统的相关信息,比如状态栏的高度.当前是否是黑暗模式等等,使用起来相当方便,但是也要注意可能引起的页面rebuild问 ...
- 6.4. HttpClient
1. 什么是HttpClient? HttpClient是Java 11中引入的一个新特性,用于支持同步和异步发送HTTP请求以及处理HTTP响应.它提供了简单易用的API,使得发送HTTP请求变得非 ...
- Docker运行Django框架
Django框架 创建django-pg项目目录 [root@docker ~]# mkdir docker-compose-django [root@docker ~]# cd docker-com ...
- 原生AJAX的学习
基础知识 知识点梳理见图: 自己动手实践案例 案例1: 访问本地文件 <!DOCTYPE html> <html> <body> <div id=" ...
- asp.net程序通过Microsoft Azure令牌授予流获取UserInfo终结点实现单点登录--隐式授予流(OIDC协议)
1. Microsoft Azure令牌授予流 令牌授予流种类如下: 本章节采用: 隐式授予流: 2. 隐式授予流的实现 流程:重定向到authorize--->拿到access_token-- ...
- SQL SERVER 拼接字符串转化为表结构数据
本文为一些需要对特殊符号分隔的字符串进行解析,比如将 select '10,20,30,40,50,60' 这个字符串转化为一列多行 下面提供源代码: 1 SET QUOTED_IDENTIFIER ...
- maven报错:不再支持源选项 5。请使用 6 或更高版本
问题描述 在执行命令 mvn compile 发生错误 D:\Github_NOTES\JavaWeb_Learning\02Java\JavaWeb\Code\Maven1>mvn clean ...