Configure SSL Forward Proxy
Focus
Focus

Configure SSL Forward Proxy

Table of Contents

Configure SSL Forward Proxy

SSL Forward Proxy decryption enables the firewall to see potential threats in outbound encrypted traffic and apply security protections against those threats.
To enable the firewall to perform SSL Forward Proxy decryption, you must set up the certificates required to establish the firewall as a trusted third party (proxy) to the session between the client and the server. The firewall can use certificates signed by an enterprise certificate authority (CA) or self-signed certificates generated on the firewall as Forward Trust certificates to authenticate the SSL session with the client.
  • (Best Practice) Enterprise CA-signed Certificates—An enterprise CA can issue a signing certificate that the firewall can use to sign the certificates for sites that require SSL decryption. When the firewall trusts the CA that signed the certificate of the destination server, the firewall can send a copy of the destination server certificate to the client, signed by the enterprise CA. This is a best practice because usually all network devices already trust the enterprise CA (it is usually already installed in the devices’ CA Trust storage), so you don’t need to deploy the certificate on the endpoints, so the rollout process is smoother.
  • Self-signed Certificates—The firewall can act as a CA and generate self-signed certificates that the firewall can use to sign the certificates for sites which require SSL decryption. The firewall can sign a copy of the server certificate to present to the client and establish the SSL session. This method requires that you need to install the self-signed certificates on all of your network devices so that those devices recognize the firewall’s self-signed certificates. Because the certificates must be deployed to all devices, this method is better for small deployments and proof of concept (PoC) trials than for large deployments.
Additionally, set up a Forward Untrust certificate for the firewall to present to clients when the server certificate is signed by a CA that the firewall does not trust. This ensures that clients are prompted with a certificate warning when attempting to access sites with untrusted certificates.
Regardless of whether you generate Forward Trust certificates from your enterprise root CA or use a self-signed certificate generated on the firewall, generate a separate subordinate Forward Trust CA certificate for each firewall. The flexibility of using separate subordinate CAs enables you to revoke one certificate when you decommission a device (or device pair) without affecting the rest of the deployment and reduces the impact in any situation in which you need to revoke a certificate. Using separate Forward Trust CAs on each firewall also helps troubleshoot issues because the CA error message the user sees includes information about the firewall the traffic is traversing. If you use the same Forward Trust CA on every firewall, you lose the granularity of that information.
After setting up the Forward Trust and Forward Untrust certificates required for SSL Forward Proxy decryption, create a decryption policy rule to define the traffic you want the firewall to decrypt and create a Decryption profile to apply SSL controls and checks to the traffic. The decryption policy rule decrypts SSL tunneled traffic that matches the rule into cleartext traffic. The firewall blocks and restricts traffic based on the Decryption profile attached to the decryption policy rule and the firewall's Security policy. The firewall re-encrypts traffic as it exits the firewall.
When you configure SSL Forward Proxy, the proxied traffic does not support DSCP code points or QoS.
Beginning in PAN-OS 9.1.12, the firewall denies a web session if the client presents a truncated Client Hello message that is missing information that is critical for decryption, such as the cipher suites and TLS versions it supports. This includes sessions with traffic that is excluded from decryption. However, the firewall attempts decryption if a Client Hello message contains the necessary information for decryption. Specifically, the firewall parses the first packet for the Server Name Indication (SNI) extension. If present, the firewall uses the SNI to determine and apply matching decryption policy rules. If the first packet does not contain the SNI, the firewall makes a best-effort match to a decryption policy rule.
To allow the firewall to decrypt sessions where an incomplete Client Hello is missing critical information, use the debug proxy discard-partial-client-hello enable no CLI command. When this feature is disabled, the firewall discards sessions only when traffic matches a known threat pattern. If the traffic doesn't match a known threat, the firewall might allow the session to continue without decryption.
  1. Ensure that the appropriate interfaces are configured as either virtual wire, Layer 2, or Layer 3 interfaces.
    View configured interfaces on the NetworkInterfacesEthernet tab. The Interface Type column displays if an interface is as a Virtual Wire or Layer 2, or Layer 3 interface. You can select an interface to modify its configuration, including its interface type.
  2. Configure the forward trust certificate that the firewall present to clients when a trusted CA has signed the server certificate. You can use an enterprise CA-signed certificate or a self-signed certificate as the forward trust certificate.
    (Recommended Best Practice) Use an enterprise CA-signed certificate as the forward trust certificate. Create a uniquely named Forward Trust certificate on each firewall:
    1. Generate a Certificate Signing Request (CSR) for the enterprise CA to sign and validate:
      1. Select DeviceCertificate ManagementCertificates and click Generate.
      2. Enter a Certificate Name. Use a unique name for each firewall.
      3. In the Signed By drop-down, select External Authority (CSR).
      4. (Optional) If your enterprise CA requires it, add Certificate Attributes to further identify the firewall details, such as Country or Department.
      5. Click Generate to save the CSR. The pending certificate is now displayed on the Device Certificates tab.
    2. Export the CSR:
      1. Select the pending certificate displayed on the Device Certificates tab.
      2. Click Export to download and save the certificate file.
        Leave Export private key unselected in order to ensure that the private key remains securely on the firewall.
      3. Click OK.
    3. Provide the certificate file to your enterprise CA. When you receive the enterprise CA-signed certificate from your enterprise CA, save the enterprise CA-signed certificate to import onto the firewall.
    4. Import the enterprise CA-signed certificate onto the firewall:
      1. Select DeviceCertificate ManagementCertificates and click Import.
      2. Enter the pending Certificate Name exactly. The Certificate Name that you enter must exactly match the pending certificate name in order for the pending certificate to be validated.
      3. Select the signed Certificate File that you received from your enterprise CA.
      4. Click OK. The certificate is displayed as valid with the Key and CA check boxes selected.
    5. Select the validated certificate to enable it as a Forward Trust Certificate to be used for SSL Forward Proxy decryption.
    6. Click OK to save the enterprise CA-signed forward trust certificate.
    Use a self-signed certificate as the forward trust certificate:
    1. Click the self-signed root CA certificate (DeviceCertificate ManagementCertificatesDevice Certificates) to open Certificate information and then click the Trusted Root CA check box.
    2. Click OK.
    3. Generate new subordinate CA certificates for each firewall:
      1. Select DeviceCertificate ManagementCertificates.
      2. Click Generate at the bottom of the window.
      3. Enter a Certificate Name.
      4. Enter a Common Name, such as 192.168.2.1. This should be the IP address or FQDN that will appear in the certificate. In this case, we’re using the IP address of the trust interface. Avoid using spaces in this field.
      5. In the Signed By field, select the self-signed Root CA certificate that you created.
      6. Click the Certificate Authority check box to enable the firewall to issue the certificate. Selecting this check box creates a certificate authority (CA) on the firewall that is imported to the client browsers, so clients trust the firewall as a CA.
      7. Generate the certificate.
    4. Click the new certificate to modify it and click the Forward Trust Certificate check box to configure the certificate as the forward trust certificate.
    5. Click OK to save the self-signed forward trust certificate.
    6. Repeat this procedure to generate a unique subordinate CA certificate on each firewall.
  3. Distribute the forward trust certificate to client system certificate stores.
    If you are using an enterprise-CA signed certificate as the forward trust certificate for SSL Forward Proxy decryption, and the client systems already have the enterprise CA installed in the local trusted root CA list, you can skip this step. (The client systems trust the subordinate CA certificates you generate on the firewall because the Enterprise Trusted root CA has signed them.)
    If you don’t install the forward trust certificate on client systems, users see certificate warnings for each SSL site they visit.
    On a firewall configured as a GlobalProtect portal:
    This option is supported with Windows and Mac client OS versions, and requires GlobalProtect agent 3.0.0 or later to be installed on the client systems.
    1. Select NetworkGlobalProtectPortals and then select an existing portal configuration or Add a new one.
    2. Select Agent and then select an existing agent configuration or Add a new one.
    3. Add the self-signed firewall Trusted Root CA certificate to the Trusted Root CA section. After GlobalProtect distributes the firewall’s Trusted Root CA certificate to client systems, the client systems trust the firewall’s subordinate CA certificates because the clients trust the firewall’s root CA certificate.
    4. Install in Local Root Certificate Store so that the GlobalProtect portal automatically distributes the certificate and installs it in the certificate store on GlobalProtect client systems.
    5. Click OK twice.
    Without GlobalProtect:
    Export the firewall Trusted root CA certificate so that you can import it into client systems. Highlight the certificate and click Export at the bottom of the window. Choose PEM format.
    Don’t select the Export private key check box. The private key should remain on the firewall and should not be exported to client systems.
    Import the firewall’s Trusted Root CA certificate into the browser Trusted Root CA list on the client systems in order for the clients to trust it. When importing into the client browser, ensure that you add the certificate to the Trusted Root Certification Authorities certificate store. On Windows systems, the default import location is the Personal certificate store. You can also simplify this process by using a centralized deployment option, such as an Active Directory Group Policy Object (GPO).
  4. Configure the forward untrust certificate (use the same forward untrust certificate for all firewalls).
    1. Click Generate at the bottom of the certificates page.
    2. Enter a Certificate Name, such as my-ssl-fwd-untrust.
    3. Set the Common Name, for example 192.168.2.1. Leave Signed By blank.
    4. Click the Certificate Authority check box to enable the firewall to issue the certificate.
    5. Click Generate to generate the certificate.
    6. Click OK.
    7. Click the new my-ssl-fwd-untrust certificate to modify it and enable the Forward Untrust Certificate option.
      Do not export the Forward Untrust certificate to the Certificate Trust Lists of your network devices! Do not install the Forward Untrust certificate on client systems. This is critical because installing the Untrust certificate in the Trust List results in devices trusting websites that the firewall does not trust. In addition, users won’t see certificate warnings for untrusted sites, so they won’t know the sites are untrusted and may access those sites, which could expose your network to threats.
    8. Click OK.
  5. (Optional) Configure the Key Size for SSL Forward Proxy Server Certificates that the firewall presents to clients. By default, the firewall determines the key size to use based on the key size of the destination server certificate.
  6. Create a decryption policy rule to define traffic for the firewall to decrypt and Create a Decryption Profile to apply SSL controls to the traffic.
    Although Decryption profiles are optional, it is a best practice to include a Decryption profile with each decryption policy rule to prevent weak, vulnerable protocols and algorithms from allowing questionable traffic on your network.
    1. Select PoliciesDecryption, Add or modify an existing rule, and define traffic to be decrypted.
    2. Select Options and:
      • Set the rule Action to Decrypt matching traffic.
      • Set the rule Type to SSL Forward Proxy.
      • (Optional but a best practice) Configure or select an existing Decryption Profile to block and control various aspects of the decrypted traffic (for example, create a decryption profile to perform certificate checks and enforce strong cipher suites and protocol versions).
    3. Click OK to save.
  7. Enable the firewall to forward decrypted SSL traffic for WildFire analysis.
    This option requires an active WildFire license and is a WildFire best practice.
  8. Commit the configuration.
  9. Choose your next step: