HTTPS Inspection

h

HTTPS Internet traffic uses the TLS (Transport Layer Security) protocol and is encrypted to give data privacy and integrity. However, HTTPS traffic has a possible security risk and can hide illegal user activity and malicious traffic. The enabled Software Blades on the Security GatewayClosed Dedicated Check Point server that runs Check Point software to inspect traffic and enforce Security Policies for connected network resources. cannot inspect HTTPS traffic because it is encrypted. HTTPS InspectionClosed Feature on a Security Gateway that inspects traffic encrypted by the Secure Sockets Layer (SSL) protocol for malware or suspicious patterns. Synonym: SSL Inspection. Acronyms: HTTPSI, HTTPSi. lets the Security Gateway intercept TLS connections and decrypt their traffic for inspection by the enabled Software Blades.

There are two modes of HTTPS Inspection:

  • Outbound HTTPS Inspection - To protect against malicious traffic that is sent from an internal client to an external site or server.

  • Inbound HTTPS Inspection - To protect internal servers from malicious requests that arrive from the Internet or an external network.

The Security Gateway uses certificates and becomes an intermediary between the client computer and the secure web site. All data is kept private in HTTPS Inspection logs. Only administrators with HTTPS Inspection permissions can see all the fields in such logs.

For information on what's new in HTTPS Inspection starting from R80.20, see sk163594.

Intercepting HTTPS Connections

Outbound HTTPS Inspection

Outbound connections are HTTPS connections that arrive from an internal client to an external server.

Inbound HTTPS Inspection

Inbound connections are HTTPS connections that arrive from an external client and connect to a server in the DMZ or the internal network.

Getting Started with HTTPS Inspection

This section shows an example of how to configure a Security Gateway to intercept outbound and inbound HTTPS traffic.

Step

Instructions

1

Enable the relevant Software Blades on the Security Gateway.

You must enable HTTPS Inspection on the Security Gateway for the enabled Software Blades to inspect the decrypted HTTPS traffic.

2

Configure the applicable HTTPS Inspection Policy - Inbound and Outbound.

See HTTPS Inspection Policy

3

Configure the Security Gateway to use inbound certificates.

See Working with Inbound CA Certificates.

4

Configure HTTPS Inspection on the Security Gateway:

  1. Configure the Security Gateway to use outbound certificates and deploy the certificates in your organization.

    See Working with Outbound CA Certificates

  2. Enable HTTPS Inspection on the Security Gateway.

  3. Configure additional settings.

See Configuring HTTPS Inspection on the Security Gateway.

5

Install the Access Control Policy.

HTTPS Inspection Policy

The HTTPS Inspection rules define how the Security Gateways intercepts the HTTPS connections.

Starting from R82, the HTTPS Inspection policy is divided into "Inbound Policy" and "Outbound Policy".

The HTTPS Inspection rules can use the URL FilteringClosed Check Point Software Blade on a Security Gateway that allows granular control over which web sites can be accessed by a given group of users, computers or networks. Acronym: URLF. categories to identify traffic for different websites and applications. For example, to protect the privacy of your users, you can use a rule to ignore HTTPS traffic to banks and financial institutions.

By default, a Security Gateway enforces HTTPS Inspection for all enabled supported Software Blades.

These are the Software Blades that support HTTPS Inspection:

To enforce HTTPS Inspection for a specific Software Blade, you must:

  1. Enable the required Software BladeClosed Specific security solution (module): (1) On a Security Gateway, each Software Blade inspects specific characteristics of the traffic (2) On a Management Server, each Software Blade enables different management capabilities. in the Security Gateway object.

  2. Create an applicable rule in the HTTPS Inspection policy and in the Blade column, select the required Software Blade.

You can create different HTTPS Inspection layers in different policy packages. When you create a new policy package, you can use the pre-defined HTTPS Inspection layer, or customize the HTTPS Inspection layer to fit your security needs.

You can share an HTTPS Inspection layer across multiple policy packages.

Configuring HTTPS Inspection Policy

Establish distinct HTTPS Inspection rules for outbound and inbound traffic within the corresponding outbound and inbound policies.

The inbound rules use a different certificate for each internal server.

You can also create bypass rules for traffic that is sensitive and should not be intercepted. Make sure that the bypass rules are at the top of the Outbound Policy.

Important - Every change in the Outbound Policy or Inbound Policy requires the installation of the Access Control policy.

HTTPS Inspection Policy Enforcement

HTTPS Inspection Rule Base enforcement consists of two steps:

  1. Matching the connection against the Rule Base.

  2. Calculating the action to be performed.

The action is calculated according to the matched rule, the Software Blades defined on the matched rule and the rule exceptions. In certain scenarios, the action in the matched rule is Inspect, but as a result of Step 2, the action is changed to Bypass. In such case, the HTTPS Inspection log is sent with data from the matched rule, but the action in the logged action is Bypass.

Working with Inbound CA Certificates

By design, the Security Gateway / Security Cluster is intentionally configured not to perform HTTPS Inspection on traffic directed towards it. To change this behavior, follow sk114574.

Assigning a Server Certificate for Inbound HTTPS Inspection

When a client from outside the organization initiates an HTTPS connection to an internal web server (for example, a server located in the organization's DMZ behind the Security Gateway, the Security Gateway can intercept the traffic.

To perform HTTPS Inspection in this scenario, the Security Gateway must impersonate the internal web server.

This requires the Security Gateway to present the TLS certificate of the internal web server and have access to the server's certificate private key.

Therefore, the administrator must export the certificate and the private key from the internal web server in the *.p12 format (which includes both) and then import this P12 file to SmartConsoleClosed Check Point GUI application used to manage a Check Point environment - configure Security Policies, configure devices, monitor products and events, install updates, and so on..

After importing the server's certificate, the administrator can add the corresponding certificate object to the HTTPS Inspection Inbound Policy.

The Successful Import window opens the first time you import a server certificate. It shows you where to add the object in the HTTPS Inspection policy.

Click Don't show this again if you do not want to see the window each time you import a server certificate and Close.

Configuring HTTPS Inspection on the Security Gateway

You must configure HTTPS Inspection on each Security Gateway separately.

To configure HTTPS Inspection on a Security Gateway:

Step

Instructions

1

From the SmartConsole Gateways & Servers view, double-click the Security Gateway object.

2

Click HTTPS Inspection.

3

Optional: If the outbound CA certificate is already created or imported for another Security Gateway, you can use the global certificate or override it by selecting a specific certificate for each Security Gateway.
To override the global certificate, navigate to HTTPS Inspection > Step 1 in the Security Gateway object, select Override global setting and select the required certificate from the drop-down list.

4

Import or Create an outbound CA certificate for HTTPS Inspection.

See Working with Outbound CA Certificates.

5

Export and Deploy the outbound certificate in your organization.

See Exporting and Deploying the Generated CA Certificate.

6

In Step 3, select Enable HTTPS Inspection.

7

Configure the HTTPS Inspection Deployment Mode:

  • Full inspection - HTTPS connections are intercepted based on the HTTPS Inspection policy.

  • Learning mode - You can configure partial deployment of HTTPS Inspection to estimate its effect on connectivity and performance issues. With Learning mode, the Security Gateway intercepts a small percentage of the traffic to identify connectivity issues and estimate the expected resource consumption for the configured HTTPS Inspection policy.

    To see the effect of the learning mode or the statuses of all Security Gateways, go to the Security Policies view > HTTPS Inspection > Outbound Policy or Inbound Policy > in the HTTPS Inspection Tools section, click Deployment.

    For more information, see HTTPS Inspection Deployment View.

8

In Additional SettingsEdit, configure the client side and server side fail mode.

In case of a client or a server connection error, you can select one of these modes:

  • Fail Open - The Security Gateway does not perform HTTPS Inspection on connections that failed on the server side or client side (HTTPS Inspection is bypassed).

  • Fail Close - The Security Gateway blocks connections that failed as a result of internal system error or server connection error (server side error) or as a result of client connectivity issues.

You can handle server and client errors based on the global settings, or override the global settings for the specific Security Gateway. To configure Fail-mode configuration globally for all Security Gateways, see Fail Mode.

To configure fail mode for a specific Security Gateway:

  1. In Additional Settings, click Edit.

    The HTTPS Inspection Settings window opens.

  2. Configure Server Side Fail Mode - In case of an internal system error or a server connection error, select one of these options:
    • Use the global setting - The default global setting is Fail Open.

    • Override global settings - Select Fail-Open or Fail-Close.

  3. Client-Side Fail Mode - In case of a client connectivity issue is detected, select one of these two options:
    • Use the global setting - The default global setting is Fail Open.

    • Override global settings - Select Fail-Open or Fail-Close.

    Notes:

    • In the Fail-Open mode, the Security Gateway blocks the first connection, but does not intercept subsequent connections with the same source and destination hostname, it bypasses them.

    • In the Security Gateway versions R81.20 and lower, in case of a client-side error, the connection is always blocked (Fail-Close). You cannot change the behavior in these versions.

9

Configure Bypass Under Load - This feature allows connectivity when the Security Gateway experiences heavy load (arising from any reason, not necessarily HTTPS Inspection). The Security Gateway reacts quickly to CPU spikes to avoid connection interruptions and temporarily bypasses HTTPS Inspection until the load stabilizes. During the bypass, the Security Gateway does not intercept the HTTPS traffic. After the Security Gateway stabilizes, it attempts to resume HTTPS Inspection to minimize the bypass duration. If persistent high load is detected after inspection resumes, the Security Gateway gradually increases the bypass duration to maintain stability.

This feature is disabled by default.

Important - To configure log type for Bypass Under Load, go to Security Policies > HTTPS InspectionInbound Policy or Outbound Policy > HTTPS Inspection ToolsAdvanced Settings > OtherBypass Under Load Logging.

Note - You configure Bypass Under Load for each Security Gateway separately. There are no global settings for this feature.

10

Click OK and Install the Access Control Policy.

HTTPS Inspection Deployment View

This view presents the statuses and recommendations for Security Gateways with HTTPS Inspection enabled in Learning Mode.

It also shows the inspection status of each Security Gateway, as follows:

  • Full inspection - Displayed when Full Inspection is configured on the Security Gateway. The Security Gateway intercepts all HTTPS connections based on the configured HTTPS Inspection policy.

  • Learning mode - Displayed when Learning mode is configured on the Security Gateway. Here you can see the effect of the learning mode deployment and a recommendation regarding the deployment of HTTPS Inspection.

  • Categorized HTTPS Inspection only - Displayed when HTTPS Inspection is disabled on the Security Gateway and Categorized HTTPS websites is globally configured (Manage and Settings view > Blades > Application Control & URL Filtering > Advanced Settings > URL Filtering).

  • Disabled - HTTPS Inspection is not enabled on the Security Gateway and the Categorized HTTPS websites option is disabled.

Working with Outbound CA Certificates

The outbound CA certificates are used by the Security Gateways managed on the Security Management ServerClosed Dedicated Check Point server that runs Check Point software to manage the objects and policies in a Check Point environment within a single management Domain. Synonym: Single-Domain Security Management Server.. The first time you enable HTTPS Inspection on one of the Security Gateways, you must create an outbound CA certificate for HTTPS Inspection or import a CA certificate already deployed in your organization. Starting from R82, you can create or import additional outbound certificates.

Creating an Outbound CA Certificate

The outbound CA certificate is saved with a CER file extension and uses a password to encrypt the private key of the file. The Security Gateways use this password to sign certificates for the HTTPS Inspection. You must keep this password secure because it is also used by other Security Management Servers that import the CA certificate to open the file.

After you create an outbound CA certificate, you must export it so it can be distributed to internal clients. If you do not deploy the generated outbound CA certificate on internal clients, users receive TLS error messages in their browsers when connecting to HTTPS sites. You can configure a troubleshooting option that logs such connections.

After you create the outbound CA certificate, use it in rules that intercept outbound HTTPS traffic in the HTTPS Inspection policy.

Importing an Outbound CA Certificate

You can import a CA certificate that is already deployed in your organization or import a CA certificate created on one Security Management ServerClosed Check Point Single-Domain Security Management Server or a Multi-Domain Security Management Server. to another Security Management Server.

Best Practice - Use private CA Certificates.

For each Security Management Server that has Security Gateways with HTTPS Inspection enabled, you must:

  1. Import the CA certificate.

  2. Enter the password the Security Management Server uses to open the CA certificate file and sign the certificates for users. Use this password only when you import the certificate to a new Security Management Server.

Exporting and Deploying the Generated CA Certificate

To prevent users from getting warnings about the generated CA certificates that HTTPS Inspection uses, install the generated CA certificate used by HTTPS Inspection as a trusted CA. You can distribute the CA with different distribution mechanisms such as Windows GPO. This adds the generated CA to the trusted root certificates repository on client computers.

When users run standard updates, the generated CA is in the CA list and they do not receive certificate warnings in their browsers.

Deploying Certificates using Group Policy

You can use this procedure to deploy a certificate to multiple client computers with Active Directory Domain Services and a Group Policy Object (GPO). A GPO can contain multiple configuration options, and is applied to all computers in the scope of the GPO.

Important - Membership in the local Administrators group, or equivalent, is necessary to complete this procedure.

Exporting a Certificate from one Security Management Server to Another

If you use more than one Security Management Server in your organization, you must first export the CA certificate with the "export_https_cert" CLI command from the Security Management Server on which it was created before you can import it to other Security Management Servers.

Working with Trusted CAs for Outbound HTTPS Inspection

When a client initiates a TLS connection to a server, the Security Gateway intercepts the TLS connection. The Security Gateway intercepts the traffic and creates a new TLS connection from the Security Gateway to the designated server.

When the Security Gateway establishes a TLS connection to the designated server, it must validate the server certificate.

HTTPS Inspection comes with a preconfigured list of trusted CAs. This list is updated by Check Point when necessary and is downloaded automatically from the Check Point Download Center to the Management Server. After you get the Trusted CA update on the Security Management Server, you must install the policy on the Security Gateways. You can select to disable the automatic update option and manually update the Trusted CA list. See sk64521.

If the Security Gateway receives a non-trusted server certificate, by default the user gets a self-signed certificate and not the generated certificate. A page notifies the user that there is a problem with the server security certificate, but lets the user continue to the server.

You can change the default setting to block untrusted server certificates. Go to Security PoliciesHTTPS Inspection > HTTPS Inspection Tools > Advanced Settings > Server Validations > select Untrusted server certificates.

To manage the list of Trusted Certificates, in SmartConsole, go to the Security Policies view > HTTPS Inspection > in the HTTPS Inspection Tools section, click Trusted Certificates.

You can do these actions, in the Trusted Certificates window:

  • In the Trusted CAs Package tab:

    • You can check if the trusted CAs package is up-to-date. You can see details about the downloaded package version, the last update timestamp, and the last check for these statuses. You can update the certificates in one of two ways:

      • Automatic update:

        Select Update Trusted CA package automatically. The Trusted CAs package is updated automatically once a day at 2:00 AM.

      • Manual update:

        Select Updated Trusted CAs Package manually, and click Update Now or Import Trusted CAs Package, to manually update the package.

    • In the Certificates section, you can view all certificates included in the package, export certificates, enable or disable certificates.

      To enable or disable certificates:

      1. Select the applicable certificates using the checkboxes.

        Note - You can select all certificates by clicking the top checkbox.

      2. From the top-menu, click Actions, and select Enable or Disable

  • In the Custom Trusted Certificates tab, you can import, export or delete a certificate.

Note - To apply changes in the Trusted CAs settings, install policy on the applicable Security Gateway.

HTTPS Inspection Global Settings

You can configure HTTPS Inspection global settings for all Security Gateways in Security PoliciesHTTPS Inspection > HTTPS Inspection Tools > Advanced Settings.

Fail Mode

To change the global settings for the fail mode

  1. Go to the Security Policies view> HTTPS Inspection > Inbound Policy or Outbound Policy > in the HTTPS Inspection Tools section, click Advanced Settings.

  2. Go to Fail Mode, and select the applicable settings:

    1. In Server Side Fail Mode, select one of these options:

    2. In Client Side Fail Mode, select one of these options:

      • Bypass all requests (Fail-Open)

      • Block all requests (Fail-Close)

      Notes:

      • In the Fail-Open mode, the Security Gateway blocks the first connection, but does not intercept subsequent connections with the same source and destination hostname, it bypasses them.

      • In the Security Gateway versions R81.20 and lower, in case of a client-side error, the connection is always blocked (Fail-Close). You cannot change the behavior in these versions.

Categorization Mode

Configure a mode for categorizing HTTPS sites:

  • Background - All requests are allowed until categorization is complete. When a request cannot be categorized with a cached response, an uncategorized response is received. Access to the site is allowed. In the background, the Check Point Online Web Service continues the categorization procedure. The response is then cached locally for future requests. This option reduces latency in the categorization procedure.

  • Hold - This is the default setting. When a request cannot be categorized with the cached responses, it remains blocked until the Check Point Online Web Service completes categorization.

Server Validations

When a Security Gateway receives an untrusted certificate from a website server, the settings in this section define when to drop the connection.

  • Untrusted server certificate:

    • When selected traffic from a site with an untrusted server certificate is immediately dropped. The user gets an error page that states that the browser cannot display the webpage.

    • When cleared, a self-signed certificate shows on the client machine when there is traffic from an untrusted server. The user is notified that there is a problem with the website's security certificate, but the user can continue to the website (default).

  • Revoked server certificate (validate CRL):

    • When selected, the Security Gateway validates the site certificate of each server. The Security Gateway validates the certificate using the Online Certificate Status Protocol (OCSP) standard. OCSP is faster and uses much less memory than Certificate Revocation List (CRL) Validation, which is used for certificate validation in releases lower than R80.10.

    • When cleared, the Security Gateway does not check for revocations of server site certificates.

    If OCSP is not supported for a server certificate, the Security Gateway uses CRL validation. If the CRL cannot be reached, the certificate is considered trusted. This is the default configuration. An HTTPS Inspection log is issued that indicates that the CRL could not be reached.

    You can change this behavior in Database Tool (GuiDBEdit Tool):

    To validate the CRL, the Security Gateway must have access to the Internet. For example, if a proxy server is used in the organizational environment, you must configure the Security Gateway to use this proxy server.

    To configure the proxy server for the Security Gateway:

    Optionally, you can use the default proxy server configured in SmartConsole Global Properties.

    1. In SmartConsole, go to the Gateways & Servers view, and double-click the Security Gateway that requires proxy configuration.

    2. Go to Network Management > Proxy.

    3. Select Use custom proxy settings for this network object and Use proxy server, and enter the proxy IP address.

    4. Click OK.

    5. Install the Access Control policy.

    Important - Make sure that there is a rule in the Rule Base that allows outgoing HTTP from the Security Gateway

  • Expired Server Certificate

    • When selected, the Security Gateway drops the connection if the server certificate expired.

    • When cleared, the Security Gateway creates a certificate with the expired date. The user can continue to the website (default).

  • Track validation errors

    Select whether to log the server validation (you can see the logs in the Logs & Events view > Logs in SmartConsole), or trigger other notifications.

Certificate Blocking

You can create a list of certificates that are blocked. Traffic from servers using these certificates is dropped. If a certificate in the list is also in the Trusted CAs list, the block certificate list overrides the Trusted CAs list.

  • New - Lets you add a certificate. Enter the certificate serial number (in hexadecimal format HH:HH) and a comment that describes the certificate.

  • Edit - Lets you change the details of the blocked certificate list.

  • Delete - Lets you delete a certificate from the blocked certificate list.

  • Search - Lets you search for a certificate in the blocked certificate list.

  • Track dropped traffic - Select whether to log the server validation (you can see the logs in the Logs & Events view > Logs in SmartConsole), or trigger other notifications.

Bypass Allow Lists

Check Point dynamically updates lists of well-known update services and certificate-pinned applications that can be bypassed for improved connectivity.
  • Well-known update services - Some well-known update services must be bypassed to function correctly. For the list of updated services, see sk98655.

  • Certificate-pinned Applications - Some mobile and desktop applications trust only specific server certificates. Such applications may terminate the connection due to a trust issue when presented with a certificate signed by HTTPS Inspection’s outbound CA certificate. When a connection from a client which is classified as a certificate-pinned application is detected, the selected action is taken.

Available actions:

Action

Action Description

Bypass

HTTPS Inspection is bypassed to ensure uninterrupted connectivity, and a ‘bypass’ log is sent.

Detect

HTTPS Inspection is not bypassed, and a "DetectClosed UserCheck rule action that allows traffic and files to enter the internal network and logs them." log is sent. The application may show errors or malfunction.

None

HTTPS Inspection is not bypassed, and a dedicated log is not sent. The application may show errors or malfunction.

Session Logs

Starting in R82, the Security Gateway can send session logs, which provide a visual overview of the TLS traffic passing through it.

To allow the Security Gateway to send these logs:

  1. Select Send session logs.

  2. In the HTTPS Inspection Rule Base, set the Track column of the applicable rules to Log.

HTTPS Inspection session logs group individual connections into session logs based on several common characteristics:

  • Source IP

  • Destination IP

  • SNI (Server Name Indication)

  • HTTPS Inspection Action: Whether the traffic is bypassed or intercepted.

  • Bypass Reason: Applicable only if the traffic is bypassed.

  • Time Window: Connections that occur within the same 3-hour period.

By aggregating connections with these characteristics, session logs are used to create statistics views, including Bypass and Inspect decisions. For more details, see HTTPS Inspection Statistics View.

Other

Intermediate CA

Use the "Certificate Authority Information Access" extension to retrieve certificates that are missing from the certificate action.

Automatically retrieve intermediate CA certificates:

  • When selected, intermediate CA certificates issued by trusted root CA certificates that are not part of the certificate chain are automatically retrieved using the information on the certificate (default).

  • When cleared, a web server certificate signed by an intermediate CA and not sent as part of the certificate chain, is considered untrusted.

Bypass Under Load Logging

To configure the log type for Bypass Under Load:

  1. Go to the Security Policies view > HTTPS InspectionInbound Policy or Outbound Policy

  2. In the HTTPS Inspection Tools section, click Advanced Settings.

  3. Click Other.

  4. In the Bypass Under Load Logging section, in the Track field, select the applicable option.

  5. Click OK.

  6. Install the Access Control policy.

HTTPS Inspection Statistics View

Starting in R82, you can view HTTPS Inspection statistics in the Logs & Events view and in SmartView. The HTTPS Inspection statistics view provides a visual overview of HTTPS traffic that passes through the Security Gateway, including bypass and inspect statistics. The Statistics view is updated every time the Security Gateway sends a session log. (see Session Logs).

Configuration

Viewing HTTPS Inspection Statistics

You can view the HTTPS Inspection statistics in these two locations:

To see log details:

  1. In the HTTPS Inspection Statistics view, double-click the applicable chart or graph to see all the related session logs.

  2. Double-click the applicable session log to see all the related connection logs (appear in the bottom panel).

  3. Double-click the applicable connection log to see the complete log details.

SNI support for Site Categorization

Starting from R80.30, a new functionality allows the categorization of HTTPS sites before the HTTPS Inspection begins, and prevents connectivity failure if the inspection does not succeed.

SNI is an extension to the TLS protocol, which indicates the hostname at the start of the TLS handshaking process.

The categorization is performed by examining the SNI field in the client hello message at the beginning of the TLS handshaking process. To make sure that you reached the right site, the SNI is verified against the Subject Alternative Name of the host, which appears in the certificate.

After the identity of the host is known and verified, the site is categorized, and it is determined whether the connection should be intercepted or not.

SNI support is enabled by default.

HTTPS Inspection on Non-Standard Ports

Applications that use HTTP normally send the HTTP traffic to the TCP port 80. Some applications send HTTP traffic on other ports also. You can configure some Software Blades to only inspect HTTP traffic on port 80, or to also inspect HTTP traffic on non-standard ports.

The security policies inspect all HTTP traffic, even if it is sent using non-standard ports. This option is enabled by default. You can configure this option in the Manage & Settings view > Blades > Threat Prevention > Advanced Settings > General > HTTPS Inspection. If you make this change, you must install the Access Control policy.

Inspection of TLS v1.3 Traffic

Starting from R81, the Check Point Security Gateway can intercept traffic that relies on Transport Layer Security (TLS) v1.3 (see RFC 8446).

From R81.10, this feature is enabled by default for Security Gateways (and Cluster Members) that use the User Space Firewall (USFW)).

For the list of supported platforms, see sk167052.

Notes:

  • To disable the inspection of the TLS v1.3 traffic for testing purposes, set the value of the global parameter "fwtls_enable_tlsio" to 0 with this command:

    fw ctl set -f int fwtls_enable_tlsio 0

  • To enable the inspection of the TLS v1.3 traffic again, set the value of the global parameter "fwtls_enable_tlsio" to 1 with this command:

    fw ctl set -f int fwtls_enable_tlsio 1

  • HTTPS Inspection does not support TLS v1.3 when the Security Gateway / Cluster is configured as an HTTP/HTTPS Proxy (sk110013).

Inspection of HTTP/3 protocol (RFC 9114)

Starting from R82, Check Point Security Gateways can inspect the decrypted inbound and outbound HTTP/3 traffic based on the configuration of the enabled Software Blades.

HTTP/3 is a new version of the HTTP protocol designed to improve speed, reliability, and security, by using the QUIC transport protocol, which operates over UDP instead of TCP. The HTTP/3 protocol (RFC 9114) optimizes transport of HTTP semantics over QUIC.

HTTP/3 retains all core features of HTTP/2, while enhancing efficiency through reduced latency and improved performance.

HTTP/3 over TLS enables HTTP/3 connections over a secure TLS connection.

Best Practice - For Security Gateways running version R81.20 and earlier, block the QUIC protocol as described in sk111754.

Using HTTPS/3 the in a Rule Base

For transparent QUIC inspection, the QUIC service was added default HTTPS services group. You can use it in the Access Control policy in the Services & Applications column, and in the HTTPS Inspection policy, in the Services column.

For example:

No.

Name

Source

Destination

Services

Category/
Custom Application

Action

Track

Blade

Install On

1

QUIC - Bypass the "games" category

*Any

Internet

quic

Games

Bypass

Log

All

Policy HTTPS Targets

2

QUIC - Inspect

*Any

Internet

quic

Any

Inspect

Log

All

Policy HTTPS Targets

Monitoring the HTTP/3 inspection

You can view the HTTP/3 inspection statistics on the Security Gateway in CPView:

  1. Connect to the command line on the Security Gateway, and run:

    cpview

  2. At the top, click Advanced > HTTP-Parser > QUIC.

Example output:

|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
| CPVIEW.Advanced.HTTP-Parser.QUIC                                                                                                       13Jul2024 16:48:27 |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
| Overview SysInfo Network CPU I/O Software-blades Hardware-Health Management Advanced                                                                      |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
| Logging CPU-Profiler Memory Network SDWAN SecureXL ClusterXL CoreXL PrioQ Streaming NAT MUX Routed RAD Conn-Tracker UP HTTP-Parser SSH-Parser CPAQ       >>
|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
| General HTTP3-Information QUIC                                                                                                                            |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
| Connections overview                                                                                                                                      |
|                                                                                                                                                           |
| Processed Connections:                                          0                                                                                         |
| HTTPS Inspection - Inspect:                                     0                                                                                         |
| Website Categorization:                                         0                                                                                         |
| HTTPS Inspection - Bypass on first packet:                      0                                                                                         |
| HTTPS Inspection - Bypass on category/app:                      0                                                                                         |
| Downgraded:                                                     0                                                                                         |
| Closed with error:                                              0                                                                                         |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Downgrade reasons                                                                                                                                         |
|                                                                                                                                                           |
| QUIC inspection disabled               0                                                                                                                  |
| Strict Hold is active                  0                                                                                                                  |
| Exception                              0                                                                                                                  |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| QUIC Errors                                                                                                                                               |
|                                                                                                                                                           |
| Error type                                                      # of errors             # in the last 10 min window                                       |
| Unknown error                                                   0                       0                                                                 |
| Transport internal error                                        0                       0                                                                 |
| Connection refused                                              0                       0                                                                 |
| Flow control violation on stream                                0                       0                                                                 |
| Frame exceeding stream limits                                   0                       0                                                                 |
| Received frame mismatch with stream state                       0                       0                                                                 |
| New final size mismatch with previous final size                0                       0                                                                 |
| Could not decode frame                                          0                       0                                                                 |
| Bad transport parameters                                        0                       0                                                                 |
| Received connection ID going over the limit                     0                       0                                                                 |
| Protocol violation                                              0                       0                                                                 |
| Invalid token                                                   0                       0                                                                 |
| Connection timeout due to lack of progress                      0                       0                                                                 |
| Crypto buffer exceeded crypto level in stream                   0                       0                                                                 |
| Key update error                                                0                       0                                                                 |
| AEAD limit reached                                              0                       0                                                                 |
| No viable path                                                  0                       0                                                                 |
| Cannot create control stream: peer-imposed limit                0                       0                                                                 |
| HTTP internal error                                             0                       0                                                                 |
| Cannot create stream                                            0                       0                                                                 |
| Critical stream closed                                          0                       0                                                                 |
| Unexpected frame received on stream                             0                       0                                                                 |
| Malfored frame: could not parse frame                           0                       0                                                                 |
| Excessive load                                                  0                       0                                                                 |
| Invalid stream ID                                               0                       0                                                                 |
| Unexpected HTTP/2 setting                                       0                       0                                                                 |
| First control frame is not SETTINGS                             0                       0                                                                 |
| Got stream while going away                                     0                       0                                                                 |
| Refuse push stream                                              0                       0                                                                 |
| Request is incomplete                                           0                       0                                                                 |
| Parsing error: frame contains invalid headers                   0                       0                                                                 |
| Content error                                                   0                       0                                                                 |
| Version fallback                                                0                       0                                                                 |
| Stream QPACK decompression error                                0                       0                                                                 |
| Error interpreting QPACK encoder stream                         0                       0                                                                 |
| Error interpreting QPACK decoder stream                         0                       0                                                                 |
| Invalid certificate                                             0                       0                                                                 |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- |

Limitations

  • The Security Gateways supports HTTP/3 inspection only when it runs in the User Space Firewall (USFW) mode, which is the default in versions R82 and higher.

    The Security Gateway downgrades HTTP/3 traffic to an earlier HTTP version when it operates in the kernel mode firewall.

    For information about the User Space Firewall (USFW) mode, see the Release Notes for your version and sk167052.

  • The Security Gateway drops HTTP/3 traffic when the Threat Prevention "Deep Inspection" mode is enabled.

  • Chromium-based web browsers allow HTTP/3 traffic only if the HTTPS Inspection certificate is signed by a trusted CA from the Chromium trust list.

    Chromium-based web browsers do not allow adding certificates for HTTP/3 traffic to the browser's trusted store. See sk111754.

  • Inspection of QUIC traffic over a proxy is not supported.

  • All other protocols, except HTTP/3, will be downgraded to an earlier HTTP version.