更新时间:2024-04-12 GMT+08:00

配置Web基础防护规则

Web基础防护开启后,默认防范SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等常规的Web攻击。您还可以根据实际使用需求,开启Webshell检测、深度反逃逸检测和header全检测等Web基础防护。

Web基础防护支持“拦截”“仅记录”模式。

前提条件

已添加防护网站。

操作步骤

  1. 登录管理控制台。
  2. 单击管理控制台左上角的,选择区域或项目。
  3. 单击页面左上方的,选择安全 > Web应用防火墙
  4. 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
  5. 在目标域名所在行的“防护策略”栏中,单击“已开启N项防护”,进入“防护策略”页面。
  6. “Web基础防护”配置框中,用户可根据自己的需要参照表1更改Web基础防护的“状态”“模式”

    表1 防护动作参数说明

    参数

    说明

    状态

    Web应用防护攻击的状态。

    • :开启状态。
    • :关闭状态。

    模式

    • 拦截:发现攻击行为后立即阻断并记录。
    • 仅记录:发现攻击行为后只记录不阻断攻击。

  7. “Web基础防护”配置框中,单击“高级设置”,进入“Web基础防护”界面。
  8. 根据您的业务场景,开启合适的防护功能,检测项说明如表3所示。

    1. 防护等级设置。

      在页面上方,选择防护等级,Web基础防护设置了三种防护等级:“宽松”“中等”“严格”,默认情况下,选择“中等”

      表2 防护等级说明

      防护等级

      说明

      宽松

      防护粒度较粗,只拦截攻击特征比较明显的请求。

      当误报情况较多的场景下,建议选择“宽松”模式。

      中等

      默认为“中等”防护模式,满足大多数场景下的Web防护需求。

      严格

      防护粒度最精细,可以拦截具有复杂的绕过特征的攻击请求,例如jolokia网络攻击、探测CGI漏洞、探测 Druid SQL注入攻击。

      建议您等待业务运行一段时间后,根据防护效果配置全局白名单(原误报屏蔽)规则,再开启“严格”模式,使WAF能有效防护更多攻击。

    2. 防护检测类型设置。

      默认开启“常规检测”防护检测,用户可根据业务需要,参照表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中所有字段进行攻击检测。

防护效果

假如已添加域名“www.example.com”,且已开启了Web基础防护的“常规检测”,防护模式为“拦截”。您可以参照以下步骤验证WAF防护效果:

  1. 清理浏览器缓存,在浏览器中输入防护域名,测试网站域名是否能正常访问。

  2. 清理浏览器缓存,在浏览器中输入“http://www.example.com?id=1%27%20or%201=1”模拟SQL注入攻击。
  3. 返回Web应用防火墙控制界面,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,查看防护域名拦截日志,您也可以下载防护事件数据

配置示例-拦截SQL注入攻击

假如防护域名“www.example.com”已接入WAF,您可以参照以下操作步骤验证WAF拦截SQL注入攻击。

  1. 开启Web基础防护的“常规检测”,并将防护模式设置为“拦截”
  2. 开启Web基础防护。
  3. 清理浏览器缓存,在浏览器中输入模拟SQL注入攻击(例如,http://www.example.com?id=' or 1=1)。

    WAF将拦截该访问请求,拦截页面示例如图1所示。

    图1 WAF拦截攻击请求

  4. 返回Web应用防火墙管理控制台,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,您可以查看该防护事件。