保护网站/APP/小程序等Web业务免受常见Web攻击
如何配置Web基础防护规则
Web应用防火墙的高频配置:Web基础防护规则开启后,默认防范SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等常规的Web攻击。您还可以根据实际使用需求,开启Webshell检测、深度反逃逸检测和header全检测等Web基础防护。
您也可以参考Web基础防护功能最佳实践了解更多Web基础防护规则的配置信息。
前提条件
约束条件
● Web基础防护支持“拦截”和“仅记录”模式。
● 添加或修改防护规则后,规则生效需要等待几分钟。规则生效后,您可以在“防护事件”页面查看防护效果。
● 当Web基础防护设置为“拦截”模式时,您可以配置攻击惩罚标准。配置攻击惩罚后,如果访问者的IP、Cookie或Params恶意请求被拦截时,WAF将根据攻击惩罚设置的拦截时长来封禁访问者。
● 目前华北-北京一、华北-北京四、华东-上海一、华东-上海二、华南-广州、华南-深圳、西南-贵阳一、中国-香港和亚太-曼谷区域支持深度检测和header全检测功能。
● 目前华北-北京四、中国-香港区域支持Shiro解密检测功能。
操作步骤
1.登录管理控制台。
2.单击管理控制台左上角的,选择区域或项目。
3.单击页面左上方的,选择“安全与合规 > Web应用防火墙 WAF”。
4.在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
5.(旧版)在目标域名所在行的“防护策略”栏中,单击“配置防护策略”,进入“防护策略”页面。
6.(新版)在目标域名所在行的“防护策略”栏中,单击“已开启N项防护”,进入“防护策略”页面。
图1 域名列表
7. 在“Web基础防护”配置框中,用户可根据自己的需要参照表1更改Web基础防护的“状态”和“模式”。
表1 防护动作参数说明
8.在“Web基础防护”配置框中,单击“高级设置”,进入“Web基础防护”界面。
9. 选择“防护配置”页签,根据您的业务场景,开启合适的防护功能,如图3所示,检测项说明如表3所示。
图3 Web基础防护
须知:当“模式”设置为“拦截”时,您可以根据需要选择已配置的攻击惩罚。有关配置攻击惩罚的详细操作,请参见配置攻击惩罚标准。
a.防护等级设置
在页面上方,选择防护等级,Web基础防护设置了三种防护等级:“宽松”、“中等”、“严格”,默认情况下,选择“中等”。
表2 防护等级说明
b.防护检测类型设置
须知:默认开启“常规检测”防护检测,用户可根据业务需要,参照表3开启其他需要防护的检测类型。
表3 检测项说明
检测项
说明
常规检测
防护SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等攻击。其中,SQL注入攻击主要基于语义进行检测。
说明:开启“常规检测”后,WAF将根据内置规则对常规检测项进行检测。
Webshell检测
防护通过上传接口植入网页木马。
说明:开启“Webshell检测”后,WAF将对通过上传接口植入的网页木马进行检测。
深度检测
防护同形字符混淆、通配符变形的命令注入、UTF7、Data URI Scheme等深度反逃逸。
说明:
开启“深度检测”后,WAF将对深度反逃逸进行检测防护。
header全检测
默认关闭。关闭状态下WAF会检测常规存在注入点的header字段,包含User-Agent、Content-type、Accept-Language和Cookie。
说明:
开启“header全检测”后,WAF将对请求里header中所有字段进行攻击检测。
Shiro解密检测
默认关闭。开启后,WAF会对Cookie中的rememberMe内容做AES,Base64解密后再检测。Web应用防火墙检测机制覆盖了几百种已知泄露密钥。
说明:
如果您的网站使用的是Shiro 1.2.4及之前的版本,或者升级到了Shiro 1.2.5及以上版本但是未配置AES,强烈建议您开启“Shiro解密检测”,以防攻击者利用已泄露的密钥构造攻击。
10.选择“防护规则”页签,查看Web基础防护规则的详细信息,如图4所示,相关参数说明如表4所示。
图4 查看防护规则
说明:单击,您可以根据“CVE编号”、“危险等级”、“应用类型”或“防护类型”,搜索指定规则。
表4 防护规则说明
参数
说明
规则ID
防护规则的ID,由系统自动生成。
规则描述
防护规则对应的攻击详细描述。
CVE编号
防护规则对应的CVE(Common Vulnerabilities & Exposures,通用漏洞披露)编号。对于非CVE漏洞,显示为--。
危险等级
防护规则防护漏洞的危险等级,包括:
• 高危
• 中危
• 低危
应用类型
防护规则对应的应用类型,WAF覆盖的应用类型见表5 WAF覆盖的应用类型。
防护类型
防护规则的类型,WAF覆盖的防护类型:SQL注入、命令注入、跨站脚本、XXE注入、表达式注入攻击、CSRF、SSRF、本地文件包含、远程文件包含、网站木马、恶意爬虫、会话固定漏洞攻击、反序列化漏洞、远程命令执行、信息泄露、拒绝服务、源码/数据泄露。
配置示例-拦截SQL注入攻击
SQL 注入(SQL Injection)是发生在 Web 应用/网站中数据库层的安全漏洞,是网站存在最多也是最简单的漏洞。主要原因是程序对用户输入数据的合法性没有判断和处理,导致攻击者可以在 Web 应用程序中事先定义好的 SQL语句中添加额外的 SQL语句,欺骗数据库服务器执行非授权的任意查询,从而进一步获取到数据信息。攻击者一旦通过SQL注入攻击获得数据库“增删改查”权限,就可以执行数据篡改、恶意删库,甚至植入勒索病毒,企业业务将陷于瘫痪,极难恢复,且平均善后开支高昂。Web应用防火墙WAF可以实时检测并拦截SQL注入攻击。
假如防护域名“www.example.com”已接入Web应用防火墙WAF,您可以参照以下操作步骤验证WAF拦截SQL注入攻击。
1.Web应用防火墙控制台-开启Web基础防护的“常规检测”,并将防护模式设置为“拦截”。
图5 开启“常规检测”
2.Web应用防火墙控制台-开启Web基础防护。
3.清理浏览器缓存,在浏览器中输入模拟SQL注入攻击(例如,http://www.example.com?id=' or 1=1)。
Web应用防火墙WAF将拦截该访问请求,拦截页面示例如图7所示:
图7 WAF拦截攻击请求
4.返回Web应用防火墙管理控制台,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,您可以查看该防护事件。
图8 查看防护事件-SQL注入攻击