Jump to content

Virtual private network

From Niidae Wiki
Revision as of 16:56, 3 May 2025 by imported>Billjones94
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Template:Short description Template:Redirect Template:Use dmy dates Template:Use American English

Virtual private network (VPN) is a network architecture for virtually extending a private network (i.e. any computer network which is not the public Internet) across one or multiple other networks which are either untrusted (as they are not controlled by the entity aiming to implement the VPN) or need to be isolated (thus making the lower network invisible or not directly usable).<ref name="NIST">Template:Cite web</ref>

A VPN can extend access to a private network to users who do not have direct access to it, such as an office network allowing secure access from off-site over the Internet.<ref name="Cisco">Template:Cite web</ref> This is achieved by creating a link between computing devices and computer networks by the use of network tunneling protocols.

It is possible to make a VPN secure to use on top of insecure communication medium (such as the public internet) by choosing a tunneling protocol that implements encryption. This kind of VPN implementation has the benefit of reduced costs and greater flexibility, with respect to dedicated communication lines, for remote workers.<ref>Template:Cite book</ref>

The term VPN is also used to refer to VPN services which sell access to their own private networks for internet access by connecting their customers using VPN tunneling protocols.

Motivation

[edit]

The goal of a virtual private network is to allow network hosts to exchange network messages across another network to access private content, as if they were part of the same network. This is done in a way that makes crossing the intermediate network transparent to network applications. Users of a network connectivity service may consider such an intermediate network to be untrusted, since it is controlled by a third-party, and might prefer a VPN implemented via protocols that protect the privacy of their communication.

In the case of a Provider-provisioned VPN, the goal is not to protect against untrusted networks, but to isolate parts of the provider's own network infrastructure in virtual segments, in ways that make the contents of each segment private with respect to the others. This situation makes many other tunneling protocols suitable for building PPVPNs, even with weak or no security features (like in VLAN).

VPN general working

[edit]

How a VPN works depends on which technologies and protocols the VPN is built upon. A tunneling protocol is used to transfer the network messages from one side to the other. The goal is to take network messages from applications on one side of the tunnel and replay them on the other side. Applications do not need to be modified to let their messages pass through the VPN, because the virtual network or link is made available to the OS.

Applications that do implement tunneling or proxying features for themselves without making such features available as a network interface, are not to be considered VPN implementations but may achieve the same or similar end-user goal of exchanging private contents with a remote network.

VPN topology configurations

[edit]
File:VPN classification-en.svg
VPN classification tree based on the topology first, then on the technology used
File:Virtual Private Network overview.svg
VPN connectivity overview, showing intranet site-to-site and remote-work configurations used together

Virtual private networks configurations can be classified depending on the purpose of the virtual extension, which makes different tunneling strategies appropriate for different topologies:

Remote access
A host-to-network configuration is analogous to joining one or more computers to a network to which they cannot be directly connected. This type of extension provides that computer access to local area network of a remote site, or any wider enterprise networks, such as an intranet. Each computer is in charge of activating its own tunnel towards the network it wants to join. The joined network is only aware of a single remote host for each tunnel. This may be employed for remote workers, or to enable people accessing their private home or company resources without exposing them on the public Internet. Remote access tunnels can be either on-demand or always-on. Because the remote host location is usually unknown to the central network until the former tries to reach it, proper implementations of this configuration require the remote host to initiate the communication towards the central network it is accessing.
Site-to-site
A site-to-site configuration connects two networks. This configuration expands a network across geographically disparate locations. Tunneling is only done between gateway devices located at each network location. These devices then make the tunnel available to other local network hosts that aim to reach any host on the other side. This is useful to keep sites connected to each other in a stable manner, like office networks to their headquarters or datacenter. In this case, any side may be configured to initiate the communication as long as it knows how to reach the other.

In the context of site-to-site configurations, the terms intranet and extranet are used to describe two different use cases.<ref>Template:Cite IETF</ref> An intranet site-to-site VPN describes a configuration where the sites connected by the VPN belong to the same organization, whereas an extranet site-to-site VPN joins sites belonging to multiple organizations.

Typically, individuals interact with remote access VPNs, whereas businesses tend to make use of site-to-site connections for business-to-business, cloud computing, and branch office scenarios. However, these technologies are not mutually exclusive and, in a significantly complex business network, may be combined.

Apart from the general topology configuration, a VPN may also be characterized by:

  • the tunneling protocol used to tunnel the traffic,
  • the tunnel's termination point location, e.g., on the customer edge or network-provider edge,
  • the security features provided,
  • the OSI layer they present to the connecting network, such as Layer 2 link/circuit or Layer 3 network connectivity,
  • the number of simultaneous allowed tunnels,
  • the relationship between the actor implementing the VPN and the network infrastructure provider, and whether the former trusts the medium of the former or not

A variety of VPN technics exist to adapt to the above characteristics, each providing different network tunneling capabilities and different security model coverage or interpretation.

VPN native and third-party support

[edit]

Operating systems vendors and developers do typically offer native support to a selection of VPN protocols. These are subject to change over the years, as some have been proven to be unsecure with respect to modern requirements and expectations, and others have emerged.

VPN support in consumer operating systems

[edit]

Desktop, smartphone and other end-user device operating systems usually support configuring remote access VPN from their graphical or command-line tools.<ref>Template:Cite web</ref><ref>Template:Cite web</ref><ref>Template:Cite web</ref> However, due to the variety of, often non standard, VPN protocols there exists many third-party applications that implement additional protocols not yet or no longer natively supported by the OS.

For instance, Android lacked native IPsec IKEv2 support until version 11,<ref>Template:Cite web</ref> and users needed to install third-party apps in order to connect that kind of VPN. Conversely, Windows does not natively support plain IPsec IKEv1 remote access native VPN configuration (commonly used by Cisco and Fritz!Box VPN solutions).

VPN support in network devices

[edit]

Network appliances, such as firewalls, do often include VPN gateway functionality for either remote access or site-to-site configurations. Their administration interfaces do often facilitate setting up virtual private networks with a selection of supported protocols which have been integrated for an easy out-of-box setup.

In some cases, like in the open source operating systems devoted to firewalls and network devices (like OpenWrt, IPFire, PfSense or OPNsense) it is possible to add support for additional VPN protocols by installing missing software components or third-party apps.

Similarly, it is possible to get additional VPN configurations working, even if the OS does not facilitate the setup of that particular configuration, by manually editing internal configurations of by modifying the open source code of the OS itself. For instance, pfSense does not support remote access VPN configurations through its user interface where the OS runs on the remote host, while provides comprehensive support for configuring it as the central VPN gateway of such remote-access configuration scenario.

Otherwise, commercial appliances with VPN features based on proprietary hardware/software platforms, usually support a consistent VPN protocol across their products but do not open up for customizations outside the use cases they intended to implement. This is often the case for appliances that rely on hardware acceleration of VPNs to provide higher throughput or support a larger amount of simultaneously connected users.

Security mechanisms

[edit]

Whenever a VPN is intended to virtually extend a private network over a third-party untrusted medium, it is desirable that the chosen protocols match the following security model:

VPN are not intended to make connecting users anonymous or unidentifiable from the untrusted medium network provider perspective. If the VPN makes use of protocols that do provide those confidentiality features, their usage can increase user privacy by making the untrusted medium owner unable to access the private data exchanged across the VPN.

Authentication

[edit]

In order to prevent unauthorized users from accessing the VPN, most protocols can be implemented in ways that also enable authentication of connecting parties. This secures the joined remote network confidentiality, integrity and availability.

Tunnel endpoints can be authenticated in various ways during the VPN access initiation. Authentication can happen immediately on VPN initiation (e.g. by simple whitelisting of endpoint IP address), or very lately after actual tunnels are already active (e.g. with a web captive portal).

Remote-access VPNs, which are typically user-initiated, may use passwords, biometrics, two-factor authentication, or other cryptographic methods. People initiating this kind of VPN from unknown arbitrary network locations are also called "road-warriors". In such cases, it is not possible to use originating network properties (e.g. IP addresses) as secure authentication factors, and stronger methods are needed.

Site-to-site VPNs often use passwords (pre-shared keys) or digital certificates. Depending on the VPN protocol, they may store the key to allow the VPN tunnel to establish automatically, without intervention from the administrator.

VPN protocols to highlight

[edit]
File:IPSec VPN-en.svg
The life cycle phases of an IPSec tunnel in a virtual private network

A virtual private network is based on a tunneling protocol, and may be possibly combined with other network or application protocols providing extra capabilities and different security model coverage.

Trusted delivery networks

[edit]

Trusted VPNs do not use cryptographic tunneling; instead, they rely on the security of a single provider's network to protect the traffic.<ref>Template:Cite book </ref>

From a security standpoint, a VPN must either trust the underlying delivery network or enforce security with a mechanism in the VPN itself. Unless the trusted delivery network runs among physically secure sites only, both trusted and secure models need an authentication mechanism for users to gain access to the VPN.Template:Fact

VPNs in mobile environments

[edit]

Mobile virtual private networks are used in settings where an endpoint of the VPN is not fixed to a single IP address, but instead roams across various networks such as data networks from cellular carriers or between multiple Wi-Fi access points without dropping the secure VPN session or losing application sessions.<ref name="Phifer">Phifer, Lisa. "Mobile VPN: Closing the Gap" Template:Webarchive, SearchMobileComputing.com, 16 July 2006. </ref> Mobile VPNs are widely used in public safety where they give law-enforcement officers access to applications such as computer-assisted dispatch and criminal databases,<ref>Willett, Andy. "Solving the Computing Challenges of Mobile Officers" Template:Webarchive, www.officer.com, May, 2006. </ref> and in other organizations with similar requirements such as field service management and healthcare.<ref name="Cheng">Cheng, Roger. "Lost Connections" Template:Webarchive, The Wall Street Journal, 11 December 2007. </ref>Template:Qn

Networking limitations

[edit]

A limitation of traditional VPNs is that they are point-to-point connections and do not tend to support broadcast domains; therefore, communication, software, and networking, which are based on layer 2 and broadcast packets, such as NetBIOS used in Windows networking, may not be fully supported as on a local area network. Variants on VPN such as Virtual Private LAN Service (VPLS) and layer 2 tunneling protocols are designed to overcome this limitation.<ref>Template:Cite web</ref>

Template:Anchor

See also

[edit]

Template:Portal bar Template:Div col

Template:Div col end

References

[edit]

Template:Reflist

Further reading

[edit]

Template:VPN Template:Cryptographic software Template:Internet censorship circumvention technologies