Virtual Private Networks and IPSec
Download
Report
Transcript Virtual Private Networks and IPSec
Virtual Private Networks
and IPSec
ECE 4112
What is a VPN?
• VPN Stands for Virtual Private Network
• A method of ensuring private, secure
communication between hosts over an
insecure medium using tunneling
• Usually between geographically separate
locations, but doesn’t have to be
• Via tunneling and software drivers,
computer is logically directly connected to
a network that it is not physically a part of
ECE 4112 - Internetwork Security
Sidebar: What is tunneling?
• Putting one type of packet inside another
• Both parties must be aware of tunnel for
it to work
• Example in next slide - AppleTalk over IP
Tunnel
ECE 4112 - Internetwork Security
Example: AppleTalk over IP Tunnel
Internet
IP
Appletalk
Gateway
Old Macintosh
(AppleTalk Aware)
Appletalk
encapsulated inside
Appletalk
Gateway
(AppleTalk Aware)
ECE 4112 - Internetwork Security
Old Macintosh
What is a VPN? (cont…)
• Uses some means of encryption to secure
communications
IPSec
SSH
Software could be written to support any type
of encryption scheme
• Two main types of VPNs –
Remote-Access
Site-to-Site
ECE 4112 - Internetwork Security
What is a VPN? (cont…)
• Remote-Access
The typical example of this is a dial-up
connection from home or for a mobile worker,
who needs to connect to secure materials
remotely
• Site-to-Site
The typical example of this is a company that
has offices in two different geographical
locations, and wants to have a secure
network connection between the two
ECE 4112 - Internetwork Security
Remote-Access Example
Mobile User
VPN over Internet
Network A
VPN Enabled
Gateway
Home User
ECE 4112 - Internetwork Security
Site-to-Site Example
VPN over Internet
Network A
VPN Enabled
Gateway
VPN Enabled
Gateway
ECE 4112 - Internetwork Security
Network B
Why Use a VPN?
• Originally designed as inexpensive
alternative WAN over leased lines
• Now mostly used to securely connect
computers over the internet
• Convenient
• Lot’s of cheap and convenient protocols
are insecure (IP, 802.11, etc)
Can now communicate securely over these
insecure protocols
ECE 4112 - Internetwork Security
Why Use a VPN? (cont…)
• Example – it can simplify security
(what is about to be proposed is not the most secure thing in the world – so don’t
raise your hands and tell how you would make it more secure… it’s just an example)
Assume simple security policy with IP based access
management – for example, an FTP server with sitelicensed software on it for employees
Before VPN, complicated to allow access to FTP site
for telecommuters or traveling employees
– Train all employees to use SSH tunnel, etc…
After VPN, employees offsite can still connect using
an internal IP address
ECE 4112 - Internetwork Security
VPN Advantages
• Improved Security
• Consolidation of Scattered Resources
• Transparency to Users
If set up properly
• Reduced Cost (vs. Leased Lines)
ECE 4112 - Internetwork Security
VPN Disadvantages
•
•
•
•
Time Consuming Setup
Possibly Frustrating Troubleshooting
Interoperability with other Networks/VPNs
Small performance overhead
Should be negligible on today’s hardware
ECE 4112 - Internetwork Security
VPN Security
• In academic terms, VPN can provide
Confidentiality, Integrity, and Authenticity
• Security against determined hacker (read:
academic attacks) depends largely upon
underlying protocols used
• Assuming security of SSH, IPSec, or other
protocol used, should be secure
ECE 4112 - Internetwork Security
How are VPNs set up?
• Many different types of setup
• Vary in:
Amount of hardware used vs. amount of
software used
– All hardware based
– All software based
– Mixed
Amount of transparency to end-user
– Does the user even realize that they are using a
VPN?
ECE 4112 - Internetwork Security
How are VPNs set up? (cont…)
• The following is not an exhaustive list
Gateway to gateway
– Using two VPN aware Gateways
End host to gateway
– End host uses VPN Software
End host to end host
– Both hosts use software
End host to concentrator
ECE 4112 - Internetwork Security
How are VPNs set up? (cont…)
• SSH over PPP
• SSL over PPP
• Concentrator using IPSec
• Others (PPTP, L2TP, etc)
ECE 4112 - Internetwork Security
VPN via SSH & PPP
• Point-to-Point Protocol over a Secure Shell
connection
• Establishing a Network Connection
Establish an SSH connection
– VPN Client VPN Server
Each have PPP daemons that will
communicate through the SSH connection
Viola! A VPN CONNECTION!
ECE 4112 - Internetwork Security
VPN via SSL & PPP
• Point-to-Point Protocol over a Secure
Socket Layer connection
• Secure Socket Layer
Built-in support for Host Authentication
Certificates
ECE 4112 - Internetwork Security
VPN via SSL & PPP (cont…)
• Establishing a Network Connection
Initial Handshake for secure communication
“Hello” messages establish:
– SSL Version, support for Cipher suites, and some
random data
Key is determined separately from handshake
SSL Connection Complete!
Data transferred over the link
ECE 4112 - Internetwork Security
VPN via Concentrator
• What is a Concentrator?
Concentrator is NOT a gateway or firewall
Specialized device that accepts connections
from VPN peers
Authenticates clients
Enforces VPN security policies
Takes overhead of VPN management and
encryption off of gateways and local hosts
ECE 4112 - Internetwork Security
VPN via Concentrator (cont…)
• Steps to Establish VPN
Set up Concentrator (add users, specify
authentication mechanisms, set IP address
ranges, etc)
Install client software
Client runs software when wants to be on
VPN
ECE 4112 - Internetwork Security
Other Methods
• Point-to-Point Tunneling Protocol
Microsoft’s Implementation of VPN
Data is first encapsulated inside PPP packets
PPP packets are then encapsulated in GRE
packets and sent over the link
• PPTP uses two connections
One for the data being sent
Another for a control channel
ECE 4112 - Internetwork Security
Other Methods (cont…)
• Any technology can be used
Must have hardware or software to support it
• Another example: L2TP on Gateways
Layer 2 Tunneling Protocol
Supported by routers
If two routers support L2TP, and are properly
configured, then VPN is set up between routers
Transparent to end user
ECE 4112 - Internetwork Security
Intro to IPSec
• Created to add Authentication,
Confidentiality, and Integrity to IP traffic
• Designed to combat specific shortcomings
in IP
• IPSec is large and implementation is
complicated
• What follows is a high-level overview
• As will see in lab, need not be used only
as VPN technology – can be stand alone
ECE 4112 - Internetwork Security
Intro to IPSec (cont…)
• IP Sec ≠ VPN
IP Sec is a protocol used in many VPNs
• Two main modes
Transport
Tunnel
• Two main services
AH (Authentication Header protocol)
ESP (Encapsulating Security Protocol)
ECE 4112 - Internetwork Security
Intro to IPSec (cont…)
• Authentication Header protocol
Offers Authenticity and Integrity
Uses cryptographic hash
– Covers entire packet, including static header fields
If any part of original message changes, it
will be detected
Does not encrypt message
Can be used to authenticate –
– Prevents IP Spoofing
ECE 4112 - Internetwork Security
Intro to IPSec (cont…)
• Encapsulating Security Protocol
Provides Integrity and Confidentiality
Encrypts payload
If used in tunnel mode, encrypts original IP
header
ECE 4112 - Internetwork Security
Intro to IPSec (cont…)
• Transport Mode
Real IP Header
IP Options
IPSec Header
Payload (For example, TCP and Payload)
Could be either
ESP Header
Encrypts Over
Or
AH Header
Authenticates Over
ECE 4112 - Internetwork Security
Intro to IPSec (cont…)
• Tunnel Mode
GW IP Header
IPSec Header
Real IP Header
Payload (For example, TCP and Payload)
Could be either
Encrypts Over
ESP Header
Or
AH Header
Authenticates Over
ECE 4112 - Internetwork Security
Intro to IPSec (cont…)
• AH and ESP can be used together
Tunnel ESP through AH transport packets
• Want to protect cryptographic keys
• Internet Key Exchange protocol (IKE)
Secure way to exchange session keys based
on shared secret
Can also use certificates (public key
cryptography)
ECE 4112 - Internetwork Security
Resources
• Books:
Building Linux Virtual Private Networks
– Oleg Kolesnikov, Brian Hatch
Linux Server Hacks
– Rob Flickenger
Network Security
– Charlie Kaufman, Radia Perlman, Mike Speciner
ECE 4112 - Internetwork Security
Resources (cont…)
• Lecture Slides by Wenke Lee (see below)
• Websites:
http://vpn.shmoo.com/
http://www.tldp.org/HOWTO/VPN-HOWTO/
http://www.onlamp.com/lpt/a/3009
http://www.cisco.com/warp/public/471/how_vpn_wor
ks.shtml
http://www.cc.gatech.edu/classes/AY2004/cs4803_fal
l/ipsec_1.ppt
http://www.cc.gatech.edu/classes/AY2004/cs4803_fal
l/ipsec_2.ppt
ECE 4112 - Internetwork Security