为SAE 2.0自定义域名开启WAF防护

如果应用托管在Serverless 应用引擎 SAE(Serverless App Engine) 2.0上,您可以为应用绑定的自定义域名开启Web应用防火墙(Web Application Firewall,简称WAF)功能,将Web业务流量引流到WAF进行安全防护。本文介绍如何为SAE 2.0应用绑定的自定义域名开启WAF防护。

背景信息

SAE是一款极简易用、自适应弹性的容器化应用平台,提供全托管的计算服务来运行您的程序。SAE支持Spring Cloud、Dubbo、HSF、Web应用和XXL-JOB、ElasticJob任务,支持网站、小程序、APP以及微服务应用。关于SAE的更多信息,请参见什么是Serverless应用引擎

您可以在SAE 2.0创建应用,并为应用绑定自定义域名,使得访问者可以通过固定域名访问应用。

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

使用限制

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

  • 仅支持为如下地域的SAE 2.0自定义域名开启WAF防护:

    • 华东1(杭州)

    • 华东2(上海)

    • 华南1(深圳)

    • 华北2(北京)

    • 华北3(张家口)

  • 通过SAE 2.0接入WAF的防护对象暂不支持以下功能:

    • 网页防篡改

    • 信息泄露防护

    • Bot管理网页防爬场景化防护中的自动集成Web SDK

    • 不支持API

前提条件

操作步骤

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

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

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

  4. SAE 2.0控制台,单击开通并体验SAE 2.0公测版,开通SAE 2.0。

    SAE 2.0版本支持开通WAF防护。

  5. 根据页面提示,单击确认创建,自动创建一个服务关联角色,用于使用应用部署、应用监控、自动弹性等功能。

    • 自动创建的角色名称为:AliyunServiceRoleForSAE

    • 角色权限策略为:AliyunServiceRolePolicyForSAE

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

    如果您已经创建服务关联角色,则该页面不会出现,您可以直接执行后续步骤。

  6. 应用列表页面,单击Web应用页签,创建应用。具体操作,请参见创建应用

  7. 在应用的基础信息页面的HTTP流量全托管区域,单击创建自定义域名

  8. 完成如下配置后,单击确定

    配置项

    说明

    域名

    填写自定义域名名称。支持单域名(例如www.aliyun.com)或通配符域名(例如*.aliyun.com)。

    HTTPS

    按需启用或禁用HTTPS协议访问自定义域名的功能。取值说明如下:

    • 启用:开启通过HTTPS协议访问自定义域名的功能。表示支持使用HTTPHTTPS协议访问该自定义域名。

      说明

      您还可以选中强制HTTPS复选框,此时仅支持使用HTTPS协议访问该自定义域名,SAE 2.0会将所有使用HTTP协议访问该自定义域名的请求重定向至HTTPS协议。

    • 禁用:关闭通过HTTPS协议访问自定义域名功能。表示仅支持使用HTTP协议访问该自定义域名,使用HTTPS协议将无法访问该自定义域名。

    证书类型

    启用HTTPS协议访问自定义域名的功能时,需设置此配置项。选择要上传的证书类型。取值说明如下:

    • 手动上传:手动输入证书名称,并填写PEM证书内容PEM证书密钥。上传的证书的大小不能超过20 KB,证书密钥的大小不能超过4 KB。

    TLS协议版本

    启用HTTPS协议访问自定义域名的功能时,需设置此配置项。选择应用使用的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协议。

    加密套件

    启用HTTPS协议访问自定义域名的功能时,需设置此配置项。选择TLS加密算法套件,如果不配置,默认选择全部加密套件。取值说明如下:

    • 全部加密套件,兼容性最高,安全性较低:选择全部加密套件,包括强加密套件和弱加密套件。

      强加密套件

      • TLS_RSA_WITH_AES_128_CBC_SHA

      • TLS_RSA_WITH_AES_256_CBC_SHA

      • TLS_RSA_WITH_AES_128_GCM_SHA256

      • TLS_RSA_WITH_AES_256_GCM_SHA384

      • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

      • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

      • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

      • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

      • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

      • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

      • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

      • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

      • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305

      • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305

      弱加密套件

      • TLS_RSA_WITH_RC4_128_SHA

      • TLS_RSA_WITH_3DES_EDE_CBC_SHA

      • TLS_RSA_WITH_AES_128_CBC_SHA256

      • TLS_ECDHE_ECDSA_WITH_RC4_128_SHA

      • TLS_ECDHE_RSA_WITH_RC4_128_SHA

      • TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

      • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

      • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

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

    重要

    请谨慎选择自定义加密套件,确保服务端和客户端套件的正确匹配。

    关于TLS协议版本和其支持的加密套件,请参见通过自定义域名访问应用

    SAE 2.0对加密套件的命名使用RFC命名规范。同一个加密套件,使用不同命名规范的命名会存在差异。关于RFCOpenSSL命名的加密套件名称差异点,请参见通过自定义域名访问应用

    Web应用防火墙

    启用Web应用防火墙。开启后,WAF将为您的应用提供一站式安全防护,有效识别Web业务流量的恶意特征,避免应用被恶意入侵,保障业务安全和数据安全。

    完成上述配置后,您的应用绑定的自定义域名已接入WAF防护。您可以在接入管理 > 云产品接入 > SAE页签,查看已接入WAF的自定义域名。image.png

    同时,WAF会自动生成一个命名为“应用ID-自定义域名-sae”的防护对象,并为该防护对象默认开启基础防护规则。您可以返回WAF控制台,在防护对象页面,查看自动添加的防护对象,并为其配置防护规则。具体操作,请参见概述

    image.png

相关文档