Table of Contents
-
1. Overview
-
2. Azure private link introduction
-
3. Deploy and configure a PaaS service in Azure
-
4. Configuring CloudGuard Network products to protect PaaS services
-
5. Limitations
Click Here to Show Entire Article
(1) Overview
Azure provides PaaS instances such as SQL servers and storage.
Unlike IaaS instances, PaaS instances do not have an IP and are accessible through FQDN.
CloudGuard Network offers protection support for environments with PaaS instances.
(3) Deploy and configure a PaaS service in Azure
(3.1) Deploy a PaaS instance
Show / Hide this section
The example below focuses on a SQL server. However, this solution can work with any PaaS instance.
If you have already deployed a PaaS instance, jump to step 3.2. - Private Endpoint Creation.
- SQL Server:

-
Click on Create:

-
Configure as desired:

-
Decline an access to SQL server:

-
Review + Create
This is the initial architecture after the SQL server creation:

As a PaaS service is deployed, it deploys behind Azure Gateways in Azure.
That means it is external to the VNET and can be accessed from everywhere.
To continue, create a private endpoint:
(3.2) Private Endpoint Creation
Show / Hide this section
-
Go to the SQL new resource:

-
Select on the left menu Private endpoint connections

-
Create a new Private-Endpoint:

-
Select the subscription and region the SQL is placed:

-
Select the type of resource you are making a private-endpoint for

-
Place it in the subnet you would like.
Select Integrate with private DNS zone

-
No tags are necessary
-
Review + Create
-
When the deployment is completed, enter the private endpoint's resource and make sure the status is Approved:

-
Enter the PaaS resource
-
Make sure the Private Endpoint appears below Private endpoint connections :

-
Deny public network access below Firewalls and virtual networks :

This disables public access to the public FQDN.
-
Click Save
(4.1) CloudGuard Controller configuration
Show / Hide this section
The CloudGuard Controller supports private-endpoint objects and make the configuration easier.
The private endpoint is supported in the Controller starting the following takes:
- Azure R81.20 and above – upgrading is unnecessary.
- Azure R81.10 – minimum requirements: Jumbo hotfix Take 14
- Azure R81 – minimum requirements: Jumbo hotfix Take 51
- Azure R80.40 – minimum requirements: Jumbo hotfix Take 140
(4.2) East-West Traffic
Show / Hide this section

Background
Azure default routes allow direct traffic between subnets.
When a private endpoint is created, Azure creates a system route to its private IP. Therefore, it is necessary to overwrite this route to inspect the traffic and audit logs.
Configuration
-
Sanity Check:
At this time, you can see that all VMs in the VNET are familiar with the new private endpoint private IP.
If you pick a VM and translate your PaaS instance FQDN to an IP address, you should see a private IP address. Try to use "nslookup" with the PaaS instance FQDN.

-
Add UDR:
Imply a UDR on the Client subnet from it through the Gateway
-
Look for Route Tables:

-
Click Create

-
Create it under the resource group that consist the client's subnet:

-
Review + Create
-
Go to the Route Table new resource:

-
Select Routes

-
Add a new route:

-
Configure a new route rule
Destination: PaaS instance's Private Endpoint (Use full subnet /32).
Next Hop Type: Virtual appliance Next Hop IP address: The NVA - Check Point's Gateway public IP.
For example, for this architecture:

Configure this:

-
Click OK.
-
Go to the client's VNET resource and click on Subnets:

-
Add the Route Table on the client's subnet, and assign it the routing table created above:


-
Add static-routes on the Gateway:
Make sure that the Gateway contains static routes for the Client's subnet and for the subnet on which the private-endpoint resides.
Use the command "route".
If static routes are not present, add them:
set static-route <YOUR-CLIENT-SUBNET-NETWORK-IP> nexthop gateway address <YOUR-GATWAY'S-DG> priority 1 on
set static-route <YOUR-HOST-SUBNET-NETWORK-IP> nexthop gateway address <YOUR-GATWAY'S-DG> priority 1 on
In our example, we see these two routes in the Gateway:

-
Add a Source NAT rule on your Gateway:
Original Source: <HOST-OBJECT-REPRESENTING-THE-CLIENT-SUBNET-NETWORK-IP>
Original Destination: <The Private endpoint imported by CloudGuard controller>
Translated Source: < HOST-OBJECT-REPRESENTING-THE-GATEWAY-PRIVATE-IP-ETH1>

(4.3) Inbound Traffic
Show / Hide this section

Background
This solution involves Remote Access VPN.
To configure Remote Access VPN to a VMSS:
Configure CME as explained in the CloudGuard Network for Azure VMSS R80.10 and Higher Administration Guide > Configuration Steps > Step 14: (Optional) Configure and Deploy the Remote Access VPN Client.
In the example above:
- Office Mode –10.9.10.0/24
- Encryption Domain – 10.9.2.0/24
To Configure Remote Access VPN to a Single Gateway:
-
Enter to SmartConsole's Gateways & Servers:

-
Double click on the Gateway object
-
Enable IPSec VPN blade in Gateway creation main page

-
Add the Gateway to RemoteAccess VPN community

-
Set Office Mode - static office-mode pool with "hide behind Nat":
-
This is a network that is not currently used (nor in the future).
-
The users who will use this remote access VPN will get a private IP from this scope

-
Make sure to hide those IP addresses behind the Gateway's IP:

-
Set the pool in the Gateway’s object -> VPN Clients -> Office Mode:
-
Allow Office Mode to all users
-
Add static office mode pool

-
Alternative for static office mode pool – Automatic DHCP
-
Allow Office Mode to all users
-
Add automatic DHCP
-
Virtual IP address for DHCP server replies should be the internal NIC of the Gateway

-
If you use a version lower than R81.10:
In Remote Access need to set the Support Visitor Mode

-
Setup Link selection properly (needed in Public Cloud)
Statically NATed IP: The Gateway public IP

-
Create a network group consisting of:
-
The client's subnet - internal network of the Gateway
-
Public IP of the Gateway (as type: host)
-
The private DNS server: 168.63.129.16
Note: This IP enables communication with the DNS virtual server to provide filtered name resolution to the resources (such as VM) that do not have a custom DNS server.
This unique public IP address is owned by Microsoft and will not change.


-
Set it as the VPN domain:

-
Configuring a VPN Client

-
Select default

-
Enter username:

-
Set Password:

-
Enter Check Point's Endpoint Security:

-
Select Remote Access VPN and enter user details you configured:

Now you can log in to your PaaS instance.
(5) Limitations
Show / Hide this section
- Source NAT must be used (in West-East traffic)
- UDR and NSG configurations don't have effects on private endpoints.
- UDR implemented on user/client subnet must use the private endpoint IP address as destination (a.b.c.d/32)
- You can not configure more than one PaaS instance to the same private endpoint.
- A PaaS instance can be attached to multiple private endpoints; therefore, it is essential to make sure that other private endpoint access if configured, is inspected.
|
This solution has been verified for the specific scenario, described by the combination of Product, Version and Symptoms. It may not work in other scenarios.
|