为保护已绑定的自定义域名的函数计算(Function Compute,简称FC)函数免受Web攻击,可为其开启Web应用防火墙(Web Application Firewall,简称WAF)防护。该方案在不变更现有网络架构与DNS配置的前提下,为应用提供低延迟、高可用的Web安全防护能力。
接入原理
云产品接入函数计算自定义域名时,通过 SDK 集成的方式。SDK 内嵌于云产品,负责流量提取、检测与防护。WAF 不参与流量转发,避免引入额外转发层导致的兼容性与稳定性问题。
适用范围
若函数计算自定义域名不满足以下要求,请使用CNAME接入。
账号要求:FC自定义域名与WAF实例必须属于同一阿里云账号(已配置企业多账号统一管理除外)。
地域要求:仅支持为华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)和华南1(深圳)地域的FC自定义域名开启WAF防护。
操作步骤
进入控制台:
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地)。在左侧导航栏,单击接入管理。选择云产品接入页签,在左侧云产品类型列表,选择函数计算 FC。
云产品授权(仅限未完成授权用户):
根据页面提示,单击立即授权,完成云产品授权。可以在RAM控制台的页面,查看创建的服务关联角色AliyunServiceRoleForWAF。
接入FC自定义域名:
验证防护效果:
回到域名管理界面,当目标自定义域名的Web应用防火墙列显示已开启时,表示接入成功。此时在浏览器输入您的自定义域名和Web攻击代码进行验证(例如
<您的域名>/alert(xss),alert(xss)为用作测试的跨站脚本攻击代码),如果返回405拦截提示页面,表示攻击已被成功拦截,WAF防护已生效。
后续步骤
查看并配置防护规则
完成接入后,WAF将自动创建一个后缀为-fc的防护对象,并为该防护对象默认启用Web核心防护规则等模块的防护规则,可以在WAF控制台的页面查看。如果默认的防护规则不满足您的业务需求,可以新建或编辑防护规则。更多信息,请参见防护配置概述。

接入回滚(取消接入)
临时关闭WAF防护:若在接入后出现问题,例如出现大量误拦截,需要临时关闭WAF防护时,可以在WAF控制台的防护对象页面中,关闭WAF防护状态开关。更多信息,请参见一键关闭WAF防护功能。
取消接入:若不再希望使用WAF对FC自定义域名进行防护,可以前往函数计算控制台,选择,定位至已创建的自定义域名,单击其操作列的编辑,在编辑自定义域名页面,将Web应用防火墙配置为禁用,然后单击保存。
重要取消接入后,业务流量将不再受WAF防护,安全报表中也不再包含相关业务流量的防护数据。
若您的WAF实例为按量付费,取消接入后不会产生请求处理费,但由于WAF实例本身及其他防护规则的存在,仍会产生功能费。若不再希望继续使用WAF并停止WAF计费,请参见关闭WAF。
配额与限制
接入的实例数量:未超过 WAF 实例规格的上限。
WAF包年包月实例:基础版最多300个;高级版最多600个;企业版最多2,500个;旗舰版最多10,000个。
WAF按量付费实例:最多10,000个。
不支持的功能:通过函数计算接入WAF的防护对象暂不支持网页防篡改、信息泄露防护、Bot管理和API安全功能。
常见问题
为什么找不到Web应用防火墙的启用配置开关?
说明FC自定义域名不满足适用范围,当前仅部分中国内地地域的自定义域名支持通过云产品接入方式接入 WAF。如需使用该接入方式,需购买中国内地 WAF 实例接入,或改用CNAME接入。

WAF的云产品接入和CNAME接入有什么区别?能否一起使用?
WAF 支持两种接入方式:云产品接入和 CNAME 接入。
云产品接入(本文所述方式):快速接入本账号阿里云云产品实例。
CNAME接入:接入域名,适用场景广泛,支持跨账号、跨云场景。
两种方式不可同时使用。每个域名仅可选择其中一种接入方式,重复配置将导致流量转发冲突,使防护功能失效。详细区别请参见接入概述文档。