Fortinet white logo
Fortinet white logo

Administration Guide

ZTNA service connector NEW

ZTNA service connector NEW

In certain environments, we may want to prevent users from accessing the FortiGate ZTNA access proxy directly or expose ports and services on the FortiGate to the public. In these scenarios, another layer of ZTNA proxy may be required to serve as the ZTNA Edge.

The FortiGate can act as a ZTNA service connector to reverse proxy service connections upstream to the ZTNA Edge. In this scenario, the ZTNA Edge may be a FortiPAM or FortiProxy which acts as the ZTNA access proxy to the end users. The FortiGate, as the ZTNA service connector, forms a persistent control connection with ZTNA Edge. The ZTNA Edge forwards connection requests through the control tunnel to the FortiGate ZTNA service connector, which proxies the request to the protected server.

The ZTNA Edge in this scenario completes the ZTNA checks and enforces the ZTNA policy. If the connection is allowed, the request is forwarded to the ZTNA service connector.

The ZTNA service connector is responsible for proxying the connection and establishing a data connection back to the ZTNA Edge to forward the response. This effectively forms a proxy chain where the FortiGate service connector provides reverse proxy connection back to the ZTNA Edge.

Usage

CLI syntax

The following CLI settings configure the connection with the ZTNA Edge:

config ztna reverse-connector
    edit <name>
        set address <IP or FQDN address>
        set port <port number>
        set certificate <local certificate>
        set trusted-server-ca <CA certificate>
    next
end

Field

Description

address <IP or FQDN address>

Address of the ZTNA Edge

port <port number>

The port number for connecting to the ZTNA Edge

certificate <local certificate>

The local client certificate used for mTLS negotiation

trusted-server-ca <CA certificate>

The root CA certificate to authenticate the mTLS connection

GUI settings

  1. Go to System > Feature Visibility and enable Zero Trust Network Access and ZTNA Reverse Proxy Connector.

  2. Go to Policy & Objects > ZTNA and select the Traffic Forwarding tab.

  3. Select the Reverse Proxy Connector sub-menu and click Create New.

  4. Configure the following, then click OK:

    Field

    Description

    Name

    Name of the connector

    Address

    IP or FQDN Address of the ZTNA Edge

    Port

    The port number for connecting to the ZTNA Edge

    CA certificate

    The root CA certificate to authenticate the mTLS connection

    Default certificate

    The local client certificate used for mTLS negotiation

Example

In the example topology shown in the introduction, we will configure a TCP forwarding destination on the FortiGate service connector to allow RDP connection to the Server (172.18.62.213). We will also configure a ZTNA reverse-connector to connect to the upstream FortiPAM.

The FortiPAM will follow the FortiPAM server (ZTNA Edge) configuration as illustrated in the Configuring FortiPAM/FortiGate as reverse gateway example. We will configure a secret on the FortiPAM server to allow users to RDP into the Server.

Alternatively, if deploying using a FortiProxy on the ZTNA Edge, follow the FortiProxy as reverse proxy to service connector example in the FortiProxy admin guide.

To configuring the reverse proxy connection in the FortiOS GUI:
  1. Go to System > Feature Visibility and enable Zero Trust Network Access and ZTNA Reverse Proxy Connector.

  2. Go to Policy & Objects > ZTNA and select the Traffic Forwarding tab.

  3. Select the Reverse Proxy Connector sub-menu and click Create New.

  4. Configure the following:

    Field

    Description

    Name

    Fpam

    Address

    172.16.200.234

    Port

    8443

    CA certificate

    CSF_CA_Cert_2

    Default certificate

    mTLS_rev_conn
  5. Click OK

To configure the ZTNA reverse-connector in the FortiOS CLI:
config ztna reverse-connector
    edit "fpam"
        set address "172.16.200.234"
        set port 8443
        set certificate "mTLS_rev_conn"
        set trusted-server-ca "CSF_CA_Cert__2"
    next
end
To configure the TCP forwarding proxy, destination, and rules in the FortiOS CLI:
config firewall vip
    edit "vip"
        set type access-proxy
        set server-type https
        set extip 10.1.100.2
        set extintf "port2"
        set client-cert disable
        set extport 4443
        set ssl-certificate "Fortinet_SSL"
    next
end
config ztna traffic-forward-proxy
    edit "ztfp"
        set vip "vip"
    next
end
config firewall address
    edit "to_server_214"
        set subnet 172.18.62.214 255.255.255.255
    next
end
config ztna destination
    edit "RDP_214"
        set address "to_server_214"
        set mappedport 3389 
    next
end
config firewall proxy-policy
    edit 1
        set proxy ztna-proxy
        set ztna-proxy "ztfp"
        set ztna-destination "RDP_214"
        set srcintf "any"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set logtraffic all
        set srcaddr6 "all"
        set dstaddr6 "all"
        set utm-status enable
        set profile-protocol-options "protocol"
    next
end
To configure the FortiPAM ZTNA Edge:
  1. On the FortiPAM, go to Network > Secret Gateway > Reverse Service.

  2. Enable the service and enter the server settings.

  3. Click Save.

  4. Under Network > Secret Gateway, create a new Gateway.

  5. Enter the settings below and input the FortiGate VIP address to identify the desired gateway.

    For the Gateway ID, enter the CN string from the FortiGate client certificate (mTLS_rev_conn in this example).

  6. Save and view the Gateway from the Gateway List.

  7. Go to Secrets > Targets and define a Target using this Gateway. Enter the address of the Server as the Domain-Controller and select the Gateway that was created earlier.

  8. Go to Secrets > Secrets and define a Secret using this Target.

  9. Save the settings.

To access the server through RDP:

On the Windows Client, you can login to the FortiPAM as a user, then access a secret from the FortiPAM portal. The client itself will not directly connect to the server itself. In fact, the FortiPAM will not initiate a connection to the server or the ZTNA service connector. It is the FortiGate ZTNA service connector which initiates the control channel and data channel to the FortiPAM to facilicate the communications.

On the client, use the Web RDP button from the FortiPAM GUI to RDP to the server.

ZTNA service connector NEW

ZTNA service connector NEW

In certain environments, we may want to prevent users from accessing the FortiGate ZTNA access proxy directly or expose ports and services on the FortiGate to the public. In these scenarios, another layer of ZTNA proxy may be required to serve as the ZTNA Edge.

The FortiGate can act as a ZTNA service connector to reverse proxy service connections upstream to the ZTNA Edge. In this scenario, the ZTNA Edge may be a FortiPAM or FortiProxy which acts as the ZTNA access proxy to the end users. The FortiGate, as the ZTNA service connector, forms a persistent control connection with ZTNA Edge. The ZTNA Edge forwards connection requests through the control tunnel to the FortiGate ZTNA service connector, which proxies the request to the protected server.

The ZTNA Edge in this scenario completes the ZTNA checks and enforces the ZTNA policy. If the connection is allowed, the request is forwarded to the ZTNA service connector.

The ZTNA service connector is responsible for proxying the connection and establishing a data connection back to the ZTNA Edge to forward the response. This effectively forms a proxy chain where the FortiGate service connector provides reverse proxy connection back to the ZTNA Edge.

Usage

CLI syntax

The following CLI settings configure the connection with the ZTNA Edge:

config ztna reverse-connector
    edit <name>
        set address <IP or FQDN address>
        set port <port number>
        set certificate <local certificate>
        set trusted-server-ca <CA certificate>
    next
end

Field

Description

address <IP or FQDN address>

Address of the ZTNA Edge

port <port number>

The port number for connecting to the ZTNA Edge

certificate <local certificate>

The local client certificate used for mTLS negotiation

trusted-server-ca <CA certificate>

The root CA certificate to authenticate the mTLS connection

GUI settings

  1. Go to System > Feature Visibility and enable Zero Trust Network Access and ZTNA Reverse Proxy Connector.

  2. Go to Policy & Objects > ZTNA and select the Traffic Forwarding tab.

  3. Select the Reverse Proxy Connector sub-menu and click Create New.

  4. Configure the following, then click OK:

    Field

    Description

    Name

    Name of the connector

    Address

    IP or FQDN Address of the ZTNA Edge

    Port

    The port number for connecting to the ZTNA Edge

    CA certificate

    The root CA certificate to authenticate the mTLS connection

    Default certificate

    The local client certificate used for mTLS negotiation

Example

In the example topology shown in the introduction, we will configure a TCP forwarding destination on the FortiGate service connector to allow RDP connection to the Server (172.18.62.213). We will also configure a ZTNA reverse-connector to connect to the upstream FortiPAM.

The FortiPAM will follow the FortiPAM server (ZTNA Edge) configuration as illustrated in the Configuring FortiPAM/FortiGate as reverse gateway example. We will configure a secret on the FortiPAM server to allow users to RDP into the Server.

Alternatively, if deploying using a FortiProxy on the ZTNA Edge, follow the FortiProxy as reverse proxy to service connector example in the FortiProxy admin guide.

To configuring the reverse proxy connection in the FortiOS GUI:
  1. Go to System > Feature Visibility and enable Zero Trust Network Access and ZTNA Reverse Proxy Connector.

  2. Go to Policy & Objects > ZTNA and select the Traffic Forwarding tab.

  3. Select the Reverse Proxy Connector sub-menu and click Create New.

  4. Configure the following:

    Field

    Description

    Name

    Fpam

    Address

    172.16.200.234

    Port

    8443

    CA certificate

    CSF_CA_Cert_2

    Default certificate

    mTLS_rev_conn
  5. Click OK

To configure the ZTNA reverse-connector in the FortiOS CLI:
config ztna reverse-connector
    edit "fpam"
        set address "172.16.200.234"
        set port 8443
        set certificate "mTLS_rev_conn"
        set trusted-server-ca "CSF_CA_Cert__2"
    next
end
To configure the TCP forwarding proxy, destination, and rules in the FortiOS CLI:
config firewall vip
    edit "vip"
        set type access-proxy
        set server-type https
        set extip 10.1.100.2
        set extintf "port2"
        set client-cert disable
        set extport 4443
        set ssl-certificate "Fortinet_SSL"
    next
end
config ztna traffic-forward-proxy
    edit "ztfp"
        set vip "vip"
    next
end
config firewall address
    edit "to_server_214"
        set subnet 172.18.62.214 255.255.255.255
    next
end
config ztna destination
    edit "RDP_214"
        set address "to_server_214"
        set mappedport 3389 
    next
end
config firewall proxy-policy
    edit 1
        set proxy ztna-proxy
        set ztna-proxy "ztfp"
        set ztna-destination "RDP_214"
        set srcintf "any"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set logtraffic all
        set srcaddr6 "all"
        set dstaddr6 "all"
        set utm-status enable
        set profile-protocol-options "protocol"
    next
end
To configure the FortiPAM ZTNA Edge:
  1. On the FortiPAM, go to Network > Secret Gateway > Reverse Service.

  2. Enable the service and enter the server settings.

  3. Click Save.

  4. Under Network > Secret Gateway, create a new Gateway.

  5. Enter the settings below and input the FortiGate VIP address to identify the desired gateway.

    For the Gateway ID, enter the CN string from the FortiGate client certificate (mTLS_rev_conn in this example).

  6. Save and view the Gateway from the Gateway List.

  7. Go to Secrets > Targets and define a Target using this Gateway. Enter the address of the Server as the Domain-Controller and select the Gateway that was created earlier.

  8. Go to Secrets > Secrets and define a Secret using this Target.

  9. Save the settings.

To access the server through RDP:

On the Windows Client, you can login to the FortiPAM as a user, then access a secret from the FortiPAM portal. The client itself will not directly connect to the server itself. In fact, the FortiPAM will not initiate a connection to the server or the ZTNA service connector. It is the FortiGate ZTNA service connector which initiates the control channel and data channel to the FortiPAM to facilicate the communications.

On the client, use the Web RDP button from the FortiPAM GUI to RDP to the server.