为FC自定义域名开启WAF防护

如果您将为或者已为阿里云函数计算(Function Compute,简称FC)上的Web应用绑定自定义域名,并通过自定义域名访问该应用时,您可以在函数计算控制台,为该自定义域名开启Web应用防火墙(Web Application Firewall,简称WAF)功能,将Web应用业务流量引流到WAF进行安全防护。本文介绍如何为FC自定义域名开启WAF防护。

背景信息

函数计算是Serverless架构的一种形态,面向函数编程,基于事件驱动提供阿里云服务之间端到端的解决方案。借助函数计算,您可以快速构建多种类型的应用和服务。更多信息,请参见什么是函数计算

WAF通过SDK模块化的方式与函数计算原生架构集成,支持为函数计算上的Web应用绑定的自定义域名开启安全防护,通过识别应用或者应用中函数的业务流量恶意特征,将正常和安全的流量回源至后端函数,避免函数被恶意侵入。

使用限制

云产品接入适用于快速将阿里云ALB、MSE、FC、SAE 2.0、CLBECS资源接入WAF防护。如需防护非阿里云资源的Web应用,请通过CNAME接入方式将域名下业务接入WAF,具体操作请参见添加域名

  • 仅支持为华东1(杭州)华东2(上海)华北2(北京)华北3(张家口)华南1(深圳)地域的FC自定义域名开启WAF防护。

  • 通过函数计算接入WAF的防护对象暂不支持网页防篡改、信息泄露防护、Bot管理和API安全功能。

前提条件

  • 已开通中国内地地域的WAF 3.0服务。具体操作,请参见开通包年包月WAF 3.0开通按量付费WAF 3.0

  • 如果您开通的是包年包月实例,请确认您的实例还可以添加防护对象。否则,将无法进行云产品接入。

    您可以访问防护对象页面,查看实例还可以添加的防护对象数。image.png

操作步骤

您可以在为应用创建自定义域名的同时开启WAF防护,也可以为已有自定义域名开启WAF防护。

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地)。

  2. 在左侧导航栏,单击接入管理

  3. 选择云产品接入页签,在左侧云产品类型列表,选择FC,然后单击接入

  4. 根据页面提示,单击立即授权,完成云产品授权。

    完成后,阿里云将自动为您创建WAF服务关联角色AliyunServiceRoleForWAF。您可以在RAM控制台身份管理 > 角色页面,查看阿里云为WAF自动创建的服务关联角色。

    说明

    如果您已经完成云产品授权,则授权页面不会出现,您可以直接执行后续步骤。

    此时,页面将跳转到函数计算控制台

  5. 在函数计算控制台的域名管理页面,为FC自定义域名开启WAF防护。

    • 创建自定义域名并开启WAF防护

      1. 在顶部菜单栏,选择地域为华东1(杭州)华东2(上海)华北2(北京)华北3(张家口)华南1(深圳),单击添加自定义域名

      2. 添加自定义域名页面,完成如下配置后,单击创建

        配置项

        说明

        域名

        填写已在阿里云备案或接入备案的自定义域名名称。支持单域名(例如www.aliyun.com)或通配符域名(例如*.aliyun.com)。

        HTTPS

        设置通过自定义域名访问网站时使用的协议类型。

        • 启用:表示使用HTTPHTTPS协议。

          • 启用HTTPS后,您需要上传绑定该自定义域名的SSL证书。

            • 阿里云 SSL 证书:选择您的阿里云SSL证书。如果证书名称下拉列表为空,则说明您尚未为该域名购买阿里云SSL证书,您可以登录数字证书管理服务控制台购买。具体操作,请参见购买SSL证书

            • 手动上传:手动输入证书名称,并填写PEM 证书内容PEM 证书密钥

              说明

              上传证书的大小不能超过20 KB,证书密钥的大小不能超过4 KB。

          • 您也可以根据业务需要,配置如下功能:

            开启强制HTTPS

            开启该功能后,函数计算会将所有HTTP请求强制转换为HTTPS请求。

            设置TLS协议版本

            选择该自定义域名使用的TLS协议版本。如果不配置,默认选择TLS 1.0及以上版本协议,包括TLS 1.0、TLS 1.1TLS 1.2协议。取值说明如下:

            • 支持TLS 1.0及以上协议,兼容性最高,安全性较低:表示对TLS 1.0及以上所有协议版本生效,包括TLS 1.0、TLS 1.1TLS 1.2协议。

            • 支持TLS 1.1及以上协议,兼容性较好,安全性较好:表示对TLS 1.1及以上所有协议版本生效,包括TLS 1.1TLS 1.2协议,使用TLS 1.0协议将无法访问配置的自定义域名。

            • 支持TLS 1.2及以上协议,兼容性较好,安全性最高:表示对TLS 1.2以上所有协议版本生效,仅包括TLS 1.2协议,使用TLS 1.0TLS 1.1协议将无法访问配置的自定义域名。

            说明

            选择以上TLS协议版本后,您还可以选中开启支持TLS 1.3复选框,表示同时支持TLS 1.3协议。

            加密套件

            选择TLS协议版本后,可根据业务需要,选择加密套件。如果不配置,默认选择全部加密套件。取值说明如下:

            • 全部加密套件,兼容性最高,安全性较低:选择全部加密套件。函数计算支持的加密套件列表请参见强加密和弱加密套件列表

            • 协议版本的自定义加密套件,请谨慎选择,避免影响业务:选择部分支持的加密套件。下拉列表中显示所有加密套件,您可以单击加密套件右侧的delete图标,删除安全性较弱的弱加密套件,保留您选择的TLS协议版本支持的加密套件。

            说明
            • 关于TLS协议版本和其支持的加密套件,请参见配置自定义域名

            • 函数计算对加密套件的命名使用RFC命名规范。同一个加密套件,使用不同命名规范的命名会存在差异。关于RFCOpenSSL命名的加密套件名称差异点,请参见配置自定义域名

        • 禁用:表示仅使用HTTP协议。

        CDN 加速

        如果终端用户需要快速读取所需内容,您可以启用该功能,为该自定义域名开启CDN 加速。更多信息,请参见步骤四:开启CDN加速(可选)

        Web 应用防火墙

        选择启用,为自定义域名开启WAF安全防护。启用该功能后,WAF将对该自定义域名上的业务流量进行恶意特征识别和防护,避免域名中的函数被恶意侵入。

        路由配置

        您可以为不同的函数匹配对应路径,便于您更快速的访问对应函数。您需要设置以下字段:

        • 路径:表示指定函数对应的请求路径。例如,您创建的自定义域名为example.com,匹配路径为/a,当您输入请求URLexample.com/a时,即可快速访问指定函数。

        • 服务名称:表示指定函数所属的服务名称。

        • 函数名称:表示指定函数名称。

        • 版本或别名:表示指定函数的版本或别名。

        • 重写策略:表示匹配指定路径的请求URL的重写策略。具体操作,请参见配置重写策略

        您可以根据需要添加多个路由。更多路由信息,请参见路由匹配规则

    • 为已有自定义域名开启WAF防护

      1. 在顶部菜单栏,选择地域后,定位到目标自定义域名,单击操作列的编辑

      2. 编辑自定义域名页面,将Web 应用防火墙配置为启用,然后单击保存

    完成接入后,WAF会自动生成一个命名为“域名-fc”的防护对象,并为该防护对象默认开启基础防护规则。您可以在接入列表,单击已接入的域名,在防护对象页面,查看自动添加的防护对象,并为其配置防护规则。具体操作,请参见防护配置概述

    image

相关文档