Home / Security / SSL VPN / SSL VPN to my home network

SSL VPN to my home network

In this blog let’s try to connect to a home network from outside (internet) in a secure manner using SSL.

NAT and PAT

NAT and PAT is what allowed local IP addresses translation or mapping to some routable public IP address (over the internet). This mapping can be one to one (NAT) or many to one (PAT or overload).

From the inside to the outside,

Using only my Box (FTTH), I’m able to access my home network (box Lan subnet) by simple NAT redirection from any internet location. More precisely, I connect to as many hosts, residing in my home network, as many redirection rules allowed on my box.

My box supports only an overload NAT of my inside local addresses. To access internet any local host maps to the external public address using PAT. Returning traffic is matched to the opened ports for PAT operation and sent to the correct local host.

Now initiate the connection from the outside

If I access my network from the outside using my inside global routable address on internet, using my unique public address, I have only the possibility to redirect application port to a local port and address that belongs to the subnet of clients, that is connected directly to LAN ports of my box.

To access from a remote location I use my smartphone that is configured to share via Wifi it’s 4G mobile internet access. The only difference is that NAT is done by access provider (not the smartphone). The only way to get the public internet routable address used to NAT my smartphone trafic is to capture (wireshark) all incoming trafic at the destination (my Box).

Lab setup

The network topology is described in Figure. 1.

Figure. 1: Network topology

Any man in the middle could intercept Client to Server communication. To secure this communication, I create an overlay VPN between the Client and Server.

My Fortigate 60C firewall offers two possibilities: IPSec site-to-site VPN, or SSL VPN. Here for simplicity I choose to work with SSL VPN. Because SSL VPN build on TCP layer (more exactly over TLS) and there’s no need to secure IP layer, NAT is not a problem. In other scenarios, IPSec would be a better choice.

Firewall and client configuration for VPN SSL operation

In Figure. 2, we show how the VPN is implemented. The Client / Server communication (in blue) is embedded into the secured tunnel (in red) established between the VPN client software, FortiClient VPN 6.2.0, and the security gateway (firewall), FortiOS 5.2.4.

Figure. 2: VPN topology

The firewall configuration is straight forward:

  • trafic from the client should be allowed by the firewall
  • the firewall should be configured to listen to VPN protocol on the interface facing the client
  • by default the protocol is listening on port 443
  • in tunnel mode, we configure the address range the clients receive upon successful tunnel establishment. This vpn address is what a vpn client uses to access the server or other networks behind the firewall.
  • an authentication policy must be configured to allow the clients build the tunnel
  • after tunnel establishment, a route must be added to the firewall to indicate what address range is attached of the ssl.root vpn interface
  • at the end, trafic from vpn clients to destination firewall zones must be allowed and NATed (to ease routing effort)

Troubleshooting

For troubleshooting purpose, we use wireshark in client PC to confirm that the vpn client-side TLS protocol exchange and response from the server if any. The client vpn has a debug utility to trace tunnel establishment steps. On windows it is necessary to check routing table to confirm that a default route is installed with a better metric and that points to the security gateway.

At server side, we may capture the trafic exiting the box and arriving to the firewall. A “diagnose debug application sslvpn”, enables debugging of SSL VPN. A “diagnose debug flow”, may help spot routing issues upon tunnel successful establishment.

Further

We’ve seen how straight forward the configuration of a VPN: a secure way to connect to my home servers from outside (internet). NAT is necessary to connect my PC (on internet) to my server (using local ip address that is not routage on internet). After the routing is established, it’s time to configure the VPN gateway (server side) to accept VPN tunnel requests from the client (piece of software) installed on my computer.

We can deepen more our understanding of the offered features (by the Fortigate 60C) to find a way to add performance to our setup and more security. We could investigate for example, the advantage of implementing DTLS option. For information, DTLS allows the SSL VPN to encrypt traffic using TLS over UDP instead of TCP (which is heavy but more reliable in case of poor network condition). Find out the most secure client authentication and traffic encryption method supported by this implementation of SSL VPN and the impact of this feature on the quality of service.

Tagged:

Leave a Reply

802.11 (4) application (2) architecture (4) asm (4) automatisation (2) cagd (3) chd (2) cisco (6) command (5) controller (1) cost (6) coverage (5) debug (10) distance (6) dtls (2) dynamic rrm (5) firewall (2) fortinet (2) ieee (4) igmp (5) igp (8) interference (2) internet (3) ip (2) logique (2) loop (5) mac (3) machine learning (3) meraki (1) model (2) mpls (3) mroute (4) multicast (5) nat (2) ndp (2) network (3) next-hop (5) nurbs (3) osi (6) pat (2) pim (4) poisoning (6) projet (2) qos (2) radio (5) rib (5) rip (5) route (6) router (6) routing (15) rpf (4) rrm (10) security (3) show (5) simulation (2) sla (2) snr (2) solution (2) split-horizon (5) sql (1) ssl (2) ssm (4) static (6) stp (2) summarization (5) tcp (2) translation (1) travail (2) udp (2) vpn (3) vrf (3) wifi (11) wireshark (2) wlan (7) wlc (5)

  • Book presentation: dRRMize your WIFI… and get your head out of the box!
    In this post we present the work accessible via this link: dRRMize your WIFI… and get your head out of the box!, about radio ressources managmenet in a WLAN entreprise network. RRM or Radio Ressource Management being fundamental to the operation any unified wireless network and a master piece of any WLC (the Wlan controller).
  • vPC vs VSS
    Si l’objectif “historique” est le même : s’affranchir de la limitation de STP (blocage de ports pour prévenir les boucles), de l’usage des FHRP (HSRP, VRRP) pour équilibrer les liens, d’augmenter les performances en débit et capacité de calcul, d’éliminer les SPOF liés à l’utilisation d’un seul châssis ou stack de switches… les implémentations du
  • Présentation de livre: D.A.T(er) comme un professionnel, un Architecte…
    Dans ce blog, je présente ce travail sur le DAT ou Dossier d’architecture technique d’un point de vue d’un architecte réseau et services (sécurité, qualité de service, gestion d’infrastructure). Le lien vers le travail complet est: D.A.T(er) comme un professionnel, un Architecte… Le DAT… Le dossier d’architecture technique ou DAT s’inscrit en amont dans le
  • Book presentation: La dRRM du WiFi… en action!
    Ce blog présente le travail que vous pouvez retrouver sous le lien: La dRRM du WiFi… en action!, concernant la gestion des ressources radio dans un réseau wifi. La gestion des ressrouces radio ou RRM qui est au coeur de tout développement ou conception d’architecture wifi (d’entreprise ou publique). La RRM commen processus ou module
  • From router configuration to Excel… a basic how to automate configuration work process!
    comment récupérer une certaine information d’un fichier de configuration (routeur IOS de Cisco par exemple) et la mettre dans un fichier Excel en vue d’un traitement plus avancé ce traitement peut être simplement de comparer cette information de plusieurs sources (du routeur et du pare-feu, par exemple) à titre d’exemple nous souhaitons vérifier que les
September 2025
M T W T F S S
1234567
891011121314
15161718192021
22232425262728
2930  
Table of Contents
Copied!