This article describes a reference architecture of a Check Point Security Gateway protecting assets in an Azure virtual network.
Table of Contents
Network Diagram
Traffic Flow
Management
Deployment through the Azure portal
Setting up the route tables of the Frontend and Backend gateway subnets
Setting up backend subnets and their route tables
Setting up routes to the Internal subnets
Configuration in SmartDashboard/SmartConsole
R80.x - R81.x
R77.30
Best Practices
Licensing
Pricing in Azure Marketplace
Supported Azure VMs
Known Limitations
Additional Resources
Related solutions
Click Here to Show the Entire Article
Network Diagram
In this architecture the Azure virtual network consists of 4 subnets:
A gateway frontend subnet - 10.0.1.0/24
A gateway backend subnet - 10.0.2.0/24
Two backend subnets:
A web tier subnet - 10.0.3.0/24
An application tier subnet - 10.0.4.0/24
This environment consists of 2 separate web applications. Each web application consists of:
A separate public IP address through which the web application can be accessed
A web server on a web tier subnet - Web1, Web2
An application server on an application tier subnet - App1, App2
The Security Gateway inspects:
Traffic arriving from the Internet to each of the web applications
Traffic between the web and application tiers
Traffic originating from the backend subnets to the Internet
In addition Security Gateway provides the following services:
Performs Network Address Translation (NAT) to hide outgoing connections behind the gateway's address.
Provides site to site VPN connectivity to on-premises networks.
Provides remote access VPN services to roaming users.
Public Addresses
We have allocated 3 public addresses:
A public address directly associated with the Security Gateway's external interface. This address can be used to manage the gateway as well as for site to site VPN and remote access VPN.
Two public IP addresses (WebApp1, WebApp2), one for each web application. These public addresses are associated with an Azure load balancer.
Traffic Flow
FROM
TO
Traffic arriving from the Internet
Traffic for WebApp1 is sent to the public IP address allocated for that web application.
The Azure load balancer is set up with an inbound NAT rule that forwards all HTTP (port 80) traffic arriving at that public address to the Check Point gateway's external private address (10.0.1.10) on port 8081
Traffic for WebApp2 is sent to the public IP address allocated for that web application.
The Azure load balancer is set up with an inbound NAT rule that forwards all HTTP (port 80) traffic arriving at that public address to the Check Point gateway's external private address (10.0.1.10) on port 8083
The Check Point Security Gateway uses NAT to:
Forward traffic arriving on TCP port 8081 to Web1 on port 80.
Forward traffic arriving on TCP port 8083 to Web2 on port 80.
Traffic between the web and application tiers
This traffic is routed through the Check Point gateway through the use of User Defined Routes (UDR). For more information on UDR, see the User Defined Routes and IP Forwarding article.
Traffic from the backend subnets to the Internet
This traffic is routed through the Check Point gateway through the use of User Defined Routes (UDR). The Gateway uses NAT to hide this type of traffic behind its external private address (10.0.1.10). As the traffic leaves the virtual network, Azure replaces this private address with the gateway's public address.
Site-to-site VPN
Encrypted IPsec traffic is sent to the gateway's public IP address. The gateway decrypts the traffic and sends it into the virtual network. Outgoing traffic that needs to be encrypted is routed to the Check Point gateway through the use of User Defined Routes (UDR). The gateway encrypts this traffic and sends it over a site to site VPN tunnel to a Check Point gateway on the perimeter of the on-premises network.
Remote access traffic
Remote access users connect to the Security Gateway using its public IP address. The gateway decrypts the traffic and sends it into the virtual network. Returning packets are routed back to the gateway through the use of User Defined Routes (UDR).
Management
The Security Gateway can be managed in several ways including:
A standalone configuration in which the gateway acts as its own management
Centrally managed where the management server is located on-premises outside the virtual network
Centrally managed where the management server is located in the same virtual network
This template can create a new virtual network or allow you to deploy into an existing virtual network
The template does not create the Web and App subnets - you will need to add these subnets yourself.
The template does not deploy any web or application VMs
VMs launched in the backend subnets might require Internet access in order to finalize their provisioning. You should launch these VMs only after you have applied NAT hide rules on the gateway to support this type of connectivity.
After you deploy the template, the gateway will automatically execute the Check Point First Time Configuration Wizard based on the parameters provided. Once the First Time Configuration Wizard completes, the gateway is expected to reboot
By default, every Check Point Security Gateway and Security Management Server's WebUI is accessible from the internet by browsing to http://<virtual-machine-public-IP>. Restricting access to the WebUI is possible by configuring a Network Security Group, or by configuring the Check Point Gateway and Management Server settings.
Setting up the route tables of the Frontend and Backend gateway subnets
In this section we will ensure that the route tables associated with the gateway frontend and backend subnets are set up correctly.
You need to follow this section only if you have deployed the gateway into an existing virtual network. If you have opted to let the template create a new virtual network you should skip this step.
The route table associated with the frontend subnet should consist of the following routes:
Note: If the virtual network is comprised of several non-contiguous address prefixes, repeat the above for each prefix.
If you have selected sshPublicKey as the authentication method and would like to use the Gaia WebUI, connect to the gateway using SSH and run the following commands:
clish
set user admin password
[enter the password x2]
save config
exit
Using the WebUI or SSH, review the configuration of all network interfaces.
Connect to the Security Management server with SmartConsole. In Stand-Alone configuration, use the following credentials: User: admin Password: the adminPassword provided to the template
Create an network object representing the VNET:
Create a network group object containing the VNET network:
Create a network object representing the frontend subnet:
Create a network group object containing the Frontend subnet:
Create a “Group with Exclusions…” object to represent all VNET subnets with the exception of the Frontend subnet:
Name the object: VNET-internal Use the VNET-group and Frontend-group objects you created above, thus:
Open the gateway object, click on the “Network Management” tab. Click on eth0. The topology for the first interface (eth0) should be set to External:
Click on eth1 Select the "This Network (Internal)" option Select Specific and choose the "VNET-internal" object:
Create a network object representing the Web tier:
Add Automatic Address Translation (hide)
Create a network object representing the App tier:
Add Automatic Address Translation (hide):
Create a service object for WebApp1 on TCP: Protocol Type HTTP , port 8081:
Create a service object for WebApp2 on TCP: Protocol HTTP, port 8083:
Create a host object representing Web1:
Create a host object representing Web2:
Create the following NAT rules:
Note: If the gateway object is configured with a public IP address, create a "host" network object with the gateway's private IP of the frontend subnet and use it in rules 1 and 2 instead of "Azure-gw".
Connect to the Security Management server with SmartDashboard. In Stand-Alone configuration, use the following credentials: User: admin Password: the adminPassword provided to the template
Create an object representing the VNET:
Create a simple group object containing the VNET network:
Create an object representing the frontend subnet:
Create a simple group object containing the Frontend subnet:
Create a group with exclusion object to represent all VNET subnets with the exception of the Frontend subnet:
Name the object: VNET-internal Use the VNET-group and Frontend-group objects you created above, thus:
Locate and open the gateway object, click on the Topology tab. Click on eth0. The topology for the first interface (eth0) should be set to External:
Click on eth1 Select Internal (leads to the local network) Select Specific and choose the VNET-internal object:
Create an object representing the Web tier:
Add Automatic Address Translation (hide)
Create an object representing the App tier:
Add Automatic Address Translation (hide):
Create a service object for WebApp1 on TCP port 8081:
Click Advanced and select Protocol Type HTTP:
Create a service object for WebApp2 on TCP port 8083:
Click Advanced and select Protocol Type HTTP:
Create an object representing Web1:
Create an object representing Web2:
Create the following NAT rules:
Notes:
If the gateway object is configured with a public IP address, create a “host” network object with the gateway’s private IP of the frontend subnet and use it in rules 1 and 2 instead of “Azure-gw”.
Rule 1: Forwards all traffic arriving on the gateway on TCP port 8081 to Web1
Rule 2: Forwards all traffic arriving on the gateway on TCP port 8083 to Web2
Rule 3: Avoids NAT within the Virtual Network
Rules 4-5 (Automatic): Hide outgoing traffic originating from the App-Tier
Rules 6-7 (Automatic): Hide outgoing traffic originating from the Web-Tier
Set up any additional firewall rules, VPN and remote access configuration. Refer to the Best Practices section.
Install the security policy
Once the First Time Configuration Wizard completes, the gateway is expected to reboot.
Best Practices: Site-to-Site VPN between Azure Check Point Gateway and Check Point (on-premises) Gateway
Whenever setting up a Site-to-Site VPN between a Check Point (on-premises) Security Gateway and a Check Point Gateway in an Azure cloud, check the following:
Assuming both gateways are managed by the same (on-premises) Security Management Server:
There should be no need to set up NAT-T in order to make Site-to-Site VPN work in this deployment.
The gateway in Azure cloud is behind Static NAT.
Procedure
Configure the gateway object representing the Check Point Gateway in Azure cloud, as follows:
In IPv4 Address: Enter the Public IP address of the gateway (this is the Azure public IP that the Check Point Gateway is behind). If the device is a standalone, then use the private IP otherwise internal communication will break.
In IPsec VPN, Link Selection: Select "Always use this IP address" and then "Main address".
The above two settings will ensure that the Security Management and (on-premises) Security Gateways send traffic to the gateway in Azure cloud over its public IP address.
In the Link Selection settings of the same object, under Source IP address settings: Select 'Manual > Selected address from topology table:' and then select the private IP address of the external interface of the Check Point Gateway on the Azure side.
These settings will ensure that the Gateway in the Azure cloud sends encrypted traffic with the source address set to its private IP address. This IP address is then translated by Azure to the public IP address before it reaches the (on-premises) Security Gateway.
More information about the Azure side:
A public IP address in Azure can be either dynamic or static. For the deployment being discussed here, only Static is supported.
More importantly, a public IP address in Azure can be associated with one of two objects:
A load balancer
A network interface
Therefore, the gateway's public IP address should be:
Static
Associated directly with the network interface of the gateway only and not with load balancer.
Licensing
The Gateway can be licensed in two ways:
Bring-Your-Own-License (BYOL)
Pay-As-You-Go (PAYG) - The CloudGuard Gateway is pre-licensed. PAYG is only available in Standard Azure and is not available in Azure US Government.