如果您将为或者已为阿里云函数计算(Function Compute,简称FC)上的Web应用绑定自定义域名,并通过自定义域名访问该应用时,您可以在函数计算控制台,为该自定义域名开启Web应用防火墙(Web Application Firewall,简称WAF)功能,将Web应用业务流量引流到WAF进行安全防护。本文介绍如何为FC自定义域名开启WAF防护。
背景信息
函数计算是Serverless架构的一种形态,面向函数编程,基于事件驱动提供阿里云服务之间端到端的解决方案。借助函数计算,您可以快速构建多种类型的应用和服务。更多信息,请参见什么是函数计算。
WAF通过SDK模块化的方式与函数计算原生架构集成,支持为函数计算上的Web应用绑定的自定义域名开启安全防护,通过识别应用或者应用中函数的业务流量恶意特征,将正常和安全的流量回源至后端函数,避免函数被恶意侵入。
使用限制
云产品接入适用于快速将阿里云ALB、MSE、FC、CLB、ECS、NLB、SAE 2.0或APIG资源接入WAF防护。如需防护非阿里云资源的Web应用,请通过CNAME接入方式将域名下业务接入WAF,具体操作请参见添加域名。
仅支持为华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)和华南1(深圳)地域的FC自定义域名开启WAF防护。
通过函数计算接入WAF的防护对象暂不支持网页防篡改、信息泄露防护、Bot管理和API安全功能。
前提条件
已开通中国内地地域的WAF 3.0服务。具体操作,请参见开通包年包月WAF 3.0、开通按量付费WAF 3.0。
如果您开通的是包年包月实例,请确认您的实例还可以添加防护对象。否则,将无法进行云产品接入。
您可以访问防护对象页面,查看实例还可以添加的防护对象数。
操作步骤
您可以在为应用创建自定义域名的同时开启WAF防护,也可以为已有自定义域名开启WAF防护。
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地)。
在左侧导航栏,单击接入管理。
选择云产品接入页签,在左侧云产品类型列表,选择FC。
根据页面提示,单击立即授权,完成云产品授权。
完成后,阿里云将自动为您创建WAF服务关联角色AliyunServiceRoleForWAF。您可以在RAM控制台的 页面,查看阿里云为WAF自动创建的服务关联角色。
说明如果您已经完成云产品授权,则授权页面不会出现,您可以直接执行后续步骤。
单击接入,页面将跳转到函数计算FC控制台。
在函数计算控制台的域名管理页面,为FC自定义域名开启WAF防护。
创建自定义域名并开启WAF防护
在顶部菜单栏,选择地域为华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)和华南1(深圳),单击添加自定义域名。
在添加自定义域名页面,完成如下配置后,单击创建。
配置项
操作
域名
填写已在阿里云备案或接入备案的自定义域名名称。支持单域名(例如
www.aliyun.com
)或通配符域名(例如*.aliyun.com
)。HTTPS
根据需要启用或禁用HTTPS协议访问自定义域名的功能。取值如下:
启用:开启通过HTTPS协议访问自定义域名的功能。表示支持使用HTTP或HTTPS协议访问该自定义域名。
说明您还可以选中强制HTTPS复选框,此时仅支持使用HTTPS协议访问该自定义域名,函数计算会将所有使用HTTP协议访问该自定义域名的请求重定向至HTTPS协议。
禁用:关闭通过HTTPS协议访问自定义域名功能。表示仅支持使用HTTP协议访问该自定义域名,使用HTTPS协议将无法访问该自定义域名。
证书类型
选择要上传的证书类型。当您启用HTTPS协议访问自定义域名的功能时,需设置此配置项。取值说明如下:
阿里云 SSL 证书:选择您的阿里云SSL证书。如果证书名称下拉列表为空,则说明您尚未购买阿里云SSL证书,您可以登录SSL证书管理控制台购买。具体步骤,请参见购买SSL证书。
手动上传:手动输入证书名称,并填写PEM 证书内容和PEM 证书密钥。
说明上传的证书的大小不能超过20 KB,证书密钥的大小不能超过4 KB。
TLS 协议版本
选择函数使用的TLS协议版本。
说明选择以上TLS协议版本后,您还可以选中开启支持TLS 1.3复选框,表示同时支持TLS 1.3协议。
加密套件
选择TLS加密算法套件,如果不配置,默认选择全部加密套件。取值说明如下:
全部加密套件,兼容性最高,安全性较低:选择全部加密套件。函数计算支持的加密套件列表请参见强加密和弱加密套件列表。
协议版本的自定义加密套件,请谨慎选择,避免影响业务:选择部分支持的加密套件。下拉列表中显示所有加密套件,您可以单击加密套件右侧的图标,删除安全性较弱的弱加密套件,保留您选择的TLS协议版本支持的加密套件。
重要请谨慎选择自定义加密套件,确保服务端和客户端套件的正确匹配。
关于TLS协议版本和其支持的加密套件,请参见TLS协议版本与加密套件对应关系。
函数计算对加密套件的命名使用RFC命名规范。同一个加密套件,使用不同命名规范的命名会存在差异。关于RFC和OpenSSL命名的加密套件名称差异点,请参见RFC与OpenSSL加密套件命名对照表。
CDN 加速
根据需要启用或禁用CDN加速开关。为域名设置CDN加速功能后,终端用户将通过CDN加速域名快速读取所需内容。
启用:开启CDN加速功能。需要填写自定义的CDN 加速域名。然后登录CDN控制台为加速域名配置CNAME。更多信息,请参见步骤四:开启CDN加速(可选)。
禁用:关闭CDN加速功能。
Web 应用防火墙
根据需要启用或者禁用Web应用防火墙开关。为自定义域名开启Web应用防火墙安全防护之后,Web应用防火墙将对该域名上的业务流量进行恶意特征识别和防护,避免函数被恶意侵入。具体信息,请参见开启Web应用防火墙。
启用:开启Web应用防火墙安全防护功能。
禁用:关闭Web应用防火墙安全防护功能。
路由配置
设置路径与函数的对应关系,即不同的请求路径可以触发不同的函数执行。您需要设置以下字段:
路径:可以触发指定服务下的指定函数的请求路径。
服务名称:来自指定路径的请求触发的对应服务。
函数名称:来自指定路径的请求触发的指定服务下的对应函数。
版本或别名:来自指定路径的请求触发的指定服务下的对应函数版本或别名。
重写策略:将匹配指定路径的请求的URI根据规则进行重写。具体操作,请参见操作步骤。
您可以根据需要添加多个路由。更多路由信息,请参见路由匹配规则。
为已有自定义域名开启WAF防护
在顶部菜单栏,选择地域后,定位到目标自定义域名,单击操作列的编辑。
在编辑自定义域名页面,将Web 应用防火墙配置为启用,然后单击保存。
完成接入后,WAF会自动生成一个命名为“域名-fc”的防护对象,并为该防护对象默认开启Web核心防护规则。您可以在接入列表,单击已接入的域名,在防护对象页面,查看自动添加的防护对象,并为其配置防护规则。具体操作,请参见防护配置概述。