Updated on 2024-04-12 GMT+08:00

Step 1: Add a Website to WAF

If your service servers are deployed on the cloud, you can add the domain name or IP address of the website to WAF so that the website traffic is forwarded to WAF for inspection.

Prerequisites

You have applied for a dedicated WAF instance.

Constraints

  • An Internet-facing load balancer has been deployed on the website you want to protect with dedicated WAF instances.
  • If your website has no layer-7 proxy server such as CDN and cloud acceleration service deployed in front of WAF and uses only layer-4 load balancers (or NAT), set Proxy Configured to No. Otherwise, Proxy Configured must be set to Yes. This ensures that WAF obtains real IP addresses of website visitors and takes protective actions configured in protection policies.

Collecting Domain Name/IP Address Information

Before adding a domain name or IP address, obtain the information listed in Table 1.

Table 1 Domain name or IP address details required

Information

Parameter

Description

Example Value

Parameters

Domain Name

  • Domain name: used by visitors to access your website. A domain name consists of letters separated by dots (.). It is a human readable address that maps to the machine readable IP address of your server.
  • IP: IP address of the website.

www.example.com

Protected Port

The service port corresponding to the domain name of the website you want to protect.

  • Standard ports
    • 80: default port when the client protocol is set to HTTP
    • 443: default port when the client protocol is set to HTTPS
  • Non-standard ports

    Ports other than ports 80 and 443

80

Client Protocol

Protocol used by a client (for example, a browser) to access the website. WAF supports HTTP and HTTPS.

HTTP

Server Protocol

Protocol used by WAF to forward requests to the client (such as a browser). The options are HTTP and HTTPS.

HTTP

VPC

Select the VPC that the dedicated WAF instance belongs to.

vpc-default

Server Address

Private IP address of the website server that a client (for example, a browser) accesses.

192.168.1.1

(Optional) Certificate

Certificate Name

If you set Client Protocol to HTTPS, you are required to configure a certificate on WAF and associate the certificate with the domain name.

NOTICE:

Only .pem certificates can be used in WAF. If a certificate is not in .pem, convert it by referring to How Do I Convert a Certificate into PEM Format?

None

Procedure

  1. Log in to the management console.
  2. Click in the upper left corner of the management console and select a region or project.
  3. Click in the upper left corner and choose Web Application Firewall under Security.
  1. In the navigation pane, choose Website Settings.
  2. In the upper left corner of the website list, click Add Website.
  3. Provide the domain name details.

    • Website Name: (Optional) You can customize the website name.
    • Domain Name: Enter the domain name of a website you want WAF to protect. You can enter a single domain name or a wildcard domain name.
      • If the server IP address of each subdomain name is the same, enter a wildcard domain name to be protected. For example, if the subdomain names a.example.com, b.example.com, and c.example.com have the same server IP address, you can add the wildcard domain name *.example.com to WAF to protect all three.
      • If the server IP addresses of subdomain names are different, add subdomain names as single domain names one by one.
    • Website Remarks: (Optional) You can provide remarks about your website if you want.

  4. Configure the origin server. Table 2 describes the parameters.

    Table 2 Parameter description

    Parameter

    Description

    Example Value

    Protected Port

    Select the port type that you want WAF to protect from the drop-down list.

    To protect port 80 or 443, select Standard port from the drop-down list.

    81

    Server Configuration

    Address of the web server. The configuration contains the Client Protocol, Server protocol, VPC, Server Address, and Server Port.

    • Client Protocol: protocol used by a client to access a server. The options are HTTP and HTTPS.
    • Server Protocol: protocol used by WAF to forward client requests. The options are HTTP and HTTPS.
    • VPC: Select the VPC to which the dedicated WAF instance belongs.
      NOTE:

      To implement active-active services and prevent single points of failure (SPOFs), it is recommended that at least two WAF instances be deployed in the same VPC.

    • Server Address: Private/internal IP address of the website server that a client (for example, a browser) accesses.
      The following IP address formats are supported:
      • IPv4, for example, XX.XXX.1.1
      • IPv6, for example, fe80:0000:0000:0000:0000:0000:0000:0000
    • Server Port: service port of the server to which the dedicated WAF instance forwards client requests.

    Client Protocol: HTTP

    Server Protocol: HTTP

    Server Address: XXX.XXX.1.1

    Server Port: 80

    Certificate Name

    If you set Client Protocol to HTTPS, an SSL certificate is required.

    You can select an International certificate and/or Chinese certificate, or import a new certificate. For details about how to import a certificate, see Importing a New Certificate.

    NOTICE:
    • Only .pem certificates can be used in WAF. If the certificate is not in .pem format, convert it into .pem by referring to Importing a New Certificate before uploading the certificate.
    • If your website certificate is about to expire, purchase a new certificate before the expiration date and update the certificate associated with the website in WAF.
    • Each domain name must have a certificate associated. A wildcard domain name can only use a wildcard domain certificate. If you only have single-domain certificates, add domain names one by one in WAF.

    --

  5. Configure the advanced settings.

    • Proxy: WAF security policies take effect for real client IP addresses where the requests initiate. To ensure that WAF obtains real client IP addresses, if your website has layer-7 proxy servers such as CDN and cloud acceleration products deployed in front of WAF, select Yes for Proxy.
    • Policy: The system-generated policy is selected by default. You can select a policy you configured before. You can also customize rules after the domain name is connected to WAF.

      System-generated policies include:

      • Basic web protection (Log only mode and common checks)

        The basic web protection defends against attacks such as SQL injections, XSS, remote overflow vulnerabilities, file inclusions, Bash vulnerabilities, remote command execution, directory traversal, sensitive file access, and command/code injections.

      • Anti-crawler (Log only mode and Scanner feature)

        WAF only logs web scanning tasks, such as vulnerability scanning and virus scanning, such as crawling behavior of OpenVAS and Nmap.

      Log only: WAF only logs detected attack events instead of blocking them.

  6. Click OK.

Verification

The initial Access Status of a website is Inaccessible. After you configure a load balancer and bind an EIP to the load balancer for your website, when a request reaches the WAF dedicated instance, the access status automatically changes to Accessible.

Importing a New Certificate

If you set Client Protocol to HTTPS, an SSL certificate is required. You can perform the following steps to import a new certificate.

  1. Click Import New Certificate.
    • If you select Chinese for Type, specify Certificate Name, and copy the signature certificate, signature private key, encryption certificate, and encryption private key to the corresponding text boxes.
    • If you select International for Type, specify Certificate Name and copy the certificate file and private key to the corresponding text boxes.

    WAF encrypts and saves the private key to keep it safe.

    Only .pem certificates can be used in WAF. If the certificate is not in .pem format, convert it into .pem locally by referring to Table 3 before uploading it.
    Table 3 Certificate conversion commands

    Format

    Conversion Method

    CER/CRT

    Rename the cert.crt certificate file to cert.pem.

    PFX

    • Obtain a private key. For example, run the following command to convert cert.pfx into key.pem:

      openssl pkcs12 -in cert.pfx -nocerts -out key.pem -nodes

    • Obtain a certificate. For example, run the following command to convert cert.pfx into cert.pem:

      openssl pkcs12 -in cert.pfx -nokeys -out cert.pem

    P7B

    1. Convert a certificate. For example, run the following command to convert cert.p7b into cert.cer:

      openssl pkcs7 -print_certs -in cert.p7b -out cert.cer

    2. Rename certificate file cert.cer to cert.pem.

    DER

    • Obtain a private key. For example, run the following command to convert privatekey.der into privatekey.pem:

      openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem

    • Obtain a certificate. For example, run the following command to convert cert.cer into cert.pem:

      openssl x509 -inform der -in cert.der -out cert.pem

    • Before running an OpenSSL command, ensure that the OpenSSL tool has been installed on the local host.
    • If your local PC runs a Windows operating system, go to the command line interface (CLI) and then run the certificate conversion command.
  2. Click Confirm.