All Products
Search
Document Center

Web Application Firewall:Add a Layer 7 CLB instance to WAF

Last Updated:Jan 10, 2024

If you created a Classic Load Balancer (CLB) instance, created an HTTP or HTTPS listener, and specified listener ports, you can add the ports to Web Application Firewall (WAF) to redirect traffic on the ports to WAF. This topic describes how to add a Layer 7 CLB instance to WAF.

Background information

After you add Elastic Compute Service (ECS) instances that are deployed in the same region to a CLB instance, CLB uses virtual IP addresses to combine the ECS instances into a high-performance, highly available server pool. Then, CLB forwards inbound requests to the ECS instances based on forwarding rules. For more information, see What is CLB?

You can add a Layer 7 CLB instance to WAF. After you add a Layer 7 CLB instance to WAF, all traffic of the CLB instance is redirected to WAF by using a specified gateway. WAF filters out malicious traffic and forwards normal traffic to the CLB instance. The following figure shows the network architecture.

image

Limits

You can add web services to WAF in cloud native mode only if your web services use the following Alibaba Cloud services: Application Load Balancer (ALB), Microservices Engine (MSE), Function Compute, Serverless App Engine (SAE), Classic Load Balancer (CLB), or Elastic Compute Service (ECS). If your web services do not use the preceding services, you can add the domain name of your website to WAF in CNAME record mode. For more information, see Add a domain name to WAF.

Item

Description

Supported instances

To add an instance to WAF, the instance must meet the following requirements:

  • The instance is an Internet-facing instance.

  • The instance does not use IPv6.

  • Mutual authentication is disabled for the instance.

Supported regions

  • Chinese mainland: China (Chengdu), China (Beijing), China (Zhangjiakou), China (Hangzhou), China (Shanghai), China (Shenzhen), and China (Qingdao).

  • Outside the Chinese mainland: China (Hong Kong), Malaysia (Kuala Lumpur), and Indonesia (Jakarta).

Number of traffic redirection ports

The limits on the number of traffic redirection ports are the same as the limits on the number of protected objects.

  • Subscription WAF instances: 300 for Basic Edition, 600 for Pro Edition, 2,500 for Enterprise Edition, and 10,000 for Ultimate Edition.

  • Pay-as-you-go WAF instances: 10,000.

TLS security policies

If HTTPS traffic redirection ports are configured, only built-in Transport Layer Security (TLS) security policies are supported. If custom TLS security policies are configured for the ports, you cannot add the ports to WAF. For more information, see TLS security policies.

Services that are protected by Anti-DDoS Pro or Anti-DDoS Premium and WAF

If you want to protect your web services by using Anti-DDoS Pro or Anti-DDoS Premium and WAF, you can add the web services to WAF in transparent proxy mode only if you add the web services to Anti-DDoS Pro or Anti-DDoS Premium by adding a domain name.

Prerequisites

  • A WAF 3.0 instance is purchased. For more information, see Purchase a subscription WAF 3.0 instance and Purchase a pay-as-you-go WAF 3.0 instance.

  • A CLB instance that meets the preceding limits is created. An HTTP or HTTPS listener is created. For more information, see the "Limits" section in this topic. For information about how to create an HTTP or HTTPS listener, see Add an HTTP listener and Add an HTTPS listener.

  • If you use a subscription WAF instance, make sure that the number of protected objects that you add to WAF does not exceed the upper limit. If the number of protected objects that you add to WAF exceeds the upper limit, you can no longer add cloud service instances to WAF.

    To view the number of protected objects that you can add to WAF, go to the Protected Objects page. image.png

Add traffic redirection ports

Important
  • The first time you add an instance to WAF, web services may be interrupted for several seconds. If clients can be automatically reconnected, the web services automatically resume. Configure reconnection mechanisms and back-to-origin settings based on your business requirements.

  • If you perform the following operations after you add a Layer 7 CLB instance to WAF, traffic redirection ports are automatically removed from WAF. If you do not re-add the ports to WAF, traffic on the ports is not redirected to WAF.

    • Change the public IP address of the instance

    • Replace the certificate that is bound to a traffic redirection port with a certificate that is not purchased by using Certificate Management Service (formerly SSL Certificates Service)

    • Enable mutual authentication

  1. Log on to the WAF 3.0 console. In the top navigation bar, select the resource group and the region in which the WAF instance is deployed. The region can be Chinese Mainland or Outside Chinese Mainland.

  2. In the left-side navigation pane, click Website Configuration.

  3. On the Cloud Native tab, click CLB(HTTP/HTTPS) in the left-side product list.

  4. Click Add.

  5. Click Authorize Now to authorize your WAF instance to access CLB.

    Alibaba Cloud automatically creates the AliyunServiceRoleForWAF service-linked role. To view the service-linked role, log on to the Resource Access Management (RAM) console and choose Identities > Roles in the left-side navigation pane.

    Note

    If your WAF instance is already authorized to access CLB, skip this step.

  6. In the Configure Instance - Layer 7 CLB Instance panel, configure the parameters. The following table describes the parameters.

    image.png

    Parameter

    Related operations

    Select the instance and port to be added.

    1. Synchronize Instances

      If the instance that you want to add to WAF is not in the instance list, click Synchronize Instances to refresh the instance list.

    2. Add Port

      1. Find the instance that you want to add to WAF and click Add Port in the Actions column.

      2. Select the HTTP or HTTPS ports that you want to add and click OK.

        Important

        If you want to add an HTTPS port, make sure that the certificate that is configured for the port is purchased by using Alibaba Cloud Certificate Management Service (formerly SSL Certificates Service) or uploaded to Certificate Management Service (formerly SSL Certificates Service). Otherwise, the instance may fail to be added to WAF. For more information, see What do I do if an error message indicating that the certificate is incomplete is displayed when I add an HTTPS traffic redirection port?

    Whether Layer 7 Proxy, Such as Anti-DDoS Pro, Anti-DDoS Premium, or Alibaba Cloud CDN, Is Deployed in Front of WAF

    Specify whether a Layer 7 proxy is deployed in front of WAF. Layer 7 proxies include Anti-DDoS Pro, Anti-DDoS Premium, and Alibaba Cloud CDN. Valid values: Yes and No.

    • By default, No is selected. This value specifies that WAF receives requests that are sent from clients. The requests are not forwarded by proxies.

      Note

      WAF uses the IP address that is used to establish connections with WAF as the IP address of a client. WAF obtains the IP address from the REMOTE_ADDR field of the request.

    • If Layer 7 proxies are deployed in front of WAF, select Yes. This value specifies that WAF receives requests that are forwarded to WAF by a Layer 7 proxy. To ensure that WAF can obtain the actual IP addresses of clients for security analysis, configure the Obtain Actual IP Address of Client parameter.

      • Use the First IP Address in X-Forwarded-For Field as Actual IP Address of Client (default)

        By default, WAF uses the first IP address in the X-Forwarded-For field as the actual IP address of a client.

      • [Recommended] Use the First IP Address in Specified Header Field as Actual IP Address of Client to Prevent X-Forwarded-For Forgery

        If you use proxies that contain the IP addresses of clients in a custom header field, such as X-Client-IP or X-Real-IP, select this value. Then, include the custom header field in the Header Field field.

        Note

        We recommend that you use custom header fields to store the IP addresses of clients and configure the header fields in WAF. This way, attackers cannot forge X-Forwarded-For fields to bypass WAF protection. This improves the security of your business.

        You can enter multiple header fields. Press the Enter key each time you enter a header field. If you enter multiple header fields, WAF obtains the IP address of a client from the fields in sequence. WAF scans the header fields in sequence until the IP address of the client is obtained. If WAF cannot obtain the IP address of the client from the header fields, WAF uses the first IP address in the X-Forwarded-For field as the IP address of the client.

    Resource Group

    Select the resource group to which you want to add the CLB instance from the drop-down list. If you do not select a resource group, the instance is added to the default resource group.

    Note

    You can use Resource Management to create resource groups and manage resources within your Alibaba Cloud account by department or project. For more information, see Create a resource group.

    Advanced Settings

    • Enable Traffic Mark

      If you select Enable Traffic Mark, requests that pass through WAF are labeled. This way, your origin server can obtain the actual IP addresses or ports of clients.

      If an attacker obtains information about your origin server before you add your domain name to WAF and uses another WAF instance to forward requests to the origin server, you can select Enable Traffic Mark. This way, the origin server can check whether the requests passed through WAF. If the specified header fields exist in a request, the request passed through WAF and the request is allowed. If the specified header fields do not exist in a request, the request did not pass through WAF and the request is blocked.

      You can configure the following types of header fields:

      • Custom Header

        If you want to add a custom header field, configure the Header Name and Header Value parameters. WAF adds the header field to the back-to-origin requests. This allows the backend service to check whether requests pass through WAF, collect statistics, and analyze data.

        For example, you can add the ALIWAF-TAG: Yes custom header field to label the requests that pass through WAF. In this example, the name of the header field is ALIWAF-TAG and the value of the header field is Yes.

      • Originating IP Address

        You can configure a custom header to record the actual IP addresses of clients. This way, your origin server can obtain the actual IP addresses of clients. For information about how WAF obtains the actual IP addresses of clients, see the description of the Whether Layer 7 Proxy, Such as Anti-DDoS Pro, Anti-DDoS Premium, or Alibaba Cloud CDN, Is Deployed in Front of WAF parameter in this topic.

      • Source Port

        You can configure a custom header to record the ports of clients. This way, your origin server can obtain the actual ports of clients.

      Important

      We recommend that you do not specify a standard HTTP header field, such as User-Agent. If you specify a standard HTTP header field, the value of the standard header field is overwritten by the value of the custom header field.

      Click Add Mark to specify a header field. You can specify up to five header fields.

    • Back-to-origin Keep-alive Requests

      If the persistent connection between WAF and your origin server times out, you can configure the timeout period of persistent connections, the number of reused persistent connections, and the timeout period of idle persistent connections.

      • Read Connection Timeout Period: the amount of time that WAF waits for a response from the origin server. If the timeout period is exceeded, WAF closes the connection. Valid values: 1 to 3600. Default value: 120. Unit: seconds.

      • Write Connection Timeout Period: the amount of time that is required for requests to be forwarded to the origin server. If the timeout period is exceeded, the origin server closes the connection. Valid values: 1 to 3600. Default value: 120. Unit: seconds.

      • Back-to-origin Keep-alive Requests: If you want to configure the number of reused persistent connections or the timeout period of idle persistent connections, turn on Back-to-origin Keep-alive Requests and configure the following parameters:

        • Reused Keep-alive Requests: the number of requests that WAF can send to the origin server or the number of responses that WAF can receive from the origin server at the same time. Valid values: 60 to 1000. Default value: 1000.

        • Timeout Period of Idle Keep-alive Requests: the timeout period of idle persistent connections. Valid values: 10 to 3600. Default value: 3600. Unit: seconds.

  7. Select the CLB instance that you want to add to WAF and click OK.

    After you add a CLB instance to WAF, the CLB instance becomes a protected object of WAF. The name of the protected object is in the following format: Instance ID-Port-Asset type. By default, basic protection rules are enabled for the CLB instance. On the Protected Objects page, you can configure protection rules for the protected object. To go to the Protected Objects page, click the CLB instance that you added to WAF on the Cloud Native tab of the Website Configuration page. For more information, see Protection configuration overview. 防护对象

Related operations

View origin servers and manage traffic redirection ports

After you add a CLB instance to WAF, you can view the protection details of the origin servers and disable traffic redirection or delete traffic redirection ports in urgent disaster recovery scenarios.

  1. On the Website Configuration page, click the Cloud Native tab.

  2. Click CLB(HTTP/HTTPS) in the left-side product list. Find the CLB instance whose traffic redirection ports you want to view and click the image.png icon to the left of the instance name to view the ports that are added to WAF.

    image.png

    • View port details: Click Port Details to view information about the port, protocol, and certificate, and then configure the Whether Layer 7 Proxy, Such as Anti-DDoS Pro, Anti-DDoS Premium, or Alibaba Cloud CDN, Is Deployed in Front of WAF, Enable Traffic Mark (Advanced Settings), and Back-to-origin Keep-alive Requests (Advanced Settings) parameters.

    • Remove ports: Click Remove and then click OK in the Remove message.

      Important

      After you remove a traffic redirection port from WAF, traffic on the port is no longer protected by WAF. To re-add the port to WAF, click Add. For more information, see Add traffic redirection ports.

Update the SSL certificate that is bound to a traffic redirection port

If the SSL certificate that is bound to a traffic redirection port is about to expire or the certificate was changed, you must update the certificate.

Note
  • If the remaining validity period of the certificate is less than 30 days, image.png is displayed in the domain name list. This indicates that your SSL certificate is about to expire. You must update the certificate at the earliest opportunity.

  • If you want to receive notifications when the certificate is about to expire, log on to the Certificate Management Service console. Find the certificate that is about to expire and click the image.png icon in the Notification Reminder column. On the Notification page, enable and configure a notification policy for the certificate.

  • To prevent service interruptions that are caused by certificate expiration, enable the certificate hosting feature of Certificate Management Service (formerly SSL Certificates Service). If you enable this feature for a certificate, the system automatically applies for a new certificate. For more information, see Certificate Management Service overview.

To update the SSL certificate that is bound to a traffic redirection port, perform the following steps:

  1. Renew the certificate or upload the certificate to Certificate Management Service (formerly SSL Certificates Service). For more information, see Certificate renewal or Upload an SSL certificate.

  2. Synchronize the SSL certificate to your Layer 7 CLB instance.

    After you update the SSL certificate that is bound to your Layer 7 CLB instance, the certificate is automatically synchronized to WAF. If the certificate is not automatically synchronized to WAF, perform the following steps to manually synchronize the certificate to WAF:

    1. On the Cloud Native tab of the Website Configuration page, click CLB(HTTP/HTTPS) in the left-side product list. Then, click Add.

    2. In the Configure Instance - Layer 7 CLB Instance panel, click Synchronize Instances to synchronize the updated certificate.

  3. If the new certificate that is bound to a traffic redirection port is a third-party certificate, the traffic redirection port is automatically removed from WAF. After you change the certificate, re-add the port to WAF. For more information, see Add traffic redirection ports.

FAQ

Why am I unable to find the CLB or ECS instance that I want to add to WAF on the Website Configuration page?