ShareWAF的自定义防护规则如何建立?

ShareWAF是一款强大的动态防御WAF产品,而且功能很丰富。

这些丰富的功能,可以给网站建立起多重安全防护屏障。然而很多时候,我们不是需要使用其全部功能的,合理的使用某些,甚至是某个功能,就可以很好的满足自己的网站防护需求。

ShareWAF的很多功能是相对独立的。

比如AI风控,就是一个独立的防护功能,可通过高度自定义规则,实现多领域防御,比如防常见的SQL注入、COOKIE注入、XSS,以及撞库、应用层DDOS等自动化攻击。

在ShareWAF中开启此功能,首先需要手动编辑rulemod.js,设置enable值为1,然后打开rules.js编辑规则。当然,编辑后一定要记得保存和重启ShareWAF。

下面将给出一些规则案例,并演示防护效果。

注意各个例子中的type类型,每个不同的类型都是一种独立的规则分类。

一、防URL中的SQL注入

以防常见的:select * from admin为例,规则可以这样写:

规则说明:

id号,用作唯一标识,假如发生误报,可根据id确定是哪一条规则;

type字段写url表示检测url;

enable值为1表示启用该规则,如果为0则不启用;

match中是具体的规则条件,满足条件,此规则才视为被触发。

规则触发、防护效果:

二、防请求头字段中的威胁

可用于防扫描、防SQL注入、Cookie注入等。

本例以检测请求头中的user-agent字段是否存在Mozilla字符为例,如果检测到,就认为是威胁,

规则如下:

用火狐浏览器发起访问,user-agent字段便符合这个规则,拦截效果如下:

三、防护表格提交内容、文件上传中的攻击

可用于防止非法文件上传、木马上传、SQL注入等。

示例规则:

当上传.js文件、提交且字段中不包含username,则触发规则。

防护效果如下:

先模拟一个带文件上传的form:

提交后,触发规则、产生拦截:

四、非正常访问防护

可用于检测和防护机器人访问、CC、应用层DDOS、爬虫、批量注册、自动发贴。

其原理是:如果一定时间范围内、某用户、对某页面连续进行高频访问,则视为异常。

如:

注意:在此类规则中*号表示任意页面、任何一条match条件成立,则规则触发。

上面的规则中,是建立了两个条件:

time_range单位是分钟,即:1分钟内,任意页面被访问总量达到100次,或login.html页面被访问5次,即触发规则。

访问5次,触发规则:

五、风控

可用于检测自动化攻击,如:撞库、应用层DDOS等。

比如下面的规则,如果连续5次访问index.html,但没有访问到login.html,视为触发规则:

连接访问index.html,触发规则:

当规则触发、产生防护拦截后,会在一定时间内封禁访问,封禁时长可在rulemod.js文件中设定,字段是block_time,单位是分钟。

ShareWAF这套基于规则的风控功能,其实就是一套传统的WAF。准备好规则,便可以实现很好的网站安全防护效果。然而,这才仅仅是ShareWAF的众多防护功能中的一个而已。

除此之外,ShareWAF还有众多的重量级安全防护功能,如:JS多态保护、设备指纹大数据防护、前端WAF、网页防篡改等等。ShareWAF,真的不只是WAF!