Common Protocols for Virtual Private Networks (VPNs)
Overview
Maintaining the security of internal data as well as the data of clients or customers is an important part of any organization's operations. In the last few years, many organizations that didn't take information security seriously have been hacked, with the stolen data openly released—or sold to opposing parties. These incidents have been happening for years; the only difference is that lately they have been more visible, and they have affected the information of many more people.
One way of protecting data as it passes between internal and remote locations is by implementing a virtual private network (VPN). VPNs have been around for a long time (over 20 years) and have been used in two primary ways: protecting the data from a host machine to a central location (client to network), or protecting the data from one organizational network to another (network to network). Both types of VPN have been implemented over the public Internet. This article reviews some of the most common VPN types and discusses how they are typically implemented.
Generic Routing Encapsulation (GRE)
The concept of Generic Routing Encapsulation (GRE) has been around for more than 20 years. GRE is a common solution to transport the information from one network to another. The idea behind GRE is to offer a method of transporting information over an Internet Protocol (IP) medium. The protocol that is passed over the GRE tunnel can be one of several supported protocols, including the ability to transport IP inside a GRE/IP tunnel. It can also transport a number of protocols, including IPv4, IPv6, or AppleTalk, among others, with IP and IPv6 being the most common.
Typical configurations of GRE are between two endpoints in a point-to-point style. The main disadvantage of GRE is that it doesn't support any type of security (namely incryption), and the tunneled information can easily be "sniffed" with common software. However, modern implementations of GRE have extended these common initial configurations, with many VPNs utilizing GRE as part of an implementation of multiple VPN technologies. One popular implementation is to use multipoint GRE with the Next Hop Resolution Protocol (NHRP) and IP Security (IPSec).
IP Security (IPSec)
IP Security (IPSec) has been around as a concept for about as long as GRE and is used to provide a secure communications channel through an existing IP network. IPSec itself is not a single protocol but rather a group of protocols that can be implemented in a number of ways, depending on the specific requirements of the situation.
The main capabilities of IPSec include several configurable security features:
- Confidentiality. An IPSec session can be configured to encrypt its contents, thus providing a method of sending information securely between endpoints.
- Integrity. An IPSec session can be configured to provide integrity protection, ensuring that the same information sent from the sender is received by the receiver.
- Authentication. An IPSec session can be configured to provide authentication, which ensures that the sender is the device/individual that it claims to be.
- Anti-relay protection. This feature prevents a hacker from collecting information from an IPSec session and "replaying" it to gain access to a secure location.
Point-to-Point Tunneling Protocol (PPTP)
The Point-to-Point Tunneling Protocol (PPTP) has been around since the late 1990s and was initially implemented heavily in Microsoft Windows products (from Windows 95 Update 1.3 forward). PPTP takes advantage of a few other protocols to provide a complete solution, including the Point-to-Point Protocol (PPP) and an enhanced version of GRE.
PPTP works by initially setting up a control channel, which is then used to create a data tunnel. This data tunnel is encapsulated with GRE, which carries a PPP frame; PPP supports carrying multiple protocols, including IP. It also supports authentication, encryption, and compression.
PPTP is one of the easiest protocols to use in terms of configuration, but it has a number of known weaknesses with regard to confidentiality. This is because PPTP primarily uses Microsoft Point-to-Point Encryption (MPPE) to support RC4 encryption, which has known vulnerabilities.
Secure Sockets Layer (SSL) VPN
One of the most talked-about VPN technologies recently has been SSL VPN; this is mainly due to a number of different evolutions in its implementation that make it easier to deploy and use. In the past, SSL VPN was mainly used to provide support via a centralized portal, which offered limited support for a specific set of protocols. Modern implementations offer the ability to support both client-based and clientless SSL VPN options; clientless deployments are more limited than their client-based alternatives, but much thinner to implement (nothing permanently loaded on the client).
The name Secure Sockets Layer (SSL) should be familiar to most tech-savvy Internet users, as it's one of the protocols used by web browsers and file-transfer clients to secure communications. SSL VPNs use this same technology to provide a secure channel for a wide variety of protocols. One of the main advantages of SSL VPNs over other alternatives is that it utilizes the same common protocol numbers that are used for secure web traffic. These ports are almost universally forwarded across all Internet connections, and therefore sessions will not be blocked (a problem with some of the other options discussed here).
Summary
The use of VPNs has continued to expand as Internet connections have become faster, more reliable, and more widely available. Many companies are moving their remote office connections from expensive leased-line connections to Internet-based VPN connections. This trend will most likely continue as speeds and connections continue to expand.
Every network engineer will be associated with the use of a VPN in some way, whether through personal use, working with company computers on secured networks, or in the implementation and maintenance of a VPN solution. Therefore it's vital that new network engineers be familiar with at least the most commonly implemented VPN solutions and understand generally how they work. As engineers move up the ladder of vendor certifications, they will need to continue their studies into VPN configuration as well.